Home | History | Annotate | Line # | Download | only in serve-stale
tests.sh revision 1.1.1.1.2.2
      1 #!/bin/sh
      2 #
      3 # Copyright (C) Internet Systems Consortium, Inc. ("ISC")
      4 #
      5 # This Source Code Form is subject to the terms of the Mozilla Public
      6 # License, v. 2.0. If a copy of the MPL was not distributed with this
      7 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
      8 #
      9 # See the COPYRIGHT file distributed with this work for additional
     10 # information regarding copyright ownership.
     11 
     12 SYSTEMTESTTOP=..
     13 . $SYSTEMTESTTOP/conf.sh
     14 
     15 RNDCCMD="$RNDC -c $SYSTEMTESTTOP/common/rndc.conf -p ${CONTROLPORT} -s"
     16 
     17 status=0
     18 n=0
     19 
     20 #echo_i "check ans.pl server ($n)"
     21 #$DIG -p ${PORT} @10.53.0.2 example NS
     22 #$DIG -p ${PORT} @10.53.0.2 example SOA
     23 #$DIG -p ${PORT} @10.53.0.2 ns.example A
     24 #$DIG -p ${PORT} @10.53.0.2 ns.example AAAA
     25 #$DIG -p ${PORT} @10.53.0.2 txt enable
     26 #$DIG -p ${PORT} @10.53.0.2 txt disable
     27 #$DIG -p ${PORT} @10.53.0.2 ns.example AAAA
     28 #$DIG -p ${PORT} @10.53.0.2 txt enable
     29 #$DIG -p ${PORT} @10.53.0.2 ns.example AAAA
     30 ##$DIG -p ${PORT} @10.53.0.2 data.example TXT
     31 #$DIG -p ${PORT} @10.53.0.2 nodata.example TXT
     32 #$DIG -p ${PORT} @10.53.0.2 nxdomain.example TXT
     33 
     34 n=`expr $n + 1`
     35 echo_i "prime cache data.example ($n)"
     36 ret=0
     37 $DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
     38 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
     39 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
     40 if [ $ret != 0 ]; then echo_i "failed"; fi
     41 status=`expr $status + $ret`
     42 
     43 n=`expr $n + 1`
     44 echo_i "prime cache nodata.example ($n)"
     45 ret=0
     46 $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
     47 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
     48 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
     49 if [ $ret != 0 ]; then echo_i "failed"; fi
     50 status=`expr $status + $ret`
     51 
     52 n=`expr $n + 1`
     53 echo_i "prime cache nxdomain.example ($n)"
     54 ret=0
     55 $DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT > dig.out.test$n
     56 grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
     57 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
     58 if [ $ret != 0 ]; then echo_i "failed"; fi
     59 status=`expr $status + $ret`
     60 
     61 n=`expr $n + 1`
     62 echo_i "disable responses from authoritative server ($n)"
     63 ret=0
     64 $DIG -p ${PORT} @10.53.0.2 txt disable  > dig.out.test$n
     65 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
     66 grep "TXT.\"0\"" dig.out.test$n > /dev/null || ret=1
     67 if [ $ret != 0 ]; then echo_i "failed"; fi
     68 status=`expr $status + $ret`
     69 
     70 sleep 1
     71 
     72 n=`expr $n + 1`
     73 echo_i "check 'rndc serve-stale status' ($n)"
     74 ret=0
     75 $RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
     76 grep '_default: on (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
     77 if [ $ret != 0 ]; then echo_i "failed"; fi
     78 status=`expr $status + $ret`
     79 
     80 n=`expr $n + 1`
     81 echo_i "check stale data.example ($n)"
     82 ret=0
     83 $DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
     84 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
     85 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
     86 if [ $ret != 0 ]; then echo_i "failed"; fi
     87 status=`expr $status + $ret`
     88 
     89 n=`expr $n + 1`
     90 echo_i "check stale nodata.example ($n)"
     91 ret=0
     92 $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
     93 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
     94 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
     95 if [ $ret != 0 ]; then echo_i "failed"; fi
     96 status=`expr $status + $ret`
     97 
     98 n=`expr $n + 1`
     99 echo_i "check stale nxdomain.example ($n)"
    100 ret=0
    101 $DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT > dig.out.test$n
    102 grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
    103 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    104 if [ $ret != 0 ]; then echo_i "failed"; fi
    105 status=`expr $status + $ret`
    106 
    107 n=`expr $n + 1`
    108 echo_i "running 'rndc serve-stale off' ($n)"
    109 ret=0
    110 $RNDCCMD 10.53.0.1 serve-stale off || ret=1
    111 if [ $ret != 0 ]; then echo_i "failed"; fi
    112 status=`expr $status + $ret`
    113 
    114 n=`expr $n + 1`
    115 echo_i "check 'rndc serve-stale status' ($n)"
    116 ret=0
    117 $RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    118 grep '_default: off (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
    119 if [ $ret != 0 ]; then echo_i "failed"; fi
    120 status=`expr $status + $ret`
    121 
    122 n=`expr $n + 1`
    123 echo_i "check stale data.example (serve-stale off) ($n)"
    124 ret=0
    125 $DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
    126 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    127 if [ $ret != 0 ]; then echo_i "failed"; fi
    128 status=`expr $status + $ret`
    129 if [ $ret != 0 ]; then echo_i "failed"; fi
    130 status=`expr $status + $ret`
    131 
    132 n=`expr $n + 1`
    133 echo_i "check stale nodata.example (serve-stale off) ($n)"
    134 ret=0
    135 $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
    136 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    137 if [ $ret != 0 ]; then echo_i "failed"; fi
    138 status=`expr $status + $ret`
    139 
    140 n=`expr $n + 1`
    141 echo_i "check stale nxdomain.example (serve-stale off) ($n)"
    142 ret=0
    143 $DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT > dig.out.test$n
    144 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    145 if [ $ret != 0 ]; then echo_i "failed"; fi
    146 status=`expr $status + $ret`
    147 
    148 n=`expr $n + 1`
    149 echo_i "running 'rndc serve-stale on' ($n)"
    150 ret=0
    151 $RNDCCMD 10.53.0.1 serve-stale on || ret=1
    152 if [ $ret != 0 ]; then echo_i "failed"; fi
    153 status=`expr $status + $ret`
    154 
    155 n=`expr $n + 1`
    156 echo_i "check 'rndc serve-stale status' ($n)"
    157 ret=0
    158 $RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    159 grep '_default: on (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
    160 if [ $ret != 0 ]; then echo_i "failed"; fi
    161 status=`expr $status + $ret`
    162 
    163 n=`expr $n + 1`
    164 echo_i "check stale data.example (serve-stale on) ($n)"
    165 ret=0
    166 $DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
    167 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    168 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
    169 if [ $ret != 0 ]; then echo_i "failed"; fi
    170 status=`expr $status + $ret`
    171 
    172 n=`expr $n + 1`
    173 echo_i "check stale nodata.example (serve-stale on) ($n)"
    174 ret=0
    175 $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
    176 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    177 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    178 if [ $ret != 0 ]; then echo_i "failed"; fi
    179 status=`expr $status + $ret`
    180 
    181 n=`expr $n + 1`
    182 echo_i "check stale nxdomain.example (serve-stale on) ($n)"
    183 ret=0
    184 $DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT > dig.out.test$n
    185 grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
    186 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    187 if [ $ret != 0 ]; then echo_i "failed"; fi
    188 status=`expr $status + $ret`
    189 
    190 n=`expr $n + 1`
    191 echo_i "running 'rndc serve-stale no' ($n)"
    192 ret=0
    193 $RNDCCMD 10.53.0.1 serve-stale no || ret=1
    194 if [ $ret != 0 ]; then echo_i "failed"; fi
    195 status=`expr $status + $ret`
    196 
    197 n=`expr $n + 1`
    198 echo_i "check 'rndc serve-stale status' ($n)"
    199 ret=0
    200 $RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    201 grep '_default: off (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
    202 if [ $ret != 0 ]; then echo_i "failed"; fi
    203 status=`expr $status + $ret`
    204 
    205 n=`expr $n + 1`
    206 echo_i "check stale data.example (serve-stale no) ($n)"
    207 ret=0
    208 $DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
    209 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    210 if [ $ret != 0 ]; then echo_i "failed"; fi
    211 status=`expr $status + $ret`
    212 
    213 n=`expr $n + 1`
    214 echo_i "check stale nodata.example (serve-stale no) ($n)"
    215 ret=0
    216 $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
    217 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    218 if [ $ret != 0 ]; then echo_i "failed"; fi
    219 status=`expr $status + $ret`
    220 
    221 n=`expr $n + 1`
    222 echo_i "check stale nxdomain.example (serve-stale no) ($n)"
    223 ret=0
    224 $DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT > dig.out.test$n
    225 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    226 if [ $ret != 0 ]; then echo_i "failed"; fi
    227 status=`expr $status + $ret`
    228 
    229 n=`expr $n + 1`
    230 echo_i "running 'rndc serve-stale yes' ($n)"
    231 ret=0
    232 $RNDCCMD 10.53.0.1 serve-stale yes || ret=1
    233 if [ $ret != 0 ]; then echo_i "failed"; fi
    234 status=`expr $status + $ret`
    235 
    236 n=`expr $n + 1`
    237 echo_i "check 'rndc serve-stale status' ($n)"
    238 ret=0
    239 $RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    240 grep '_default: on (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
    241 if [ $ret != 0 ]; then echo_i "failed"; fi
    242 status=`expr $status + $ret`
    243 
    244 n=`expr $n + 1`
    245 echo_i "check stale data.example (serve-stale yes) ($n)"
    246 ret=0
    247 $DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
    248 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    249 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
    250 if [ $ret != 0 ]; then echo_i "failed"; fi
    251 status=`expr $status + $ret`
    252 
    253 n=`expr $n + 1`
    254 echo_i "check stale nodata.example (serve-stale yes) ($n)"
    255 ret=0
    256 $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
    257 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    258 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    259 if [ $ret != 0 ]; then echo_i "failed"; fi
    260 status=`expr $status + $ret`
    261 
    262 n=`expr $n + 1`
    263 echo_i "check stale nxdomain.example (serve-stale yes) ($n)"
    264 ret=0
    265 $DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT > dig.out.test$n
    266 grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
    267 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    268 if [ $ret != 0 ]; then echo_i "failed"; fi
    269 status=`expr $status + $ret`
    270 
    271 n=`expr $n + 1`
    272 echo_i "running 'rndc serve-stale off' ($n)"
    273 ret=0
    274 $RNDCCMD 10.53.0.1 serve-stale off || ret=1
    275 if [ $ret != 0 ]; then echo_i "failed"; fi
    276 status=`expr $status + $ret`
    277 
    278 n=`expr $n + 1`
    279 echo_i "running 'rndc serve-stale reset' ($n)"
    280 ret=0
    281 $RNDCCMD 10.53.0.1 serve-stale reset || ret=1
    282 if [ $ret != 0 ]; then echo_i "failed"; fi
    283 status=`expr $status + $ret`
    284 
    285 n=`expr $n + 1`
    286 echo_i "check 'rndc serve-stale status' ($n)"
    287 ret=0
    288 $RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    289 grep '_default: on (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
    290 if [ $ret != 0 ]; then echo_i "failed"; fi
    291 status=`expr $status + $ret`
    292 
    293 n=`expr $n + 1`
    294 echo_i "check stale data.example (serve-stale reset) ($n)"
    295 ret=0
    296 $DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
    297 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    298 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
    299 if [ $ret != 0 ]; then echo_i "failed"; fi
    300 status=`expr $status + $ret`
    301 
    302 n=`expr $n + 1`
    303 echo_i "check stale nodata.example (serve-stale reset) ($n)"
    304 ret=0
    305 $DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
    306 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    307 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    308 if [ $ret != 0 ]; then echo_i "failed"; fi
    309 status=`expr $status + $ret`
    310 
    311 n=`expr $n + 1`
    312 echo_i "check stale nxdomain.example (serve-stale reset) ($n)"
    313 ret=0
    314 $DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT > dig.out.test$n
    315 grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
    316 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    317 if [ $ret != 0 ]; then echo_i "failed"; fi
    318 status=`expr $status + $ret`
    319 
    320 n=`expr $n + 1`
    321 echo_i "running 'rndc serve-stale off' ($n)"
    322 ret=0
    323 $RNDCCMD 10.53.0.1 serve-stale off || ret=1
    324 if [ $ret != 0 ]; then echo_i "failed"; fi
    325 status=`expr $status + $ret`
    326 
    327 n=`expr $n + 1`
    328 echo_i "check 'rndc serve-stale status' ($n)"
    329 ret=0
    330 $RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    331 grep '_default: off (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
    332 if [ $ret != 0 ]; then echo_i "failed"; fi
    333 status=`expr $status + $ret`
    334 
    335 n=`expr $n + 1`
    336 echo_i "updating ns1/named.conf ($n)"
    337 ret=0
    338 copy_setports ns1/named2.conf.in ns1/named.conf
    339 if [ $ret != 0 ]; then echo_i "failed"; fi
    340 status=`expr $status + $ret`
    341 
    342 n=`expr $n + 1`
    343 echo_i "running 'rndc reload' ($n)"
    344 ret=0
    345 $RNDCCMD 10.53.0.1 reload > rndc.out.test$n 2>&1 || ret=1
    346 grep "server reload successful" rndc.out.test$n > /dev/null || ret=1
    347 if [ $ret != 0 ]; then echo_i "failed"; fi
    348 status=`expr $status + $ret`
    349 
    350 n=`expr $n + 1`
    351 echo_i "check 'rndc serve-stale status' ($n)"
    352 ret=0
    353 $RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    354 grep '_default: off (rndc) (stale-answer-ttl=2 max-stale-ttl=7200)' rndc.out.test$n > /dev/null || ret=1
    355 if [ $ret != 0 ]; then echo_i "failed"; fi
    356 status=`expr $status + $ret`
    357 
    358 n=`expr $n + 1`
    359 echo_i "check 'rndc serve-stale' ($n)"
    360 ret=0
    361 $RNDCCMD 10.53.0.1 serve-stale > rndc.out.test$n 2>&1 && ret=1
    362 grep "unexpected end of input" rndc.out.test$n > /dev/null || ret=1
    363 if [ $ret != 0 ]; then echo_i "failed"; fi
    364 status=`expr $status + $ret`
    365 
    366 n=`expr $n + 1`
    367 echo_i "check 'rndc serve-stale unknown' ($n)"
    368 ret=0
    369 $RNDCCMD 10.53.0.1 serve-stale unknown > rndc.out.test$n 2>&1 && ret=1
    370 grep "syntax error" rndc.out.test$n > /dev/null || ret=1
    371 if [ $ret != 0 ]; then echo_i "failed"; fi
    372 status=`expr $status + $ret`
    373 
    374 n=`expr $n + 1`
    375 echo_i "enable responses from authoritative server ($n)"
    376 ret=0
    377 $DIG -p ${PORT} @10.53.0.2 txt enable  > dig.out.test$n
    378 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
    379 grep "TXT.\"1\"" dig.out.test$n > /dev/null || ret=1
    380 if [ $ret != 0 ]; then echo_i "failed"; fi
    381 status=`expr $status + $ret`
    382 
    383 n=`expr $n + 1`
    384 echo_i "prime cache data.example (max-stale-ttl default) ($n)"
    385 ret=0
    386 $DIG -p ${PORT} @10.53.0.3 data.example TXT > dig.out.test$n
    387 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    388 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
    389 if [ $ret != 0 ]; then echo_i "failed"; fi
    390 status=`expr $status + $ret`
    391 
    392 n=`expr $n + 1`
    393 echo_i "prime cache nodata.example (max-stale-ttl default) ($n)"
    394 ret=0
    395 $DIG -p ${PORT} @10.53.0.3 nodata.example TXT > dig.out.test$n
    396 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    397 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    398 if [ $ret != 0 ]; then echo_i "failed"; fi
    399 status=`expr $status + $ret`
    400 
    401 n=`expr $n + 1`
    402 echo_i "prime cache nxdomain.example (max-stale-ttl default) ($n)"
    403 ret=0
    404 $DIG -p ${PORT} @10.53.0.3 nxdomain.example TXT > dig.out.test$n
    405 grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
    406 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    407 if [ $ret != 0 ]; then echo_i "failed"; fi
    408 status=`expr $status + $ret`
    409 
    410 n=`expr $n + 1`
    411 echo_i "disable responses from authoritative server ($n)"
    412 ret=0
    413 $DIG -p ${PORT} @10.53.0.2 txt disable  > dig.out.test$n
    414 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
    415 grep "TXT.\"0\"" dig.out.test$n > /dev/null || ret=1
    416 if [ $ret != 0 ]; then echo_i "failed"; fi
    417 status=`expr $status + $ret`
    418 
    419 sleep 1
    420 
    421 n=`expr $n + 1`
    422 echo_i "check 'rndc serve-stale status' ($n)"
    423 ret=0
    424 $RNDCCMD 10.53.0.3 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    425 grep '_default: off (stale-answer-ttl=1 max-stale-ttl=604800)' rndc.out.test$n > /dev/null || ret=1
    426 if [ $ret != 0 ]; then echo_i "failed"; fi
    427 status=`expr $status + $ret`
    428 
    429 n=`expr $n + 1`
    430 echo_i "check fail of data.example (max-stale-ttl default) ($n)"
    431 ret=0
    432 $DIG -p ${PORT} @10.53.0.3 data.example TXT > dig.out.test$n
    433 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    434 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    435 if [ $ret != 0 ]; then echo_i "failed"; fi
    436 status=`expr $status + $ret`
    437 
    438 n=`expr $n + 1`
    439 echo_i "check fail of nodata.example (max-stale-ttl default) ($n)"
    440 ret=0
    441 $DIG -p ${PORT} @10.53.0.3 nodata.example TXT > dig.out.test$n
    442 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    443 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    444 if [ $ret != 0 ]; then echo_i "failed"; fi
    445 status=`expr $status + $ret`
    446 
    447 n=`expr $n + 1`
    448 echo_i "check fail of nxdomain.example (max-stale-ttl default) ($n)"
    449 ret=0
    450 $DIG -p ${PORT} @10.53.0.3 nxdomain.example TXT > dig.out.test$n
    451 grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
    452 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    453 if [ $ret != 0 ]; then echo_i "failed"; fi
    454 status=`expr $status + $ret`
    455 
    456 n=`expr $n + 1`
    457 echo_i "check 'rndc serve-stale on' ($n)"
    458 ret=0
    459 $RNDCCMD 10.53.0.3 serve-stale on > rndc.out.test$n 2>&1 || ret=1
    460 if [ $ret != 0 ]; then echo_i "failed"; fi
    461 status=`expr $status + $ret`
    462 
    463 n=`expr $n + 1`
    464 echo_i "check 'rndc serve-stale status' ($n)"
    465 ret=0
    466 $RNDCCMD 10.53.0.3 serve-stale status > rndc.out.test$n 2>&1 || ret=1
    467 grep '_default: on (rndc) (stale-answer-ttl=1 max-stale-ttl=604800)' rndc.out.test$n > /dev/null || ret=1
    468 if [ $ret != 0 ]; then echo_i "failed"; fi
    469 status=`expr $status + $ret`
    470 
    471 n=`expr $n + 1`
    472 echo_i "check data.example (max-stale-ttl default) ($n)"
    473 ret=0
    474 $DIG -p ${PORT} @10.53.0.3 data.example TXT > dig.out.test$n
    475 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    476 grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
    477 if [ $ret != 0 ]; then echo_i "failed"; fi
    478 status=`expr $status + $ret`
    479 
    480 n=`expr $n + 1`
    481 echo_i "check nodata.example (max-stale-ttl default) ($n)"
    482 ret=0
    483 $DIG -p ${PORT} @10.53.0.3 nodata.example TXT > dig.out.test$n
    484 grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
    485 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    486 if [ $ret != 0 ]; then echo_i "failed"; fi
    487 status=`expr $status + $ret`
    488 
    489 n=`expr $n + 1`
    490 echo_i "check nxdomain.example (max-stale-ttl default) ($n)"
    491 ret=0
    492 $DIG -p ${PORT} @10.53.0.3 nxdomain.example TXT > dig.out.test$n
    493 grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
    494 grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
    495 if [ $ret != 0 ]; then echo_i "failed"; fi
    496 status=`expr $status + $ret`
    497 
    498 echo_i "exit status: $status"
    499 [ $status -eq 0 ] || exit 1
    500