go - Run lvb test suite.
Version Tag $Id: go,v 1.18 2005/11/01 16:47:46 db60 Exp $
go [--test TESTNAME]
Perl script to run the lvb test suite and display a summary of results.
Tests are assumed to be in subdirectories of the current directory
whose names begin with test
, detected case-insensitively. Within
each such directory, there should be a script named runtest
that
will run the test and print test passed
to the standard output on
success. The string test passed
is detected case-insensitively.
A test may run the pre-built lvb executable indicated by
LVB_EXECUTABLE
.
Alternatively, a test may use its own executable. Subdirectories of the
current directory whose names begin with test_lib
are assumed to
contain tests of this kind. They use an executable called
testprog.exe
, which go will build from all .c
files in the
test directory prior to running the test. For building, <go> uses the
LVB library indicated by LVB_LIBRARY
, any other libraries indicated
by LVB_OTHERLIBS
, the extra header path LVB_HEADER_PATH
and the
compiler CC
with options given by CFLAGS
. The test itself must
launch testprog.exe
from its runtest
script.
By convention, all tests should endeavour to print a message starting
with (or consisting of) test failed
to the standard output on
failure, but this is not required. No output, or any output that does
not match the pattern "test passed"
, is regarded as indicating
failure.
Tests do not have to remove temporary files. go deletes all files in the test directory that were not present at the start of the test.
Run only the test in the directory named TESTNAME. The default is to run all tests.
The environment variables below must not contain spaces, with the exception that the space in the string ``My Documents'' is allowed.
Must give the filename of the executable to test, including the full path.
Must give the filename of the LVB library to test, including the full path.
Must give any non-LVB-specific libraries to be used when building the
test executable, either as full paths or as compiler options to appear
at the end of the compiler command line. May be empty or unset. On Unix
systems, LVB_OTHERLIBS
should usually be set to -lm
.
Must give the full path to the directory containing the lvb.h
header
describing the interface to the LVB library specified by
LVB_LIBRARY
.
Must give the name of the C compiler to use when testing the LVB library.
Must give other the command-line options to use with the compiler
specified by CC
. May be empty or unset.
0 if all tests pass and there was no error, nonzero otherwise.