From: Evan Hunt Date: Sat, 24 Feb 2018 20:35:17 +0000 (-0800) Subject: test interfaces directly in runall.sh and parallel.mk X-Git-Tag: v9.9.13rc1~71^2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=699fffc34fe0a7dccd0e3053f471722561157ff9;p=thirdparty%2Fbind9.git test interfaces directly in runall.sh and parallel.mk (cherry picked from commit a8b583e78ba2bda07953ba94ddd7d4128dba8a20) --- diff --git a/bin/tests/system/Makefile.in b/bin/tests/system/Makefile.in index 7584ebb9a37..54a42588c05 100644 --- a/bin/tests/system/Makefile.in +++ b/bin/tests/system/Makefile.in @@ -84,11 +84,20 @@ parallel.mk: @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 diff --git a/bin/tests/system/runall.sh b/bin/tests/system/runall.sh index 9e343ec6701..85d95614e73 100644 --- a/bin/tests/system/runall.sh +++ b/bin/tests/system/runall.sh @@ -77,10 +77,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