summaryrefslogtreecommitdiff
path: root/doc/test-suite.dox
AgeCommit message (Collapse)AuthorFilesLines
2016-08-02test: if we're in a debugger, use single-fork mode onlyPeter Hutterer1-1/+2
Don't fork by default if we're in gdb. Note that is_debugger_attached() is now inside #ifndef LITEST_NO_MAIN, gdb for the litest selftest will now require a manual CK_FORK=no. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: add a make-like job control to run tests in parallelPeter Hutterer1-0/+6
Add a make-like -j/--jobs option to split the number of parallel test processes. Defaults to 8 if not specified, future patches will default this to 1 for special cases where filters are specified or gdb is detected. Each subprocess overwrites argv[0] to be easier identifiable in the ps output when we're trying to figure out which tests are still running. A -j1 is equivalent to the previous functionality, i.e. we don't fork. One quirk needed for check: any test case not part of a test runner will not be freed and thus triggers valgrind. We do test filtering by splitting up the tests across multiple forks (i.e. each process has several tests that are in the list but not added to the runner). Thus we need to mark those we expect check to free as used. Then on cleanup we traverse the test list, add all the unused one to a test runner and free that test runner (without actually running it). This cleans up both the filtered tests in each subprocess and the whole test list in the parent process which doesn't run a test itself. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-08-02test: merge all tests into a single binaryPeter Hutterer1-7/+7
Call it a libinput-test-suite-runner, in subsequent patches we'll handle doing parallel tests ourselves instead of relying on automake features. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-05-22doc: drop leftovers of Check's selective test runningPeter Hutterer1-14/+4
CK_RUN_CASE and CK_RUN_SUITE still work because we're still using check underneath, but it's better to use the arguments. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-05-22test: add --filter-group argument to match test groups (suites)Peter Hutterer1-2/+10
Same as CK_RUN_SUITE, but supports fnmatch-like globs Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-05-22test: add --filter-device argumentPeter Hutterer1-0/+11
Similar to the CK_RUN_CASE environment variable, but it does support fnmatch()-style wildcards, e.g. ./test/test-touchpad --filter-device="synaptics*" Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-05-22test: add filtering to litest frameworkPeter Hutterer1-2/+6
Complementary to CK_RUN_SUITE and CK_RUN_CASE, this filters on actual test function names with a simple fnmatch. ./test/test-touchpad --filter-test="*1fg_tap*" Most of this patch is renaming litest_add_* to _litest_add_* so we can use the macros to get at the function names. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-05-20doc: clarify a comment what a "no device" test case meansPeter Hutterer1-1/+2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-05-19test: parse the LITEST_VERBOSE environment variablePeter Hutterer1-0/+12
--verbose only works when running a specific test, sometimes we need make check to be more verbose. Set this by default for make check, the log becomes a lot more expressive that way Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2015-05-06doc: add a page about the test suitePeter Hutterer1-0/+66
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>