From 49d11094de2af5763a6c79873109fc9c130f4428 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Sat, 11 Nov 2017 09:23:44 +1100 Subject: [PATCH] set SAMPLEUPDATE under windows; test if SAMPLEUPDATE exists and only run tests if it does (cherry picked from commit 9eb5aa40aa5d077ef65e5351342118aa41605979) --- bin/tests/system/conf.sh.win32 | 3 + bin/tests/system/nsupdate/tests.sh | 122 +++++++++++++++-------------- 2 files changed, 67 insertions(+), 58 deletions(-) diff --git a/bin/tests/system/conf.sh.win32 b/bin/tests/system/conf.sh.win32 index 8a054a9e0a..798c388c02 100644 --- a/bin/tests/system/conf.sh.win32 +++ b/bin/tests/system/conf.sh.win32 @@ -61,6 +61,8 @@ MDIG=$TOP/Build/$VSCONF/mdig@EXEEXT@ NZD2NZF=$TOP/Build/$VSCONF/named-nzd2nzf@EXEEXT@ FSTRM_CAPTURE=@FSTRM_CAPTURE@ FEATURETEST=$TOP/Build/$VSCONF/feature-test@EXEEXT@ +SAMPLEUPDATE=$TOP/Build/$VSCONF/update@EXEEXT@ + # to port WIRETEST=$TOP/Build/$VSCONF/wire_test@EXEEXT@ # this is given as argument to native WIN32 executables @@ -229,6 +231,7 @@ export RANDFILE export RESOLVE export RNDC export RRCHECKER +export SAMPLEUPDATE export SIGNER export SUBDIRS export TESTSOCK6 diff --git a/bin/tests/system/nsupdate/tests.sh b/bin/tests/system/nsupdate/tests.sh index 163242ab14..5fc88ca08f 100755 --- a/bin/tests/system/nsupdate/tests.sh +++ b/bin/tests/system/nsupdate/tests.sh @@ -280,7 +280,7 @@ sleep 10 if $PERL $SYSTEMTESTTOP/start.pl --noclean --restart . ns1 then - echo "I:restarted server ns1" + echo "I:restarted server ns1" else echo "I:could not restart server ns1" exit 1 @@ -820,75 +820,81 @@ grep "couldn't get address for 'unresolvable..': not found" nsupdate.out > /dev/ # # Add client library tests here # -n=`expr $n + 1` -ret=0 -echo "I:check that dns_client_update handles prerequisite NXDOMAIN failure ($n)" -$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxdomain exists.sample" \ + +if test unset != "${SAMPLEUPDATE:-unset}" -a -x "${SAMPLEUPDATE}" +then + + n=`expr $n + 1` + ret=0 + echo "I:check that dns_client_update handles prerequisite NXDOMAIN failure ($n)" + $SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxdomain exists.sample" \ add "nxdomain-exists.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1 -$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxdomain exists.sample" \ + $SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxdomain exists.sample" \ add "check-nxdomain-exists.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1 -$DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n -$DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n -$DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n -grep "update failed: YXDOMAIN" update.out.test$n > /dev/null || ret=1 -grep "update succeeded" update.out.check$n > /dev/null || ret=1 -grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1 -grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1 -grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1 -[ $ret = 0 ] || { echo I:failed; status=1; } + $DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n + $DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n + $DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n + grep "update failed: YXDOMAIN" update.out.test$n > /dev/null || ret=1 + grep "update succeeded" update.out.check$n > /dev/null || ret=1 + grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1 + grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1 + grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1 + [ $ret = 0 ] || { echo I:failed; status=1; } -n=`expr $n + 1` -ret=0 -echo "I:check that dns_client_update handles prerequisite YXDOMAIN failure ($n)" -$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \ + n=`expr $n + 1` + ret=0 + echo "I:check that dns_client_update handles prerequisite YXDOMAIN failure ($n)" + $SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \ add "yxdomain-nxdomain.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1 -$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \ + $SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxdomain nxdomain.sample" \ add "check-yxdomain-nxdomain.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1 -$DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n -$DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n -$DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n -grep "update failed: NXDOMAIN" update.out.test$n > /dev/null || ret=1 -grep "update succeeded" update.out.check$n > /dev/null || ret=1 -grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1 -grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1 -grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1 -[ $ret = 0 ] || { echo I:failed; status=1; } + $DIG +tcp @10.53.0.1 -p 5300 a nxdomain-exists.sample > dig.out.ns1.test$n + $DIG +tcp @10.53.0.2 -p 5300 a nxdomain-exists.sample > dig.out.ns2.test$n + $DIG +tcp @10.53.0.2 -p 5300 a check-nxdomain-exists.sample > check.out.ns2.test$n + grep "update failed: NXDOMAIN" update.out.test$n > /dev/null || ret=1 + grep "update succeeded" update.out.check$n > /dev/null || ret=1 + grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1 + grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1 + grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1 + [ $ret = 0 ] || { echo I:failed; status=1; } -n=`expr $n + 1` -ret=0 -echo "I:check that dns_client_update handles prerequisite NXRRSET failure ($n)" -$SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \ + n=`expr $n + 1` + ret=0 + echo "I:check that dns_client_update handles prerequisite NXRRSET failure ($n)" + $SAMPLEUPDATE -P 5300 -a 10.53.0.1 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \ add "nxrrset-exists.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1 -$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \ + $SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "nxrrset exists.sample TXT This RRset exists." \ add "check-nxrrset-exists.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1 -$DIG +tcp @10.53.0.1 -p 5300 a nxrrset-exists.sample > dig.out.ns1.test$n -$DIG +tcp @10.53.0.2 -p 5300 a nxrrset-exists.sample > dig.out.ns2.test$n -$DIG +tcp @10.53.0.2 -p 5300 a check-nxrrset-exists.sample > check.out.ns2.test$n -grep "update failed: YXRRSET" update.out.test$n > /dev/null || ret=1 -grep "update succeeded" update.out.check$n > /dev/null || ret=1 -grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1 -grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1 -grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1 -[ $ret = 0 ] || { echo I:failed; status=1; } + $DIG +tcp @10.53.0.1 -p 5300 a nxrrset-exists.sample > dig.out.ns1.test$n + $DIG +tcp @10.53.0.2 -p 5300 a nxrrset-exists.sample > dig.out.ns2.test$n + $DIG +tcp @10.53.0.2 -p 5300 a check-nxrrset-exists.sample > check.out.ns2.test$n + grep "update failed: YXRRSET" update.out.test$n > /dev/null || ret=1 + grep "update succeeded" update.out.check$n > /dev/null || ret=1 + grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1 + grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1 + grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1 + [ $ret = 0 ] || { echo I:failed; status=1; } -n=`expr $n + 1` -ret=0 -echo "I:check that dns_client_update handles prerequisite YXRRSET failure ($n)" -$SAMPLEUPDATE -s -P 5300 -a 10.53.0.1 -a 10.53.0.2 \ + n=`expr $n + 1` + ret=0 + echo "I:check that dns_client_update handles prerequisite YXRRSET failure ($n)" + $SAMPLEUPDATE -s -P 5300 -a 10.53.0.1 -a 10.53.0.2 \ -p "yxrrset no-txt.sample TXT" \ add "yxrrset-nxrrset.sample 0 in a 1.2.3.4" > update.out.test$n 2>&1 -$SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxrrset no-txt.sample TXT" \ + $SAMPLEUPDATE -P 5300 -a 10.53.0.2 -p "yxrrset no-txt.sample TXT" \ add "check-yxrrset-nxrrset.sample 0 in a 1.2.3.4" > update.out.check$n 2>&1 -$DIG +tcp @10.53.0.1 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns1.test$n -$DIG +tcp @10.53.0.2 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns2.test$n -$DIG +tcp @10.53.0.2 -p 5300 a check-yxrrset-nxrrset.sample > check.out.ns2.test$n -grep "update failed: NXRRSET" update.out.test$n > /dev/null || ret=1 -grep "update succeeded" update.out.check$n > /dev/null || ret=1 -grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1 -grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1 -grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1 -grep "2nd update failed: NXRRSET" update.out.test$n > /dev/null || ret=1 -[ $ret = 0 ] || { echo I:failed; status=1; } + $DIG +tcp @10.53.0.1 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns1.test$n + $DIG +tcp @10.53.0.2 -p 5300 a yxrrset-nxrrset.sample > dig.out.ns2.test$n + $DIG +tcp @10.53.0.2 -p 5300 a check-yxrrset-nxrrset.sample > check.out.ns2.test$n + grep "update failed: NXRRSET" update.out.test$n > /dev/null || ret=1 + grep "update succeeded" update.out.check$n > /dev/null || ret=1 + grep "status: NXDOMAIN" dig.out.ns1.test$n > /dev/null || ret=1 + grep "status: NXDOMAIN" dig.out.ns2.test$n > /dev/null || ret=1 + grep "status: NOERROR" check.out.ns2.test$n > /dev/null || ret=1 + grep "2nd update failed: NXRRSET" update.out.test$n > /dev/null || ret=1 + [ $ret = 0 ] || { echo I:failed; status=1; } + +fi # # End client library tests here