]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
test interfaces directly in runall.sh and parallel.mk
authorEvan Hunt <each@isc.org>
Sat, 24 Feb 2018 20:35:17 +0000 (12:35 -0800)
committerEvan Hunt <each@isc.org>
Mon, 26 Feb 2018 23:10:35 +0000 (15:10 -0800)
(cherry picked from commit a8b583e78ba2bda07953ba94ddd7d4128dba8a20)

bin/tests/system/Makefile.in
bin/tests/system/runall.sh

index 971bef1d603de1f7bb1f5d9ca8e07eed51718d05..d3d57a7835f900f38278c8caab9f8787a03283a9 100644 (file)
@@ -81,14 +81,23 @@ PARALLEL = allow_query rpzrecurse acl additional addzone autosign \
 .PHONY: parallel.mk
 
 parallel.mk:
-       PARALLEL_SANITIZED=`echo $(PARALLEL) | sed "s|\([^ ][^ ]*\)|test-\1|g;" | tr _ -` ; \
+       @PARALLEL_SANITIZED=`echo $(PARALLEL) | sed "s|\([^ ][^ ]*\)|test-\1|g;" | tr _ -` ; \
        echo ".PHONY: $$PARALLEL_SANITIZED" > $@ ; \
        echo "" >> $@ ; \
+       echo "check_interfaces:" >> $@ ; \
+       echo "  @${PERL} testsock.pl > /dev/null 2>&1 || { \\" >> $@ ; \
+       echo "          echo \"I:NOTE: System tests were skipped because they require that the\"; \\" >> $@ ; \
+       echo "          echo \"I:      IP addresses 10.53.0.1 through 10.53.0.8 be configured\"; \\" >> $@ ; \
+       echo "          echo \"I:      as alias addresses on the loopback interface.  Please run\"; \\" >> $@ ; \
+       echo "          echo \"I:      \"bin/tests/system/ifconfig.sh up\" as root to configure them.\"; \\" >> $@ ; \
+       echo "          exit 1; \\" >> $@ ; \
+       echo "  }" >> $@ ; \
+       echo "" >> $@ ; \
        echo "test check: $$PARALLEL_SANITIZED" >> $@ ; \
        port=$${STARTPORT:-5000} ; \
        for directory in $(PARALLEL) ; do \
                echo "" >> $@ ; \
-               echo "test-`echo $$directory | tr _ -`:" >> $@ ; \
+               echo "test-`echo $$directory | tr _ -`: check_interfaces" >> $@ ; \
                echo "  @$(SHELL) ./run.sh -r -p $$port $$directory 2>&1 | tee $$directory/test.output" >> $@ ; \
                port=`expr $$port + 100` ; \
        done
@@ -96,13 +105,6 @@ parallel.mk:
 # Targets to run the tests.
 
 test: parallel.mk subdirs
-       @if ! ${PERL} testsock.pl > /dev/null 2>&1; then                                          \
-               echo "I:NOTE: System tests were skipped because they require that the"          ; \
-               echo "I:      IP addresses 10.53.0.1 through 10.53.0.8 be configured"           ; \
-               echo "I:      as alias addresses on the loopback interface.  Please run"        ; \
-               echo "I:      \"bin/tests/system/ifconfig.sh up\" as root to configure them."   ; \
-               exit 1                                                                          ; \
-       fi
        @$(MAKE) -f parallel.mk check
        @$(SHELL) ./runsequential.sh -r
        @$(SHELL) ./testsummary.sh
index 95c452ffe8c2cd2d57beca7311acd72d2e3b45fb..0a886797a24d1689720ba091fd8f166ad7754f14 100644 (file)
@@ -79,10 +79,20 @@ if [ "$CYGWIN" = "" ]; then
     make -j $numproc check
     status=$?
 else
-    # Running on Windows: no "make" available, so run the tests sequentially.
-    # (This is simpler than working out where "nmake" is likely to be found.
-    # Besides, "nmake" does not support parallel execution so if "nmake" is
-    # used, the tests would be run sequentially anyway.)
+    # Running on Windows: no "make" available, so ensure test interfaces are up
+    # and then run the tests sequentially.  (This is simpler than working out
+    # where "nmake" is likely to be found.  Besides, "nmake" does not support
+    # parallel execution so if "nmake" is used, the tests would be run
+    # sequentially anyway.)
+    $PERL testsock.pl || {
+        cat <<-EOF
+       I:NOTE: System tests were skipped because they require that the
+       I:      IP addresses 10.53.0.1 through 10.53.0.8 be configured
+       I:      as alias addresses on the loopback interface.  Please run
+       I:      "bin/tests/system/ifconfig.sh up" as root to configure them.
+       EOF
+        exit 1
+    }
     {
         for testdir in $SUBDIRS; do
             $SHELL run.sh $testdir || status=1