This is a collection of tests for systemtap. Running the Testsuite ********************* There are two ways to run the testsuite and pass additional parameters to DejaGnu. The first is to do `make check' in the main build directory and specifying the makefile variable `RUNTESTFLAGS': make check RUNTESTFLAGS='argv.exp -v --debug' "make check" runs unprivileged tests only against an uninstalled build tree. "make installcheck" runs all tests against an installed tree. E.g. make installcheck RUNTESTFLAGS= Runs whole the testsuite. Parallel testing **************** To save testing time, you can run the systemtap test suite in a fully parallel mode using the installcheck-parallel target. In this mode, each .exp file runs separately and maybe simultaneously. The test suite ensures that all the temporary files created by the test suite do not clash, by putting them into separate subdirectories of testsuite/artifacts. E.g. make -j6 installcheck-parallel runs all tests against an installed tree in parallel mode. You can use the -j parameter of make to specify the number of tests to run simultaneously. Some tests need to be run serially, like e.g. the server tests. They start a new systemtap server and only expect one local server to run. Their logs are being kept in separate artifacts/__serialtests folder. There are a few tests known to be slow. We run them right from the beginning to try to lessen the overall time taken by the test suite -- if one of these tests happens to be run late, it will cause the overall time to increase. After the parallel test run is finished, systemtap.sum and systemtap.log files get generated as usual, but, please, see dg-extract-results.sh script for limitations. Setting -j6 seems to be testtime-wise optimum for Lenovo T440s. In this case the load is around 8. You can limit the load using -l. See man make. In this particular case the testing time is around 60 mins, which is about 1/4 of the time needed for the full serial run. In parallel mode, you can use the TESTS variable pass on the command line to easily say "Only run these tests.". The RUNTESTFLAGS variable is still available for passing additional parameters to DejaGnu. So, e.g. make -j2 installcheck-parallel RUNTESTFLAGS= TESTS='*/argv.exp */add.exp' runs argv.exp and add.exp in parallel. Resume mode *********** The SYSTEMTAP_TESTSUITE_RESUME environmental variable will turn on the "resume mode" of the systemtap testsuite if set to some non-zero value. In this mode, tests, that have already been run, are not being re-executed, and their existing test results are being reused and merged instead. This can be useful e.g. when some of the tests causes kernel panic or stall. Using the "resume mode", it is possible to reboot the testing box, and then re-run the testsuite skipping already executed tests. In this case, the problematic testcase is left in an "unfinished" state. See "make list-unfinished". In case the testsuite was running in the parallel testing mode, more than one test may be left unfinished, of course. Unfinished tests need separate investigation. The "resume mode" can be used with "make installcheck", or "make installcheck-parallel" targets.