1*00b67f09SDavid van Moolenbroek#!/bin/sh 2*00b67f09SDavid van Moolenbroek# 3*00b67f09SDavid van Moolenbroek# Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC") 4*00b67f09SDavid van Moolenbroek# 5*00b67f09SDavid van Moolenbroek# Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek# purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek# copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek# 9*00b67f09SDavid van Moolenbroek# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek# PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek 17*00b67f09SDavid van Moolenbroek# Id: tests.sh,v 1.7 2011/11/06 23:46:40 tbox Exp 18*00b67f09SDavid van Moolenbroek 19*00b67f09SDavid van MoolenbroekSYSTEMTESTTOP=.. 20*00b67f09SDavid van Moolenbroek. $SYSTEMTESTTOP/conf.sh 21*00b67f09SDavid van Moolenbroek 22*00b67f09SDavid van Moolenbroekstatus=0 23*00b67f09SDavid van Moolenbroekn=0 24*00b67f09SDavid van Moolenbroek 25*00b67f09SDavid van Moolenbroekdotests() { 26*00b67f09SDavid van Moolenbroek n=`expr $n + 1` 27*00b67f09SDavid van Moolenbroek echo "I:test with RT, single zone ($n)" 28*00b67f09SDavid van Moolenbroek ret=0 29*00b67f09SDavid van Moolenbroek $DIG -t RT rt.rt.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1 30*00b67f09SDavid van Moolenbroek if [ $ret -eq 1 ] ; then 31*00b67f09SDavid van Moolenbroek echo "I: failed"; status=1 32*00b67f09SDavid van Moolenbroek fi 33*00b67f09SDavid van Moolenbroek 34*00b67f09SDavid van Moolenbroek n=`expr $n + 1` 35*00b67f09SDavid van Moolenbroek echo "I:test with RT, two zones ($n)" 36*00b67f09SDavid van Moolenbroek ret=0 37*00b67f09SDavid van Moolenbroek $DIG -t RT rt.rt2.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1 38*00b67f09SDavid van Moolenbroek if [ $ret -eq 1 ] ; then 39*00b67f09SDavid van Moolenbroek echo "I: failed"; status=1 40*00b67f09SDavid van Moolenbroek fi 41*00b67f09SDavid van Moolenbroek 42*00b67f09SDavid van Moolenbroek n=`expr $n + 1` 43*00b67f09SDavid van Moolenbroek echo "I:test with NAPTR, single zone ($n)" 44*00b67f09SDavid van Moolenbroek ret=0 45*00b67f09SDavid van Moolenbroek $DIG -t NAPTR nap.naptr.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1 46*00b67f09SDavid van Moolenbroek if [ $ret -eq 1 ] ; then 47*00b67f09SDavid van Moolenbroek echo "I: failed"; status=1 48*00b67f09SDavid van Moolenbroek fi 49*00b67f09SDavid van Moolenbroek 50*00b67f09SDavid van Moolenbroek n=`expr $n + 1` 51*00b67f09SDavid van Moolenbroek echo "I:test with NAPTR, two zones ($n)" 52*00b67f09SDavid van Moolenbroek ret=0 53*00b67f09SDavid van Moolenbroek $DIG -t NAPTR nap.hang3b.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1 54*00b67f09SDavid van Moolenbroek if [ $ret -eq 1 ] ; then 55*00b67f09SDavid van Moolenbroek echo "I: failed"; status=1 56*00b67f09SDavid van Moolenbroek fi 57*00b67f09SDavid van Moolenbroek 58*00b67f09SDavid van Moolenbroek n=`expr $n + 1` 59*00b67f09SDavid van Moolenbroek echo "I:test with LP ($n)" 60*00b67f09SDavid van Moolenbroek ret=0 61*00b67f09SDavid van Moolenbroek $DIG -t LP nid2.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1 62*00b67f09SDavid van Moolenbroek if [ $minimal = no ] ; then 63*00b67f09SDavid van Moolenbroek grep "L64" dig.out.$n > /dev/null || ret=1 64*00b67f09SDavid van Moolenbroek grep "L32" dig.out.$n > /dev/null || ret=1 65*00b67f09SDavid van Moolenbroek else 66*00b67f09SDavid van Moolenbroek grep "L64" dig.out.$n > /dev/null && ret=1 67*00b67f09SDavid van Moolenbroek grep "L32" dig.out.$n > /dev/null && ret=1 68*00b67f09SDavid van Moolenbroek fi 69*00b67f09SDavid van Moolenbroek if [ $ret -eq 1 ] ; then 70*00b67f09SDavid van Moolenbroek echo "I: failed"; status=1 71*00b67f09SDavid van Moolenbroek fi 72*00b67f09SDavid van Moolenbroek 73*00b67f09SDavid van Moolenbroek n=`expr $n + 1` 74*00b67f09SDavid van Moolenbroek echo "I:test with NID ($n)" 75*00b67f09SDavid van Moolenbroek ret=0 76*00b67f09SDavid van Moolenbroek $DIG -t NID ns1.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1 77*00b67f09SDavid van Moolenbroek if [ $minimal = no ] ; then 78*00b67f09SDavid van Moolenbroek # change && to || when we support NID additional processing 79*00b67f09SDavid van Moolenbroek grep "L64" dig.out.$n > /dev/null && ret=1 80*00b67f09SDavid van Moolenbroek grep "L32" dig.out.$n > /dev/null && ret=1 81*00b67f09SDavid van Moolenbroek else 82*00b67f09SDavid van Moolenbroek grep "L64" dig.out.$n > /dev/null && ret=1 83*00b67f09SDavid van Moolenbroek grep "L32" dig.out.$n > /dev/null && ret=1 84*00b67f09SDavid van Moolenbroek fi 85*00b67f09SDavid van Moolenbroek if [ $ret -eq 1 ] ; then 86*00b67f09SDavid van Moolenbroek echo "I: failed"; status=1 87*00b67f09SDavid van Moolenbroek fi 88*00b67f09SDavid van Moolenbroek 89*00b67f09SDavid van Moolenbroek n=`expr $n + 1` 90*00b67f09SDavid van Moolenbroek echo "I:test with NID + LP ($n)" 91*00b67f09SDavid van Moolenbroek ret=0 92*00b67f09SDavid van Moolenbroek $DIG -t NID nid2.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1 93*00b67f09SDavid van Moolenbroek if [ $minimal = no ] ; then 94*00b67f09SDavid van Moolenbroek # change && to || when we support NID additional processing 95*00b67f09SDavid van Moolenbroek grep "LP" dig.out.$n > /dev/null && ret=1 96*00b67f09SDavid van Moolenbroek grep "L64" dig.out.$n > /dev/null && ret=1 97*00b67f09SDavid van Moolenbroek grep "L32" dig.out.$n > /dev/null && ret=1 98*00b67f09SDavid van Moolenbroek else 99*00b67f09SDavid van Moolenbroek grep "LP" dig.out.$n > /dev/null && ret=1 100*00b67f09SDavid van Moolenbroek grep "L64" dig.out.$n > /dev/null && ret=1 101*00b67f09SDavid van Moolenbroek grep "L32" dig.out.$n > /dev/null && ret=1 102*00b67f09SDavid van Moolenbroek fi 103*00b67f09SDavid van Moolenbroek if [ $ret -eq 1 ] ; then 104*00b67f09SDavid van Moolenbroek echo "I: failed"; status=1 105*00b67f09SDavid van Moolenbroek fi 106*00b67f09SDavid van Moolenbroek} 107*00b67f09SDavid van Moolenbroek 108*00b67f09SDavid van Moolenbroekecho "I:testing with 'minimal-responses yes;'" 109*00b67f09SDavid van Moolenbroekminimal=yes 110*00b67f09SDavid van Moolenbroekdotests 111*00b67f09SDavid van Moolenbroek 112*00b67f09SDavid van Moolenbroekecho "I:reconfiguring server" 113*00b67f09SDavid van Moolenbroekcp ns1/named2.conf ns1/named.conf 114*00b67f09SDavid van Moolenbroek$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig 2>&1 | sed 's/^/I:ns1 /' 115*00b67f09SDavid van Moolenbroeksleep 2 116*00b67f09SDavid van Moolenbroek 117*00b67f09SDavid van Moolenbroekecho "I:testing with 'minimal-responses no;'" 118*00b67f09SDavid van Moolenbroekminimal=no 119*00b67f09SDavid van Moolenbroekdotests 120*00b67f09SDavid van Moolenbroek 121*00b67f09SDavid van Moolenbroekexit $status 122