diff options
Diffstat (limited to 'test/README')
| -rw-r--r-- | test/README | 56 |
1 files changed, 38 insertions, 18 deletions
diff --git a/test/README b/test/README index b59945c54..723ce6e43 100644 --- a/test/README +++ b/test/README @@ -5,13 +5,11 @@ Following make targets are avaialable make compile -This will compile and link the tests +This will compile and link the tests. make run -This will check for binaries if they are not there it -will call 'compile' target then it will execute all the -tests. +This will execute all the tests. make check make all @@ -19,32 +17,53 @@ make all This will build and run tests. The following make variables may help you in testing: + - UCLIBC_ONLY - only run tests against uClibc - GLIBC_ONLY - only run tests against glibc - V / VERBOSE - run tests with a lot of output - - TEST_INSTALLED_UCLIBC - Test installed libraries + - TEST_INSTALLED_UCLIBC - Test installed libraries under /lib and /usr/lib. + - TIMEOUTFACTOR=nn - increase test timeout nn times. + At least REGEX_OLD + regex/tst-regex2 needs it increased. + So, to just run the uClibc tests, try this: make check UCLIBC_ONLY=1 +You can pass the following 2 environment variables to "make run": + - make run SIMULATOR_uclibc=qemu-sh4 SIMULATOR_glibc=qemu-x86_64 + +If you need to test just a subset of all test, delete subdirectories +you do not need. + +As of 2009-07, build machinery does not track dependencies on uclibc. +If you edit a header and re-run "make compile", it does not re-install it +into ../install_dir. If you delete ../install_dir, "make compile" +rebuilds uclibc as needed and re-installs ../install_dir, +but still does not rebuild testcases. +(You can work around it by "touch */*.c" for now). + ---------------- 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. + 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.in describe the tests to run + test/subdir/Makefile test entry point, includes needed upper-level + makefiles plus Makefile.in + test/subdir/*.c the tests + +Each subdir has a Makefile (same for any subdir) that must include in strict order: + - the upper-level Rules.mak file + - the Makefile.in + - the upper-level Test.mak file +Makefile.in may be used to 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: @@ -57,10 +76,11 @@ 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_DIRS := extra directories to remove in the clean target EXTRA_CFLAGS := -DFOO EXTRA_LDFLAGS := -lpthread -OPTS := -WRAPPER := +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 |
