Mike Frysinger 1b9def12ad start of test suite to catch errors in source code 18 years ago
..
args ced4d2934b dont bother setting TESTS now 19 years ago
assert ced4d2934b dont bother setting TESTS now 19 years ago
build 1b9def12ad start of test suite to catch errors in source code 18 years ago
crypt ced4d2934b dont bother setting TESTS now 19 years ago
ctype 4697c772ca dont bother exporting variables and use := where appropriate 19 years ago
dlopen 114823013d convert to new test framework 19 years ago
inet 642708958e need Makefile for inet subdir 19 years ago
malloc a3e9840d06 update malloc(0) check to handle expected behavior based upon config options 19 years ago
math 93bd833d59 convert to new framework and disable all tests that fail 19 years ago
misc eb1c2d57f5 move to new time dir 18 years ago
mmap deea2d5cfa enable test if LFS is enabled 19 years ago
pthread ced4d2934b dont bother setting TESTS now 19 years ago
pwd_grp ced4d2934b dont bother setting TESTS now 19 years ago
rpc ccb3a37f93 convert to new test framework 19 years ago
setjmp d825ff6ae4 grab some tests from glibc 19 years ago
signal 1bfe52d8ef update MMU ifdef check 19 years ago
silly ced4d2934b dont bother setting TESTS now 19 years ago
stat 869fedf9ad blah, use a stable target instead of messing with timestamps on .c files 19 years ago
stdlib ced4d2934b dont bother setting TESTS now 19 years ago
string 613056212c freelocale() and strxfrm_l() exist only if XLOCALE is enabled 18 years ago
termios ced4d2934b dont bother setting TESTS now 19 years ago
time eb1c2d57f5 move to new time dir 18 years ago
unistd 10d97e5ec6 revert unintended commit 19 years ago
Makefile 05e5500c72 dynamically build the DIRS variables so i dont have to keep updating it all the time 19 years ago
README 7434d62244 document new features 19 years ago
Rules.mak 8439614d20 set dynamic linker if we are building as shared 18 years ago
Test.mak 4028709f7f add support for shell script tests 18 years ago
test-skeleton.c 1bfe52d8ef update MMU ifdef check 19 years ago
testsuite.h f15067a5ef dont include atexit() if uClibc doesnt support it 19 years ago

README

-----------
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
- 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".