simple libc tests
based on the libc-testsuit and libc-bench of dalias
see http://git.etalabs.net/cgi-bin/gitweb.cgi
build tests:
cp Makefile.conf.def Makefile.conf
# edit Makefile.conf
make
run tests:
./t
run benchmarks:
./b
framework:
the only hook in the test framework is error(...) which
prints a formatted message and sets the test to failed
see common/test.h
in the root directory make builds an executable with all tests
in a src/* directory make builds only local tests
see Makefile.inc
a test function looks like
void test_foo() {
if (foo != 42)
error("foo=%d expected 42\n", foo);
}
extern functions with name ~ /^test/ are recognized to be
test functions
see Makefile.inc
a benchmark function looks like
void bench_foo(int N) {
for (i = 0; i < N; i++)
foo();
}
benchmark functions are repeatedly called with an increasing
N until the runing time is long enough, then time/N is printed
edit the generated tests.h to exclude certain tests
see common/t.c for tests
see common/b.c for benchmarks