It's expected that for each invasive change or important bugfix you will
include a test to your patch.
- Compile tests & run basic tests:
+ Compile binaries, libs, extra test programs and run the basic tests:
$ make check
+ Compile extra test programs only:
+
+ $ make check-programs
+
Note that the configure option --disable-static disables many of libmount and
libblkid unit tests.
Run all tests including tests that require root permissions:
# cd tests
- # ./run.sh [--verbose] [--memcheck]
+ # ./run.sh [options, see --help]
Alternatively using sudo and make:
- $ make check TS_COMMAND="true"
+ $ make check-programs
$ sudo -E make check TS_OPTS="--parallel=1"
note that as root you have to manually remove output and diff directories
Run subset of tests:
+ $ cd tests
$ ./run.sh <test_directory-name>
for example:
$ ./run.sh blkid
$ ./run.sh libmount
+ or individual test script, for example:
+
+ $ ./ts/cal/year
+
The tests is possible to exclude by ./run.sh --exclude=<list> where the
<list> is blank separated test names in format "testdir/testname", for example:
Run certain tests with valgrind. Similar usage like TS_OPT_*_fake above.
-External services
+External services
-----------------
Travis CI - automatically executed for all github commits.
ret=0
travis_script || ret=$?
travis_after_script
- exit $ret
-
+ exit $ret
+
yes, it shares the setup functions with travis-ci.