2022-06-18 21:56:31 -07:00
|
|
|
use super::*;
|
2022-03-30 22:13:59 -07:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn runs_recipe_in_parent_if_not_found_in_current() {
|
|
|
|
Test::new()
|
|
|
|
.tree(tree! {
|
|
|
|
bar: {
|
|
|
|
justfile: "
|
|
|
|
baz:
|
|
|
|
echo subdir
|
|
|
|
"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.justfile(
|
|
|
|
"
|
|
|
|
foo:
|
|
|
|
echo root
|
|
|
|
",
|
|
|
|
)
|
|
|
|
.args(&["--unstable", "foo"])
|
|
|
|
.current_dir("bar")
|
|
|
|
.stderr(format!(
|
|
|
|
"
|
|
|
|
Trying ..{}justfile
|
|
|
|
echo root
|
|
|
|
",
|
|
|
|
MAIN_SEPARATOR
|
|
|
|
))
|
|
|
|
.stdout("root\n")
|
|
|
|
.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn print_error_from_parent_if_recipe_not_found_in_current() {
|
|
|
|
Test::new()
|
|
|
|
.tree(tree! {
|
|
|
|
bar: {
|
|
|
|
justfile: "
|
|
|
|
baz:
|
|
|
|
echo subdir
|
|
|
|
"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.justfile("foo:\n echo {{bar}}")
|
|
|
|
.args(&["--unstable", "foo"])
|
|
|
|
.current_dir("bar")
|
|
|
|
.stderr(format!(
|
|
|
|
"
|
|
|
|
Trying ..{}justfile
|
|
|
|
error: Variable `bar` not defined
|
|
|
|
|
|
|
|
|
2 | echo {{{{bar}}}}
|
|
|
|
| ^^^
|
|
|
|
",
|
|
|
|
MAIN_SEPARATOR
|
|
|
|
))
|
|
|
|
.status(EXIT_FAILURE)
|
|
|
|
.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn requires_unstable() {
|
|
|
|
Test::new()
|
|
|
|
.tree(tree! {
|
|
|
|
bar: {
|
|
|
|
justfile: "
|
|
|
|
baz:
|
|
|
|
echo subdir
|
|
|
|
"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.justfile(
|
|
|
|
"
|
|
|
|
foo:
|
|
|
|
echo root
|
|
|
|
",
|
|
|
|
)
|
|
|
|
.args(&["foo"])
|
|
|
|
.current_dir("bar")
|
|
|
|
.status(EXIT_FAILURE)
|
|
|
|
.stderr("error: Justfile does not contain recipe `foo`.\n")
|
|
|
|
.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn doesnt_work_with_search_directory() {
|
|
|
|
Test::new()
|
|
|
|
.tree(tree! {
|
|
|
|
bar: {
|
|
|
|
justfile: "
|
|
|
|
baz:
|
|
|
|
echo subdir
|
|
|
|
"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.justfile(
|
|
|
|
"
|
|
|
|
foo:
|
|
|
|
echo root
|
|
|
|
",
|
|
|
|
)
|
|
|
|
.args(&["--unstable", "./foo"])
|
|
|
|
.current_dir("bar")
|
|
|
|
.status(EXIT_FAILURE)
|
|
|
|
.stderr("error: Justfile does not contain recipe `foo`.\n")
|
|
|
|
.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn doesnt_work_with_justfile() {
|
|
|
|
Test::new()
|
|
|
|
.tree(tree! {
|
|
|
|
bar: {
|
|
|
|
justfile: "
|
|
|
|
baz:
|
|
|
|
echo subdir
|
|
|
|
"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.justfile(
|
|
|
|
"
|
|
|
|
foo:
|
|
|
|
echo root
|
|
|
|
",
|
|
|
|
)
|
|
|
|
.args(&["--unstable", "--justfile", "justfile", "foo"])
|
|
|
|
.current_dir("bar")
|
|
|
|
.status(EXIT_FAILURE)
|
|
|
|
.stderr("error: Justfile does not contain recipe `foo`.\n")
|
|
|
|
.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn doesnt_work_with_justfile_and_working_directory() {
|
|
|
|
Test::new()
|
|
|
|
.tree(tree! {
|
|
|
|
bar: {
|
|
|
|
justfile: "
|
|
|
|
baz:
|
|
|
|
echo subdir
|
|
|
|
"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.justfile(
|
|
|
|
"
|
|
|
|
foo:
|
|
|
|
echo root
|
|
|
|
",
|
|
|
|
)
|
|
|
|
.args(&[
|
|
|
|
"--unstable",
|
|
|
|
"--justfile",
|
|
|
|
"justfile",
|
|
|
|
"--working-directory",
|
|
|
|
".",
|
|
|
|
"foo",
|
|
|
|
])
|
|
|
|
.current_dir("bar")
|
|
|
|
.status(EXIT_FAILURE)
|
|
|
|
.stderr("error: Justfile does not contain recipe `foo`.\n")
|
|
|
|
.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn prints_correct_error_message_when_recipe_not_found() {
|
|
|
|
Test::new()
|
|
|
|
.tree(tree! {
|
|
|
|
bar: {
|
|
|
|
justfile: "
|
|
|
|
bar:
|
|
|
|
echo subdir
|
|
|
|
"
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.justfile(
|
|
|
|
"
|
|
|
|
bar:
|
|
|
|
echo root
|
|
|
|
",
|
|
|
|
)
|
|
|
|
.args(&["--unstable", "foo"])
|
|
|
|
.current_dir("bar")
|
|
|
|
.status(EXIT_FAILURE)
|
|
|
|
.stderr(format!(
|
|
|
|
"
|
|
|
|
Trying ..{}justfile
|
|
|
|
error: Justfile does not contain recipe `foo`.
|
|
|
|
",
|
|
|
|
MAIN_SEPARATOR,
|
|
|
|
))
|
|
|
|
.run();
|
|
|
|
}
|