diff --git a/bin/tests/system/ifconfig.sh b/bin/tests/system/ifconfig.sh index 66a04d72eb..dc9205e91f 100644 --- a/bin/tests/system/ifconfig.sh +++ b/bin/tests/system/ifconfig.sh @@ -3,7 +3,37 @@ # Set up interface aliases for bind9 system tests. # +sys=`../../../config.guess` +case "$sys" in + sparc-sun-solaris2.6) + sparc-sun-solaris2.7) + sparc-sun-solaris2.8) + type="lo0" + ;; + i686-pc-linux-gnu) + type="lo" + ;; + i386-unknown-freebsdelf3.4) + i386-unknown-netbsd1.4.2) + type="alias" + ;; +esac + for ns in 1 2 3 4 -do - ifconfig lo0 10.53.0.$ns alias +do + case "$type" in + lo0) + ifconfig lo0:$ns 10.53.0.$ns up + ;; + lo) + ifconfig lo:$ns 10.50.0.$ns up + ;; + alias) + ifconfig lo0 10.50.0.$ns alias + ;; + *) + echo "Don't know how to set up interface. Giving up." + exit 1 + esac + done diff --git a/bin/tests/system/run.sh b/bin/tests/system/run.sh index fc3cb9ba92..d9e6826e4a 100644 --- a/bin/tests/system/run.sh +++ b/bin/tests/system/run.sh @@ -20,3 +20,10 @@ fi # Start name servers running sh start.sh $test +# Run the tests +( cd $test ; sh tests.sh ) + +echo "Result code $?" + +# Shutdown +sh stop.sh $test diff --git a/bin/tests/system/start.sh b/bin/tests/system/start.sh index ea4194cb9c..c583dc3ded 100644 --- a/bin/tests/system/start.sh +++ b/bin/tests/system/start.sh @@ -8,7 +8,7 @@ cd $1 for d in ns* do ( - cd $d && + cd $d rm -f *.jnl *.bk named.run && if test -f named.pid then @@ -20,7 +20,7 @@ do rm -f named.pid fi fi - $NAMED -c named.conf -d 99 -g >named.run 2>&1 & && + $NAMED -c named.conf -d 99 -g >named.run 2>&1 & while test ! -f named.pid do sleep 1 diff --git a/bin/tests/system/stop.sh b/bin/tests/system/stop.sh index b9781ddb38..394f7e27dc 100644 --- a/bin/tests/system/stop.sh +++ b/bin/tests/system/stop.sh @@ -8,5 +8,7 @@ cd $1 for d in ns* do pidfile="$d/named.pid" - test ! -f $pidfile || kill -INT `cat $pidfile` + if [ -f $pidfile ]; then + kill -TERM `cat $pidfile` + fi done diff --git a/bin/tests/system/xfer/clean.sh b/bin/tests/system/xfer/clean.sh index 554ccd8571..8b725e8d25 100644 --- a/bin/tests/system/xfer/clean.sh +++ b/bin/tests/system/xfer/clean.sh @@ -3,4 +3,4 @@ # Clean up after zone transfer tests. # -rm -f ns3/example.bk +rm -f ns3/example.bk dig.out.ns2 dig.out.ns3 diff --git a/bin/tests/system/xfer/knowngood.dig.out b/bin/tests/system/xfer/knowngood.dig.out new file mode 100644 index 0000000000..e85ecd62e4 --- /dev/null +++ b/bin/tests/system/xfer/knowngood.dig.out @@ -0,0 +1,105 @@ +example. 300 IN SOA mname1. . ( 2000042795 20 20 1814400 3600 ) +example. 300 IN NS ns2.example. +example. 300 IN NS ns3.example. +*.example. 300 IN MX 10 mail.example. +a.example. 300 IN TXT "foo foo foo" +a.example. 300 IN PTR foo.net. +a01.example. 3600 IN A 0.0.0.0 +a02.example. 3600 IN A 255.255.255.255 +a601.example. 3600 IN A6 0 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff +a601.example. 3600 IN A6 64 ::ffff:ffff:ffff:ffff foo. +a601.example. 3600 IN A6 127 ::1 foo. +a601.example. 3600 IN A6 128 . +afsdb01.example. 3600 IN AFSDB 0 hostname.example. +afsdb02.example. 3600 IN AFSDB 65535 . +b.example. 300 IN CNAME foo.net. +c.example. 300 IN A 73.80.65.49 +cert01.example. 3600 IN CERT 65534 65535 PRIVATEOID MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgiWCn/GxHhai6V AuHAoNUz4YoU1tVfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY= +cname01.example. 3600 IN CNAME cname-target. +cname02.example. 3600 IN CNAME cname-target.example. +cname03.example. 3600 IN CNAME . +d.example. 300 IN A 73.80.65.49 +dname01.example. 3600 IN DNAME dname-target. +dname02.example. 3600 IN DNAME dname-target.example. +dname03.example. 3600 IN DNAME . +e.example. 300 IN MX 10 mail.example. +e.example. 300 IN TXT "one" +e.example. 300 IN TXT "three" +e.example. 300 IN TXT "two" +e.example. 300 IN A 73.80.65.49 +e.example. 300 IN A 73.80.65.50 +e.example. 300 IN A 73.80.65.52 +e.example. 300 IN A 73.80.65.51 +f.example. 300 IN A 73.80.65.52 +gpos01.example. 3600 IN GPOS "-22.6882" "116.8652" "250.0" +gpos02.example. 3600 IN GPOS "" "" "" +hinfo01.example. 3600 IN HINFO "Generic PC clone" "NetBSD-1.4" +hinfo02.example. 3600 IN HINFO "PC" "NetBSD" +isdn01.example. 3600 IN ISDN "isdn-address" +isdn02.example. 3600 IN ISDN "isdn-address" "subaddress" +isdn03.example. 3600 IN ISDN "isdn-address" +isdn04.example. 3600 IN ISDN "isdn-address" "subaddress" +key01.example. 3600 IN KEY 512 255 1 AQMFD5raczCJHViKtLYhWGz8hMY9UGRuniJDBzC7w0aRyzWZriO6i2od GWWQVucZqKVsENW91IOW4vqudngPZsY3GvQ/xVA8/7pyFj6b7Esga60z yGW6LFe9r8n6paHrlG5ojqf0BaqHT+8= +kx01.example. 3600 IN KX 10 kdc.example. +kx02.example. 3600 IN KX 10 . +loc01.example. 3600 IN LOC 60 9 0.000 N 24 39 0.000 E 10.00m 20m 2000m 20m +loc02.example. 3600 IN LOC 60 9 0.000 N 24 39 0.000 E 10.00m 20m 2000m 20m +mb01.example. 3600 IN MG madname.example. +mb02.example. 3600 IN MG . +md01.example. 3600 IN MD madname.example. +md01.example. 3600 IN MD . +mf01.example. 3600 IN MF madname.example. +mf01.example. 3600 IN MF . +mg01.example. 3600 IN MG mgmname.example. +mg02.example. 3600 IN MG . +minfo01.example. 3600 IN MINFO rmailbx.example. emailbx.example. +minfo02.example. 3600 IN MINFO . . +mr01.example. 3600 IN MR mrname.example. +mr02.example. 3600 IN MR . +mx01.example. 3600 IN MX 10 mail.example. +mx02.example. 3600 IN MX 10 . +naptr01.example. 3600 IN NAPTR 0 0 "" "" "" . +naptr02.example. 3600 IN NAPTR 65535 65535 "blurgh" "blorf" "blegh" foo. +ns2.example. 300 IN A 10.53.0.2 +ns3.example. 300 IN A 10.53.0.3 +nsap-ptr01.example. 3600 IN NSAP-PTR foo. +nsap-ptr01.example. 3600 IN NSAP-PTR . +nsap01.example. 3600 IN NSAP 0x47000580005a0000000001e133ffffff00016100 +nsap02.example. 3600 IN NSAP 0x47000580005a0000000001e133ffffff00016100 +nxt01.example. 3600 IN NXT a.secure.example. ( NS SOA MX SIG KEY LOC NXT ) +nxt02.example. 3600 IN NXT . ( NSAP-PTR NXT ) +nxt03.example. 3600 IN NXT . ( A ) +nxt04.example. 3600 IN NXT . ( 127 ) +ptr01.example. 3600 IN PTR example. +px01.example. 3600 IN PX 65535 foo. bar. +px02.example. 3600 IN PX 65535 . . +rp01.example. 3600 IN RP mbox-dname.example. txt-dname.example. +rp02.example. 3600 IN RP . . +rt01.example. 3600 IN RT 0 intermediate-host.example. +rt02.example. 3600 IN RT 65535 . +s.example. 300 IN NS ns.s.example. +ns.s.example. 300 IN A 73.80.65.49 +sig01.example. 3600 IN SIG NXT 1 3 3600 20000102030405 19961211100908 2143 foo.example. MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45IkskceFGgiWCn/GxHhai6V AuHAoNUz4YoU1tVfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY= +srv01.example. 3600 IN SRV 0 0 0 . +srv02.example. 3600 IN SRV 65535 65535 65535 old-slow-box.example.com. +t.example. 301 IN A 73.80.65.49 +txt01.example. 3600 IN TXT "foo" +txt02.example. 3600 IN TXT "foo" "bar" +txt03.example. 3600 IN TXT "foo" +txt04.example. 3600 IN TXT "foo" "bar" +txt05.example. 3600 IN TXT "foo bar" +txt06.example. 3600 IN TXT "foo bar" +txt07.example. 3600 IN TXT "foo bar" +txt08.example. 3600 IN TXT "foo\010bar" +txt09.example. 3600 IN TXT "foo\010bar" +txt10.example. 3600 IN TXT "foo bar" +txt11.example. 3600 IN TXT "\"foo\"" +txt12.example. 3600 IN TXT "\"foo\"" +u.example. 300 IN TXT "txt-not-in-nxt" +a.u.example. 300 IN A 73.80.65.49 +b.u.example. 300 IN A 73.80.65.49 +wks01.example. 3600 IN WKS 10.0.0.1 6 ( 0 1 2 21 23 ) +wks02.example. 3600 IN WKS 10.0.0.1 17 ( 0 1 2 53 ) +wks03.example. 3600 IN WKS 10.0.0.2 6 ( 65535 ) +x2501.example. 3600 IN X25 "123456789" +example. 300 IN SOA mname1. . ( 2000042795 20 20 1814400 3600 ) diff --git a/bin/tests/system/xfer/tests.sh b/bin/tests/system/xfer/tests.sh new file mode 100644 index 0000000000..ab7cbf5109 --- /dev/null +++ b/bin/tests/system/xfer/tests.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# +# Perform tests +# + +if [ -f dig.out.ns2 ]; then + rm -f dig.out.ns2 +fi +if [ -f dig.out.ns3 ]; then + rm -f dig.out.ns3 +fi + + +status=0; +../../../dig/dig +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example. \ + @10.53.0.2 axfr > dig.out.ns2 +status=`expr $status + $?` +grep ";" dig.out.ns2 + +../../../dig/dig +tcp +noadd +nosea +nostat +noquest +nocomm +nocmd example. \ + @10.53.0.3 axfr > dig.out.ns3 +status=`expr $status + $?` +grep ";" dig.out.ns3 + +perl ../digcomp.pl knowngood.dig.out dig.out.ns2 +status=`expr $status + $?` + +perl ../digcomp.pl knowngood.dig.out dig.out.ns3 +status=`expr $status + $?`