FreeBSD Manual Pages
ATF-CHECK(1) General Commands Manual ATF-CHECK(1) NAME atf-check -- executes a command and analyzes its results SYNOPSIS atf-check [-s qual:value] [-o action:arg ...] [-e action:arg ...] [-x] command DESCRIPTION atf-check executes a given command and analyzes its results, including exit code, stdout and stderr. Test cases must use atf-sh(3)'s atf_check builtin function instead of calling this utility directly. In the first synopsis form, atf-check will execute the provided command and apply checks specified by arguments. By default it will act as if it was run with -s exit:0 -o empty -e empty. Multiple checks for the same output channel are allowed and, if specified, their results will be combined as a logical and (meaning that the output must match all the provided checks). In the second synopsis form, atf-check will print information about all supported options and their purpose. The following options are available: -s qual:value Analyzes termination status. Must be one of: exit:<value> checks that the program exited cleanly and that its exit status is equal to value. The exit code can be omitted al- together, in which case any clean exit is accepted. ignore ignores the exit check. signal:<value> checks that the program exited due to a signal and that the signal that termi- nated it is value. The signal can be specified both as a number or as a name, or it can also be omitted altogether, in which case any signal is accepted. Most of these checkers can be prefixed by the `not-' string, which effectively reverses the check. -o action:arg Analyzes standard output. Must be one of: empty checks that stdout is empty ignore ignores stdout file:<path> compares stdout with given file inline:<value> compares stdout with inline value match:<regexp> looks for a regular expression in stdout save:<path> saves stdout to given file Most of these checkers can be prefixed by the `not-' string, which effectively reverses the check. -e action:arg Analyzes standard error (syntax identical to above) -x Executes command as a shell command line, executing it with the system shell defined by ATF_SHELL. You should avoid using this flag if at all possible to prevent shell quoting issues. -r timeout[:interval] Repeats failed checks until the timeout (in seconds) ex- pires. If unspecified, the default interval (in mil- liseconds) is 50 ms. This can be used to wait for an expected update to the contents of a file. ENVIRONMENT ATF_SHELL Path to the system shell to be used when the -x is given to run commands. EXIT STATUS atf-check exits 0 on success, and other (unspecified) value on failure. EXAMPLES The following are sample invocations from within a test case. Note that we use the atf_check function provided by atf-sh(3) instead of ex- ecuting atf-check directly: # Exit code 0, nothing on stdout/stderr atf_check true # Typical usage if failure is expected atf_check -s not-exit:0 false # Checking stdout/stderr echo foobar >expout atf_check -o file:expout -e inline:"xx\tyy\n" \ -x 'echo foobar ; printf "xx\tyy\n" >&2' # Checking for a crash atf_check -s signal:sigsegv my_program # Combined checks atf_check -o match:foo -o not-match:bar echo foo baz # Wait 5 seconds for a line to show up in a file ( sleep 2 ; echo "testing 123" > $test_path ) & atf-check -o ignore -e ignore -s exit:0 -r 5 \ grep "testing 123" $test_path SEE ALSO atf-sh(1) FreeBSD Ports 14.quarterly February 6, 2021 ATF-CHECK(1)
NAME | SYNOPSIS | DESCRIPTION | ENVIRONMENT | EXIT STATUS | EXAMPLES | SEE ALSO
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=atf-check&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>
