Node:Guidelines, Next:Test Functions, Previous:Test Programs, Up:Run Time
Test programs should not write anything to the standard output. They
should return 0 if the test succeeds, nonzero otherwise, so that success
can be distinguished easily from a core dump or other failure;
segmentation violations and other failures produce a nonzero exit
status. Test programs should exit
, not return
, from
main
, because on some systems (old Suns, at least) the argument
to return
in main
is ignored.
Test programs can use #if
or #ifdef
to check the values of
preprocessor macros defined by tests that have already run. For
example, if you call AC_HEADER_STDC
, then later on in
configure.ac
you can have a test program that includes an
ANSI C header file conditionally:
#if STDC_HEADERS # include <stdlib.h> #endif
If a test program needs to use or create a data file, give it a name
that starts with conftest
, such as conftest.data
. The
configure
script cleans up by running rm -rf conftest*
after running test programs and if the script is interrupted.