just/tests/no_exit_message.rs

126 lines
2.0 KiB
Rust
Raw Permalink Normal View History

use super::*;
test! {
name: recipe_exit_message_suppressed,
justfile: r#"
# This is a doc comment
[no-exit-message]
hello:
@echo "Hello, World!"
@exit 100
"#,
stdout: "Hello, World!\n",
stderr: "",
status: 100,
}
test! {
name: silent_recipe_exit_message_suppressed,
justfile: r#"
# This is a doc comment
[no-exit-message]
@hello:
echo "Hello, World!"
exit 100
"#,
stdout: "Hello, World!\n",
stderr: "",
status: 100,
}
test! {
name: recipe_has_doc_comment,
justfile: r#"
# This is a doc comment
[no-exit-message]
hello:
@exit 100
"#,
args: ("--list"),
stdout: "
Available recipes:
hello # This is a doc comment
",
}
test! {
name: unknown_attribute,
justfile: r#"
# This is a doc comment
[unknown-attribute]
hello:
@exit 100
"#,
stderr: r#"
error: Unknown attribute `unknown-attribute`
justfile:2:2
2 [unknown-attribute]
^^^^^^^^^^^^^^^^^
"#,
status: EXIT_FAILURE,
}
test! {
name: empty_attribute,
justfile: r#"
# This is a doc comment
[]
hello:
@exit 100
"#,
stderr: r#"
error: Expected identifier, but found ']'
justfile:2:2
2 []
^
"#,
status: EXIT_FAILURE,
}
test! {
name: unattached_attribute_before_comment,
justfile: r#"
[no-exit-message]
# This is a doc comment
hello:
@exit 100
"#,
stderr: r#"
error: Expected '@', '[', or identifier, but found comment
justfile:2:1
2 # This is a doc comment
^^^^^^^^^^^^^^^^^^^^^^^
"#,
status: EXIT_FAILURE,
}
test! {
name: unattached_attribute_before_empty_line,
justfile: r#"
[no-exit-message]
hello:
@exit 100
"#,
stderr: "error: Expected '@', '[', or identifier, but found end of line\n ——▶ justfile:2:1\n\n2 │ \n │ ^\n",
status: EXIT_FAILURE,
}
test! {
name: shebang_exit_message_suppressed,
justfile: r#"
[no-exit-message]
hello:
#!/usr/bin/env bash
echo 'Hello, World!'
exit 100
"#,
stdout: "Hello, World!\n",
stderr: "",
status: 100,
}