summaryrefslogtreecommitdiff
path: root/testdata/fwd_oneport.tdir/fwd_oneport.test
diff options
context:
space:
mode:
Diffstat (limited to 'testdata/fwd_oneport.tdir/fwd_oneport.test')
-rw-r--r--testdata/fwd_oneport.tdir/fwd_oneport.test111
1 files changed, 111 insertions, 0 deletions
diff --git a/testdata/fwd_oneport.tdir/fwd_oneport.test b/testdata/fwd_oneport.tdir/fwd_oneport.test
new file mode 100644
index 000000000000..f6dfcea91f71
--- /dev/null
+++ b/testdata/fwd_oneport.tdir/fwd_oneport.test
@@ -0,0 +1,111 @@
+# #-- 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 6
+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