- add python helper scripts to the dist
- helper scripts are always in srcdir
- python libs are in builddir
- abort tests if helpers are missing
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
If any of these modprobe commands fails then it's not a broken test.
ALso ts_die often does not work correctly from subtests which should
be fixed someday too.
BTW modprobe dry-run (even the real modprobe) is not reliable.
Moreover now we respect blacklisted modules (-b).
This error handling is not only useful to let the test-suite succeed
on broken systems but also to not fail all "scsi_debug tests" after
just one of them failed to umount something.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
* 'tests-mount' of https://github.com/rudimeier/util-linux:
tests: use ts_mount for cramfs
tests: ts_mount knows which fs is expected
tests: ts_mount validates error message
tests, add function ts_mount
We want to generalize mounts similar to how we do it already in
minix/mkfs. Currently most of our other checks just fail if
"fs not supported".
Note that the new function checks a bit stronger than before in
minix/mkfs. It respects mount's return value and stderr goes
to $TS_OUTPUT too.
It's a bit ugly that we write to $TS_OUTPUT from inside of the
function. But if the caller would do it then we couldn't
ts_skip and the whole function would be pointless.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
* 'travis-root-checks-v2' of https://github.com/rudimeier/util-linux:
travis-ci: enable root checks
travis-ci: minor cleanup and speedup
tests: introduce TS_CMD_UUIDGEN (never use installed one)
tests, don't write TS_DEVICE to stdout anymore
tests: ts_scsi_debug_init must not run in a subshell
tests: cleanup ts_scsi_debug_init
tests: some more tests need loop support
tests: ts_device_init requires loop support
tests: use ts_check_losetup in losetup test
tests: add function ts_check_losetup
tests: ts_device_init remove useless error handling
Sort out global and local vars. Now we set TS_DEVICE globally
to be use later.
Skip really quiet if modprobe fails.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
It didn't worked for tests with subtests.
Here we consolidate both cases which fixes the issue by the way. This
is basically a rewrite of 7641ccec.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Don't know why we should deinit the empty string.
This patch prepares further refactoring or error handling.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Now we can mark tests as known to be broken without bothering
users with exit failure. In the build log this "KNOWN FAILED"
may be interpreted as TODO ;)
The main advantage of "known-fail" instead of just skipping
is that we will still find the test diff.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Translate "." and "-" to "_". We assume that nobody will add
completely stupid test file names.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Specially for automated builds the user may want to have some
fine granulated influence like
export TS_OPT_libmount_verbose="yes"
export TS_OPT_ipcs_fake="yes"
export TS_OPT_ipcs_limits2_fake="no"
if <big endian> then
export TS_OPT_hexdump_fake="yes"
fi
make check
Even for interactive developers this could be useful for example to
debug just one particuar test while having a regular run with stress:
TS_OPT_script_verbose="yes" \
TS_OPT_script_memcheck="yes" \
../tests/run.sh --parallel=256 --srcdir=.. --builddir=. --nonroot
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Soon we want to use some env vars within ts_has_option(). That's
why we move some lines to make this possible.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Unarguably this change makes test output to be more messy, but when I
compare run time tells with clear numbers parallel is quicker. For me
the quickness is important factor. Running test suite always after a
change is preferrably quick, and if something is indicated to be broken
it is ok to spend time in drilling down what happen.
$ time ./tests/run.sh --parallel=5
[...]
real 1m48.037s
Same without parallelization.
$ time ./tests/run.sh
real 3m16.687s
The default is changed to be parallel, where job count is same as number
of CPUs.
[kzak@redhat.com: - propagate --parallel into function.sh
- don't use extra title for non-parallel execution
- disable by default]
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
The command 'make check' is called from 'make distcheck' (which is
used to generate official util-linux tarballs).
It means that tests/ stuff has to be compatible with autotools and
differentiate between source and build directories.
* remove run-nonroot.sh (merged into run.sh
* remove commands.sh.in
* all tests and top level run.sh accept --builddir and --srcdir
command line options
* functions.sh modified to use $top_builddir/tests for output files
Signed-off-by: Karel Zak <kzak@redhat.com>
* tests/functions.sh (ts_is_mounted): Remove check for canonicalization
failure again, because it is now done by ts_canonicalize.
Signed-off-by: Bernhard Voelker <mail@bernhard-voelker.de>
* tests/functions.sh (ts_is_mounted): Enhance to resolve symlinks in
given mount point before grep'ing in /proc/mount.
If the test directory is on a symlink, then e.g. tests/ts/cramfs/doubles
failed because the kernel keeps the mount entry in a canonicalized form
in /proc/mounts while this function searched for it with the original
path name.
Signed-off-by: Bernhard Voelker <mail@bernhard-voelker.de>
Since not everyone have en_US.UTF-8 locale, default to POSIX locale.
This changes default sort order, so some expected results were updated.
Signed-off-by: Yann Droneaud <yann@droneaud.fr>
The swapon command behaviour depends on program name (argv[0] = swapon
| swapoff). It means we cannot use the libtool wrapper script in our
regression tests. It seems better to call the binaries directly with
proper LD_LIBRARY_PATH. This is probably less portable, but good
enough for our tests.
Signed-off-by: Karel Zak <kzak@redhat.com>