summaryrefslogtreecommitdiff
path: root/t/test-driver-custom-multitest-recheck2.sh
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-07-06 14:35:04 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-07-06 14:35:04 +0200
commit19d84bc34e9afa42aa41ae5c7815e49a8534927c (patch)
treef516986160dd5af7105514bedd2df30f6d91836d /t/test-driver-custom-multitest-recheck2.sh
parent14487be67a4d2e7cfcbda928c998e83a0bdbae96 (diff)
downloadautomake-19d84bc34e9afa42aa41ae5c7815e49a8534927c.tar.gz
tests: ignore minor 'recheck' regression for BSD make
It turns out that, with NetBSD 5.1 make and FreeBSD 9 make, running "make recheck" two times in a row quickly fails to correctly re-run the failed tests in the second run. That issue has been introduced likely introduced in commit 'v1.12.1-95-gd5443e4' of 20102-07-01, "parallel-tests: reimplement fix for bug#11791". Anyway, the use case that has been broken is not realistic (who is going to run "make recheck" two times in one second, without modifying any of the tests or the tested programs in the meantime?), so we believe the best fix is to simply work around the issue in the affected test cases, rather than risking to slow down or uglify the 'recheck' rule. * t/parallel-tests9.sh: Enhance a little. * t/tap-recheck.sh: Adjust adding proper '$sleep' calls were required. * t/parallel-tests-log-override-recheck.sh: Likewise. * t/test-driver-custom-multitest-recheck.sh: Likewise. * t/test-driver-custom-multitest-recheck2.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/test-driver-custom-multitest-recheck2.sh')
-rwxr-xr-xt/test-driver-custom-multitest-recheck2.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/t/test-driver-custom-multitest-recheck2.sh b/t/test-driver-custom-multitest-recheck2.sh
index 623cbad4b..b6f543aee 100755
--- a/t/test-driver-custom-multitest-recheck2.sh
+++ b/t/test-driver-custom-multitest-recheck2.sh
@@ -105,6 +105,7 @@ for vpath in : false; do
unset var
: a.test was successful the first time, no need to re-run it.
+ using_gmake || $sleep # Required by BSD make.
env TESTS=a.test $MAKE -e recheck >stdout \
|| { cat stdout; exit 1; }
cat stdout
@@ -114,6 +115,7 @@ for vpath in : false; do
test ! -e c.run
: b.test failed, it should be re-run. And make it pass this time.
+ using_gmake || $sleep # Required by BSD make.
echo OK > b.ok
TEST_LOGS=b.log $MAKE -e recheck >stdout \
|| { cat stdout; exit 1; }
@@ -126,6 +128,7 @@ for vpath in : false; do
rm -f *.run
: No need to re-run a.test or b.test anymore.
+ using_gmake || $sleep # Required by BSD make.
TEST_LOGS=b.log $MAKE -e recheck >stdout \
|| { cat stdout; exit 1; }
cat stdout
@@ -133,6 +136,7 @@ for vpath in : false; do
test ! -e a.run
test ! -e b.run
test ! -e c.run
+ using_gmake || $sleep # Required by BSD make.
TESTS='a.test b.test' $MAKE -e recheck >stdout \
|| { cat stdout; exit 1; }
cat stdout
@@ -158,6 +162,7 @@ for vpath in : false; do
: c.test contained and hard error the last time, so it should be re-run.
: This time, make it pass
# Use 'echo', not ':'; see comments above for why.
+ using_gmake || $sleep # Required by BSD make.
echo dummy > c.ok
env TESTS='c.test a.test' $MAKE -e recheck >stdout \
|| { cat stdout; exit 1; }
@@ -171,6 +176,7 @@ for vpath in : false; do
: Nothing should be rerun anymore, as all tests have been eventually
: successful.
+ using_gmake || $sleep # Required by BSD make.
$MAKE recheck >stdout || { cat stdout; exit 1; }
cat stdout
count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0