Convert run_shebang into integration test (#1880)
This commit is contained in:
parent
d1e2ef788f
commit
5a36e685e5
@ -565,36 +565,6 @@ mod tests {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test exists to make sure that shebang recipes run correctly. Although
|
|
||||||
// this script is still executed by a shell its behavior depends on the value of
|
|
||||||
// a variable and continuing even though a command fails, whereas in plain
|
|
||||||
// recipes variables are not available in subsequent lines and execution stops
|
|
||||||
// when a line fails.
|
|
||||||
run_error! {
|
|
||||||
name: run_shebang,
|
|
||||||
src: "
|
|
||||||
a:
|
|
||||||
#!/usr/bin/env sh
|
|
||||||
code=200
|
|
||||||
x() { return $code; }
|
|
||||||
x
|
|
||||||
x
|
|
||||||
",
|
|
||||||
args: ["a"],
|
|
||||||
error: Code {
|
|
||||||
recipe,
|
|
||||||
line_number,
|
|
||||||
code,
|
|
||||||
print_message,
|
|
||||||
},
|
|
||||||
check: {
|
|
||||||
assert_eq!(recipe, "a");
|
|
||||||
assert_eq!(code, 200);
|
|
||||||
assert_eq!(line_number, None);
|
|
||||||
assert!(print_message);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
run_error! {
|
run_error! {
|
||||||
name: code_error,
|
name: code_error,
|
||||||
src: "
|
src: "
|
||||||
|
@ -57,3 +57,26 @@ fn simple() {
|
|||||||
.stdout("bar\n")
|
.stdout("bar\n")
|
||||||
.run();
|
.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This test exists to make sure that shebang recipes run correctly. Although
|
||||||
|
// this script is still executed by a shell its behavior depends on the value of
|
||||||
|
// a variable and continuing even though a command fails, whereas in plain
|
||||||
|
// recipes variables are not available in subsequent lines and execution stops
|
||||||
|
// when a line fails.
|
||||||
|
#[test]
|
||||||
|
fn run_shebang() {
|
||||||
|
Test::new()
|
||||||
|
.justfile(
|
||||||
|
"
|
||||||
|
a:
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
code=200
|
||||||
|
x() { return $code; }
|
||||||
|
x
|
||||||
|
x
|
||||||
|
",
|
||||||
|
)
|
||||||
|
.status(200)
|
||||||
|
.stderr("error: Recipe `a` failed with exit code 200\n")
|
||||||
|
.run();
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user