From 05c69924b14d68027a90695a4d8da4ec70c9a886 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 23 Jul 2009 13:27:05 +0200 Subject: testsuite: fix one bug, one warning; extend README (one TODO added) Signed-off-by: Denys Vlasenko --- test/README | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) (limited to 'test/README') diff --git a/test/README b/test/README index fcb41489b..8fb12d9a7 100644 --- a/test/README +++ b/test/README @@ -9,9 +9,8 @@ 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 check for binaries, if they are not there it +will call 'compile' target, then it will execute all the tests. make check make all @@ -23,7 +22,7 @@ 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. @@ -31,6 +30,16 @@ The following make variables may help you in testing: So, to just run the uClibc tests, try this: make check UCLIBC_ONLY=1 +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 ---------------- @@ -45,12 +54,12 @@ The structure of this test system is: 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. +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 Each test must use a similar .c name; so the "foo" test needs a "foo.c". @@ -68,8 +77,8 @@ 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 -- cgit v1.2.3