]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix system test error reporting on Windows
authorMichał Kępień <michal@isc.org>
Thu, 26 Sep 2019 13:11:15 +0000 (15:11 +0200)
committerMichał Kępień <michal@isc.org>
Thu, 26 Sep 2019 13:11:15 +0000 (15:11 +0200)
Make sure the CYGWIN environment variable is set whenever system tests
are run on Windows to prevent stop.pl from making incorrect assumptions
about the environment it is running in, which triggers e.g. false
reports about named instances crashing on shutdown when system tests are
run on Windows.  This issue has not been caught earlier because the
CYGWIN environment variable was incidentally being set on a higher level
in our Windows test environments.

Error reporting for parallel system tests on Windows has been broken all
along: since all parallel.mk targets generated by parallel.sh pipe their
output through "tee", the return code from run.sh is lost and thus
running "make -f parallel.mk check" will not yield a non-zero return
code if some system tests fail.  The same applies to runsequential.sh.
Yet, runall.sh on Windows only sets its return code to a non-zero value
if either "make -f parallel.mk check" or runsequential.sh returns a
non-zero return code.  Fix by making runall.sh yield a non-zero return
code when testsummary.sh fails, which is the same approach as the one
used in the "test" target in bin/tests/system/Makefile.

bin/tests/system/conf.sh.common
bin/tests/system/runall.sh

index d1efc192d42e8e0dab1f2721f2b0de901551b9e9..46eac8a77662d0b975cef60519dab8e3270f53b2 100644 (file)
@@ -457,6 +457,7 @@ export ARPANAME
 export BIGKEY
 export CDS
 export CHECKZONE
+export CYGWIN
 export DESCRIPTION
 export DIG
 export FEATURETEST
index 52721c34c4e1433bda8bc36e3b39445810c39a68..3246457919cd4c93a6842b1bc66aee6c9e8db518 100755 (executable)
@@ -79,9 +79,9 @@ if [ "$NOPARALLEL" = "" ]; then
         # used for the build. So we create a special makefile for the purpose
         # of parallel execution of system tests, and use that.
         $SHELL parallel.sh > parallel.mk
-        make -f parallel.mk -j $numproc check || status=$?
-       $SHELL ./runsequential.sh -r || status=$?
-       $SHELL ./testsummary.sh
+        make -f parallel.mk -j $numproc check
+        $SHELL ./runsequential.sh -r
+        $SHELL ./testsummary.sh || status=1
     fi
 else
     # the NOPARALLEL environment variable indicates that tests must be