Home | History | Annotate | Line # | Download | only in zero
tests.sh revision 1.1
      1 # Copyright (C) Internet Systems Consortium, Inc. ("ISC")
      2 #
      3 # This Source Code Form is subject to the terms of the Mozilla Public
      4 # License, v. 2.0. If a copy of the MPL was not distributed with this
      5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      6 #
      7 # See the COPYRIGHT file distributed with this work for additional
      8 # information regarding copyright ownership.
      9 
     10 SYSTEMTESTTOP=..
     11 . $SYSTEMTESTTOP/conf.sh
     12 
     13 DIGOPTS="-p ${PORT}"
     14 
     15 status=0
     16 n=0
     17 
     18 n=`expr $n + 1`
     19 echo_i "check lookups against TTL=0 records ($n)"
     20 i=0
     21 passes=10
     22 $DIG $DIGOPTS @10.53.0.2 axfr example | grep -v "^ds0" |
     23 awk '$2 == "0" { print "-q", $1, $4; print "-q", "zzz"$1, $4;}' > query.list
     24 while [ $i -lt $passes ]
     25 do
     26 	ret=0
     27 	$DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.1.test$n &
     28 	$DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.2.test$n &
     29 	$DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.3.test$n &
     30 	$DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.4.test$n &
     31 	$DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.5.test$n &
     32 	$DIG $DIGOPTS @10.53.0.3 -f query.list > dig.out$i.6.test$n &
     33 	wait
     34 	grep "status: SERVFAIL" dig.out$i.1.test$n && ret=1
     35 	grep "status: SERVFAIL" dig.out$i.2.test$n && ret=1
     36 	grep "status: SERVFAIL" dig.out$i.3.test$n && ret=1
     37 	grep "status: SERVFAIL" dig.out$i.4.test$n && ret=1
     38 	grep "status: SERVFAIL" dig.out$i.5.test$n && ret=1
     39 	grep "status: SERVFAIL" dig.out$i.6.test$n && ret=1
     40 	[ $ret = 1 ] && break
     41 	i=`expr $i + 1`
     42 	echo_i "successfully completed pass $i of $passes"
     43 done
     44 if [ $ret != 0 ]; then echo_i "failed"; fi
     45 status=`expr $status + $ret`
     46 
     47 n=`expr $n + 1`
     48 echo_i "check repeated recursive lookups of non recurring TTL=0 responses get new values ($n)"
     49 count=`(
     50 $DIG $DIGOPTS +short @10.53.0.3 foo.increment
     51 $DIG $DIGOPTS +short @10.53.0.3 foo.increment
     52 $DIG $DIGOPTS +short @10.53.0.3 foo.increment
     53 $DIG $DIGOPTS +short @10.53.0.3 foo.increment
     54 $DIG $DIGOPTS +short @10.53.0.3 foo.increment
     55 $DIG $DIGOPTS +short @10.53.0.3 foo.increment
     56 $DIG $DIGOPTS +short @10.53.0.3 foo.increment
     57 ) | sort -u | wc -l `
     58 if [ $count -ne 7 ] ; then echo_i "failed (count=$count)"; ret=1; fi
     59 status=`expr $status + $ret`
     60 
     61 n=`expr $n + 1`
     62 echo_i "check lookups against TTL=1 records ($n)"
     63 i=0
     64 passes=10
     65 while [ $i -lt $passes ]
     66 do
     67 	ret=0
     68 	$DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.1.test$n
     69 	$DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.2.test$n
     70 	$DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.3.test$n
     71 	$DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.4.test$n
     72 	$DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.5.test$n
     73 	$DIG $DIGOPTS @10.53.0.3 www.one.tld > dig.out$i.6.test$n
     74 	grep "status: SERVFAIL" dig.out$i.1.test$n && ret=1
     75 	grep "status: SERVFAIL" dig.out$i.2.test$n && ret=1
     76 	grep "status: SERVFAIL" dig.out$i.3.test$n && ret=1
     77 	grep "status: SERVFAIL" dig.out$i.4.test$n && ret=1
     78 	grep "status: SERVFAIL" dig.out$i.5.test$n && ret=1
     79 	grep "status: SERVFAIL" dig.out$i.6.test$n && ret=1
     80 	[ $ret = 1 ] && break
     81 	i=`expr $i + 1`
     82 	echo_i "successfully completed pass $i of $passes"
     83 	$PERL -e 'select(undef, undef, undef, 0.3);'
     84 done
     85 if [ $ret != 0 ]; then echo_i "failed"; fi
     86 status=`expr $status + $ret`
     87 
     88 echo_i "exit status: $status"
     89 [ $status -eq 0 ] || exit 1
     90