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, }