tests.sh
来自「非常好的dns解析软件」· Shell 代码 · 共 330 行
SH
330 行
#!/bin/sh## Copyright (C) 2006 Internet Systems Consortium, Inc. ("ISC")## Permission to use, copy, modify, and distribute this software for any# purpose with or without fee is hereby granted, provided that the above# copyright notice and this permission notice appear in all copies.## THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR# PERFORMANCE OF THIS SOFTWARE.# $Id: tests.sh,v 1.2.2.2 2006/03/05 23:58:51 marka Exp $SYSTEMTESTTOP=... $SYSTEMTESTTOP/conf.shstatus=0###echo "I: Checking order fixed (master)"ret=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.1 fixed.example > dig.out.fixed || ret=1cmp -s dig.out.fixed dig.out.fixed.good || ret=1doneif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`###echo "I: Checking order cyclic (master)"ret=0match1=0match2=0match3=0match4=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.1 cyclic.example > dig.out.cyclic || ret=1cmp -s dig.out.cyclic dig.out.cyclic.good1 || \cmp -s dig.out.cyclic dig.out.cyclic.good2 || \cmp -s dig.out.cyclic dig.out.cyclic.good3 || \cmp -s dig.out.cyclic dig.out.cyclic.good4 || \ret=1cmp -s dig.out.cyclic dig.out.cyclic.good1 && match1=1cmp -s dig.out.cyclic dig.out.cyclic.good2 && match2=1cmp -s dig.out.cyclic dig.out.cyclic.good3 && match3=1cmp -s dig.out.cyclic dig.out.cyclic.good4 && match4=1donematch=`expr $match1 + $match2 + $match3 + $match4`if [ $match != 4 ]; then ret=1; fiif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`echo "I: Checking order random (master)"ret=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24do eval match$i=0donefor i in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 9do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.1 random.example > dig.out.random || ret=1 match=0 for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 do eval "cmp -s dig.out.random dig.out.random.good$j && match$j=1 match=1" if [ $match -eq 1 ]; then break; fi done if [ $match -eq 0 ]; then ret=1; fidonematch=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24do eval "match=\`expr \$match + \$match$i\`"doneecho "I: Random selection return $match of 24 possible orders in 36 samples"if [ $match -lt 8 ]; then echo ret=1; fiif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`###echo "I: Checking order fixed (slave)"ret=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.2 fixed.example > dig.out.fixed || ret=1cmp -s dig.out.fixed dig.out.fixed.good || ret=1doneif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`###echo "I: Checking order cyclic (slave)"ret=0match1=0match2=0match3=0match4=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.2 cyclic.example > dig.out.cyclic || ret=1cmp -s dig.out.cyclic dig.out.cyclic.good1 || \cmp -s dig.out.cyclic dig.out.cyclic.good2 || \cmp -s dig.out.cyclic dig.out.cyclic.good3 || \cmp -s dig.out.cyclic dig.out.cyclic.good4 || \ret=1cmp -s dig.out.cyclic dig.out.cyclic.good1 && match1=1cmp -s dig.out.cyclic dig.out.cyclic.good2 && match2=1cmp -s dig.out.cyclic dig.out.cyclic.good3 && match3=1cmp -s dig.out.cyclic dig.out.cyclic.good4 && match4=1donematch=`expr $match1 + $match2 + $match3 + $match4`if [ $match != 4 ]; then ret=1; fiif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`echo "I: Checking order random (slave)"ret=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24do eval match$i=0donefor i in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 9do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.2 random.example > dig.out.random || ret=1 match=0 for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 do eval "cmp -s dig.out.random dig.out.random.good$j && match$j=1 match=1" if [ $match -eq 1 ]; then break; fi done if [ $match -eq 0 ]; then ret=1; fidonematch=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24doeval "match=\`expr \$match + \$match$i\`"doneecho "I: Random selection return $match of 24 possible orders in 36 samples"if [ $match -lt 8 ]; then echo ret=1; fiif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`echo "I: Shutting down slave"(cd ..; sh stop.sh rrsetorder ns2 )echo "I: Checking for slave's on disk copy of zone"if [ ! -f ns2/root.bk ]then echo "I:failed"; status=`expr $status + 1`fiecho "I: Re-starting slave"(cd ..; sh start.sh --noclean rrsetorder ns2 )###echo "I: Checking order fixed (slave loaded from disk)"ret=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.2 fixed.example > dig.out.fixed || ret=1cmp -s dig.out.fixed dig.out.fixed.good || ret=1doneif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`###echo "I: Checking order cyclic (slave loaded from disk)"ret=0match1=0match2=0match3=0match4=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.2 cyclic.example > dig.out.cyclic || ret=1cmp -s dig.out.cyclic dig.out.cyclic.good1 || \cmp -s dig.out.cyclic dig.out.cyclic.good2 || \cmp -s dig.out.cyclic dig.out.cyclic.good3 || \cmp -s dig.out.cyclic dig.out.cyclic.good4 || \ret=1cmp -s dig.out.cyclic dig.out.cyclic.good1 && match1=1cmp -s dig.out.cyclic dig.out.cyclic.good2 && match2=1cmp -s dig.out.cyclic dig.out.cyclic.good3 && match3=1cmp -s dig.out.cyclic dig.out.cyclic.good4 && match4=1donematch=`expr $match1 + $match2 + $match3 + $match4`if [ $match != 4 ]; then ret=1; fiif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`echo "I: Checking order random (slave loaded from disk)"ret=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24do eval match$i=0donefor i in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 9do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.2 random.example > dig.out.random || ret=1 match=0 for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 do eval "cmp -s dig.out.random dig.out.random.good$j && match$j=1 match=1" if [ $match -eq 1 ]; then break; fi done if [ $match -eq 0 ]; then ret=1; fidonematch=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24doeval "match=\`expr \$match + \$match$i\`"doneecho "I: Random selection return $match of 24 possible orders in 36 samples"if [ $match -lt 8 ]; then echo ret=1; fiif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`###echo "I: Checking order fixed (cache)"ret=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.3 fixed.example > dig.out.fixed || ret=1cmp -s dig.out.fixed dig.out.fixed.good || ret=1doneif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`###echo "I: Checking order cyclic (cache)"ret=0match1=0match2=0match3=0match4=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.3 cyclic.example > dig.out.cyclic || ret=1cmp -s dig.out.cyclic dig.out.cyclic.good1 || \cmp -s dig.out.cyclic dig.out.cyclic.good2 || \cmp -s dig.out.cyclic dig.out.cyclic.good3 || \cmp -s dig.out.cyclic dig.out.cyclic.good4 || \ret=1cmp -s dig.out.cyclic dig.out.cyclic.good1 && match1=1cmp -s dig.out.cyclic dig.out.cyclic.good2 && match2=1cmp -s dig.out.cyclic dig.out.cyclic.good3 && match3=1cmp -s dig.out.cyclic dig.out.cyclic.good4 && match4=1donematch=`expr $match1 + $match2 + $match3 + $match4`if [ $match != 4 ]; then ret=1; fiif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`echo "I: Checking order random (cache)"ret=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24do eval match$i=0donefor i in a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 9do$DIG +nosea +nocomm +nocmd +noquest +noadd +noauth +nocomm +nostat +short \ -p 5300 @10.53.0.3 random.example > dig.out.random || ret=1 match=0 for j in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 do eval "cmp -s dig.out.random dig.out.random.good$j && match$j=1 match=1" if [ $match -eq 1 ]; then break; fi done if [ $match -eq 0 ]; then ret=1; fidonematch=0for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24doeval "match=\`expr \$match + \$match$i\`"doneecho "I: Random selection return $match of 24 possible orders in 36 samples"if [ $match -lt 8 ]; then echo ret=1; fiif [ $ret != 0 ]; then echo "I:failed"; fistatus=`expr $status + $ret`echo "I:exit status: $status"exit $status
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?