summaryrefslogtreecommitdiff
path: root/test/README
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-02-14 05:27:37 +0000
committerMike Frysinger <vapier@gentoo.org>2006-02-14 05:27:37 +0000
commit84bd0fb2c6192b737b587ef4fa4ace1685f685bb (patch)
tree6ab624c2553c53540f63ad63f48c4d74ec96ddb2 /test/README
parentff5243aa1ca0dc2013ced04cf5dfd248a6d4b45e (diff)
document new test framework
Diffstat (limited to 'test/README')
-rw-r--r--test/README49
1 files changed, 49 insertions, 0 deletions
diff --git a/test/README b/test/README
new file mode 100644
index 000000000..e6c3d892e
--- /dev/null
+++ b/test/README
@@ -0,0 +1,49 @@
+-----------
+ 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 define the TESTS variable and include the
+toplevel Test.mak file:
+TESTS := foo
+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".