mirror of
https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
synced 2024-11-27 20:14:46 +08:00
f3331df6bb
Change the e2fsck/mke2fs/tune2fs/e2image/debugfs regression tests to
be driven by Makefile rules instead of by a script loop. This allows
the tests to be run in parallel like a build and reduces testing time
significantly.
One major change to the tests themselves is to printing the test name,
description, and status together after the test has passed or failed,
to avoid mixing lines from the tests. The other major change is to
use unique temporary filenames for each test, which was mostly handled
already via b4db1e4c74
, but in some
cases temporary files are changed to use $test_name.tmp to avoid any
collision between running tests.
On my old 2-CPU system it reduced the testing time from 160s to 40s.
Much of the savings is from the MMP test delays running in parallel.
It still takes the time of the slowest test, f_mmp_garbage, though
there will be ongoing benefit in the future as more tests are added
since the wallclock time will not increase linearly for each test.
Tests were run with various combinations of "make -j", and "make -j2"
through "make -j44" repeatedly without any test failures.
Signed-off-by: Andreas Dilger <adilger@whamcloud.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
18 lines
343 B
Bash
Executable File
18 lines
343 B
Bash
Executable File
#!/bin/sh
|
|
# report stats about test scripts that were run
|
|
|
|
num_ok=`ls *.ok 2>/dev/null | wc -l`
|
|
num_failed=`ls *.failed 2>/dev/null | wc -l`
|
|
|
|
echo "$num_ok tests succeeded $num_failed tests failed"
|
|
|
|
test "$num_failed" -eq 0 && exit 0
|
|
|
|
echo -n "Tests failed: "
|
|
for fname in $(ls *.failed); do
|
|
echo -n "${fname%%.failed} "
|
|
done
|
|
echo ""
|
|
|
|
exit 1
|