Omit shebang lines on Windows (#1417)

This commit is contained in:
Casey Rodarmor 2022-11-19 12:38:41 -08:00 committed by GitHub
parent 56feaeedc3
commit e27e12ab1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 51 additions and 5 deletions

View File

@ -47,7 +47,7 @@ impl<'line> Shebang<'line> {
} }
pub(crate) fn include_shebang_line(&self) -> bool { pub(crate) fn include_shebang_line(&self) -> bool {
!matches!(self.interpreter_filename(), "cmd" | "cmd.exe") !cfg!(windows) && !matches!(self.interpreter_filename(), "cmd" | "cmd.exe")
} }
} }
@ -201,7 +201,14 @@ mod tests {
} }
#[test] #[test]
fn include_shebang_line_other() { #[cfg(not(windows))]
fn include_shebang_line_other_not_windows() {
assert!(Shebang::new("#!foo -c").unwrap().include_shebang_line()); assert!(Shebang::new("#!foo -c").unwrap().include_shebang_line());
} }
#[test]
#[cfg(windows)]
fn include_shebang_line_other_windows() {
assert!(!Shebang::new("#!foo -c").unwrap().include_shebang_line());
}
} }

View File

@ -1081,6 +1081,7 @@ test! {
stderr: "#!/bin/sh\necho hello\n", stderr: "#!/bin/sh\necho hello\n",
} }
#[cfg(not(windows))]
test! { test! {
name: shebang_line_numbers, name: shebang_line_numbers,
justfile: r#" justfile: r#"
@ -1100,6 +1101,36 @@ test! {
#!/usr/bin/env cat #!/usr/bin/env cat
a
b
c
",
}
#[cfg(windows)]
test! {
name: shebang_line_numbers,
justfile: r#"
quiet:
#!/usr/bin/env cat
a
b
c
"#,
stdout: "
a a
b b

View File

@ -24,13 +24,21 @@ fn test_tempdir_is_set() {
} }
}) })
.current_dir("foo") .current_dir("foo")
.stdout( .stdout(if cfg!(windows) {
"
cat just*/foo
"
} else {
" "
#!/usr/bin/env bash #!/usr/bin/env bash
cat just*/foo cat just*/foo
", "
) })
.run(); .run();
} }