ATF-SH(1) BSD General Commands Manual ATF-SH(1)NAME
atf-sh [-s shell] -- interpreter for shell-based test programs
SYNOPSIS
atf-sh script
DESCRIPTION
atf-sh is an interpreter that runs the test program given in script after loading the atf-sh(3) library.
atf-sh is not a real interpreter though: it is just a wrapper around the system-wide shell defined by ATF_SHELL. atf-sh executes the inter-
preter, loads the atf-sh(3) library and then runs the script. You must consider atf-sh to be a POSIX shell by default and thus should not
use any non-standard extensions.
The following options are available:
-s shell Specifies the shell to use instead of the value provided by ATF_SHELL.
ENVIRONMENT
ATF_LIBEXECDIR Overrides the builtin directory where atf-sh is located. Should not be overridden other than for testing purposes.
ATF_PKGDATADIR Overrides the builtin directory where libatf-sh.subr is located. Should not be overridden other than for testing purposes.
ATF_SHELL Path to the system shell to be used in the generated scripts. Scripts must not rely on this variable being set to select a
specific interpreter.
EXAMPLES
Scripts using atf-sh(3) should start with:
#! /usr/bin/env atf-sh
Alternatively, if you want to explicitly choose a shell interpreter, you cannot rely on env(1) to find atf-sh. Instead, you have to hardcode
the path to atf-sh in the script and then use the -s option afterwards as a single parameter:
#! /path/to/bin/atf-sh -s/bin/bash
ENVIRONMENT
ATF_SHELL Path to the system shell to be used in the generated scripts.
SEE ALSO atf-sh(3)BSD September 27, 2014 BSD
Check Out this Related Man Page
ATF-CHECK(1) BSD 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
atf-check -h
DESCRIPTION
atf-check executes a given command and analyzes its results, including exit code, stdout and stderr.
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:
-h Shows a short summary of all available options and their purpose.
-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 omit-
ted altogether, 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 terminated 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 in atf-config(1). You
should avoid using this flag if at all possible to prevent shell quoting issues.
EXIT STATUS
atf-check exits 0 on success, and other (unspecified) value on failure.
EXAMPLES
# 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 yy
"
'echo foobar ; printf "xx yy
" >&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
SEE ALSO atf-config(1), atf(7)BSD June 27, 2010 BSD