]> 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)
committerMichał Kępień <michal@isc.org>
Mon, 26 Feb 2018 13:58:16 +0000 (14:58 +0100)
bin/tests/system/Makefile.in
bin/tests/system/runall.sh

index 5637a4bc7d80407e04982c60d2f73aa1bca8e400..4589f2603a1f48f6ee0c7a9c62348c9fd1563791 100644 (file)
@@ -84,14 +84,23 @@ PARALLEL = allow_query rpzrecurse serve-stale \
 .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
@@ -99,13 +108,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 c0e714d6147447840506b0e28df86575771cd9e4..76f20a4f3a125d622a5b39b169bbb9fe54644244 100644 (file)
@@ -73,10 +73,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