1#!/bin/sh 2# 3# Copyright (C) 2010-2013 Internet Systems Consortium, Inc. ("ISC") 4# 5# Permission to use, copy, modify, and/or distribute this software for any 6# purpose with or without fee is hereby granted, provided that the above 7# copyright notice and this permission notice appear in all copies. 8# 9# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15# PERFORMANCE OF THIS SOFTWARE. 16 17# Id: tests.sh,v 1.4 2011/04/19 23:47:52 tbox Exp 18 19SYSTEMTESTTOP=.. 20. $SYSTEMTESTTOP/conf.sh 21 22status=0 23n=0 24 25rm -f dig.out.* 26 27DIGOPTS="+tcp +noadd +nosea +nostat +nocmd +dnssec -p 5300" 28 29# Check the example.com. domain 30 31echo "I:checking DNAME at apex works ($n)" 32ret=0 33$DIG $DIGOPTS +norec foo.example.com. \ 34 @10.53.0.1 a > dig.out.ns1.test$n || ret=1 35grep "status: NOERROR" dig.out.ns1.test$n > /dev/null || ret=1 36grep "example.com..*DNAME.*example.net." dig.out.ns1.test$n > /dev/null || ret=1 37grep "foo.example.com..*CNAME.*foo.example.net." dig.out.ns1.test$n > /dev/null || ret=1 38grep "flags:[^;]* aa[ ;]" dig.out.ns1.test$n > /dev/null || ret=1 39n=`expr $n + 1` 40if [ $ret != 0 ]; then echo "I:failed"; fi 41status=`expr $status + $ret` 42 43echo "I:checking DLZ IXFR=2010062899 (less than serial) ($n)" 44ret=0 45$DIG $DIGOPTS ixfr=2010062899 example.com @10.53.0.1 +all > dig.out.ns1.test$n 46grep "example.com..*IN.IXFR" dig.out.ns1.test$n > /dev/null || ret=1 47grep "example.com..*10.IN.DNAME.example.net." dig.out.ns1.test$n > /dev/null || ret=1 48grep "example.com..*10.IN.NS.example.com." dig.out.ns1.test$n > /dev/null || ret=1 49n=`expr $n + 1` 50if [ $ret != 0 ]; then echo "I:failed"; fi 51status=`expr $status + $ret` 52 53echo "I:checking DLZ IXFR=2010062900 (equal serial) ($n)" 54ret=0 55$DIG $DIGOPTS ixfr=2010062900 example.com @10.53.0.1 +all > dig.out.ns1.test$n 56grep "example.com..*IN.IXFR" dig.out.ns1.test$n > /dev/null || ret=1 57grep "example.com..*10.IN.DNAME.example.net." dig.out.ns1.test$n > /dev/null && ret=1 58grep "example.com..*10.IN.NS.example.com." dig.out.ns1.test$n > /dev/null && ret=1 59n=`expr $n + 1` 60if [ $ret != 0 ]; then echo "I:failed"; fi 61status=`expr $status + $ret` 62 63echo "I:checking DLZ IXFR=2010062901 (greater than serial) ($n)" 64ret=0 65$DIG $DIGOPTS ixfr=2010062901 example.com @10.53.0.1 +all > dig.out.ns1.test$n 66grep "example.com..*IN.IXFR" dig.out.ns1.test$n > /dev/null || ret=1 67grep "example.com..*10.IN.DNAME.example.net." dig.out.ns1.test$n > /dev/null && ret=1 68grep "example.com..*10.IN.NS.example.com." dig.out.ns1.test$n > /dev/null && ret=1 69n=`expr $n + 1` 70if [ $ret != 0 ]; then echo "I:failed"; fi 71status=`expr $status + $ret` 72 73echo "I:exit status: $status" 74exit $status 75