-----------
For: User
-----------
The following make variables may help you in testing:
- UCLIBC_ONLY - only run tests against uClibc
- GLIBC_ONLY - only run tests against glibc
- COMPILE_ONLY - just build the tests, don't run them
- CHECK_ONLY - only run the tests, don't compile or link them
- V / VERBOSE - run tests with a lot of output
So, to just run the uClibc tests, try this:
make check UCLIBC_ONLY=1
----------------
For: Developer
----------------
The structure of this test system is:
test/ toplevel dir containing common test code
test/Rules.mak Common build code
test/Test.mak Runtime test make code
test/subdir/ code specific to a subsystem is stored in a subdir
test/subdir/Makefile describe the tests to run
test/subdir/*.c the tests
Each subdir Makefile must include the toplevel Test.mak file. Before doing so,
you may define the TESTS and TESTS_DISABLED variables. If you do not, TESTS
is built automatically based upon all the .c files in the subdir.
TESTS := foo
TESTS_DISABLED := bar
include ../Test.mak
Each test must use a similar .c name; so the "foo" test needs a "foo.c".
Additionally, the following options further control specific test behavior:
CFLAGS_foo := extra cflags to use to compile test
DODIFF_foo := compare the output of the glibc and uClibc tests (see below)
LDFLAGS_foo := extra ldflags to use to link test
OPTS_foo := extra options to pass to test
RET_foo := expected exit code of test; default is 0
WRAPPER_foo := execute stuff just before test
Or to control all tests in a subdir:
EXTRA_CLEAN := extra files to remove in the clean target
EXTRA_CFLAGS := -DFOO
EXTRA_LDFLAGS := -lpthread
OPTS :=
WRAPPER :=
If you want to compare the output of a test with known good output, then just
create a local file named "foo.out.good" and the output generated by the test
"foo" will be automatically stored in "foo.out" and compared to "foo.out.good".