# #-- fwd_oneport.test --# # source the master var file when it's there [ -f ../.tpkg.var.master ] && source ../.tpkg.var.master # use .tpkg.var.test for in test variable passing [ -f .tpkg.var.test ] && source .tpkg.var.test PRE="../.." # do the test # skip the single query test # so that all three queries get timeouts during the later test. # #echo "> dig www1.example.com." #dig @localhost -p $UNBOUND_PORT www1.example.com. | tee outfile #echo "> cat logfiles" #cat fwd.log #cat unbound.log #echo "> check answer for single query" #if grep "10.20.30.40" outfile; then #echo "OK" #else #echo "Not OK" #exit 1 #fi echo "> do queries" dig @localhost -p $UNBOUND_PORT www1.example.com. >outfile1 & digpid1=$! dig @localhost -p $UNBOUND_PORT www2.example.com. >outfile2 & digpid2=$! dig @localhost -p $UNBOUND_PORT www3.example.com. >outfile3 & digpid3=$! dig @localhost -p $UNBOUND_PORT www4.example.com. >outfile4 & digpid4=$! dig @localhost -p $UNBOUND_PORT www5.example.com. >outfile5 & digpid5=$! dig @localhost -p $UNBOUND_PORT www6.example.com. >outfile6 & digpid6=$! sleep 12 kill -9 $digpid1 kill -9 $digpid2 kill -9 $digpid3 kill -9 $digpid4 kill -9 $digpid5 kill -9 $digpid6 echo "> cat outfile1" cat outfile1 echo "> cat outfile2" cat outfile2 echo "> cat outfile3" cat outfile3 echo "> cat outfile4" cat outfile4 echo "> cat outfile5" cat outfile5 echo "> cat outfile6" cat outfile6 echo "> cat logfiles" cat fwd.log cat unbound.log echo "> check for ID bit collisions" grep "pending reply" unbound.log > ids numsend=`cat ids | wc -l` cat ids | awk '{print $8};' | sort -u > ids2 numuniq=`cat ids2 | wc -l` if test $numuniq -ne $numsend; then echo "got a ID number clash. could not do test, sorry" exit 0 fi echo "> check answers for queries" if grep "10.20.30.40" outfile1; then echo "1 is OK" else echo "1 is not OK" exit 1 fi if grep "10.20.30.50" outfile2; then echo "2 is OK" else echo "2 is not OK" exit 1 fi if grep "10.20.30.60" outfile3; then echo "3 is OK" else echo "3 is not OK" exit 1 fi if grep "10.20.30.70" outfile4; then echo "4 is OK" else echo "4 is not OK" exit 1 fi if grep "10.20.30.80" outfile5; then echo "5 is OK" else echo "5 is not OK" exit 1 fi if grep "10.20.30.90" outfile6; then echo "6 is OK" else echo "6 is not OK" exit 1 fi exit 0