tests.sh revision bf8267aa453e5d2a735ed732a043b77a0b355b20
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt#!/bin/sh
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt#
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# Permission to use, copy, modify, and/or distribute this software for any
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# purpose with or without fee is hereby granted, provided that the above
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# copyright notice and this permission notice appear in all copies.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt#
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt# PERFORMANCE OF THIS SOFTWARE.
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntSYSTEMTESTTOP=..
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt. $SYSTEMTESTTOP/conf.sh
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntDIG="./dig.sh"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntchmod +x $DIG
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan HuntCHECKDS="$CHECKDS -d $DIG -D $DSFROMKEY"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntn=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for correct DS, looking up key via 'dig' ($n)"
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS ok.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for correct DS, obtaining key from file ($n)"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS -f ok.example.dnskey.db ok.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for correct DLV, looking up key via 'dig' ($n)"
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS -l dlv.example ok.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for correct DLV, obtaining key from file ($n)"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS -l dlv.example -f ok.example.dnskey.db ok.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrewsn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for incorrect DS, lowronging up key via 'dig' ($n)"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntret=0
4a53e3c2b83c476a93148eaee0272649beb221caMark Andrews$CHECKDS wrong.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for incorrect DS, obtaining key from file ($n)"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS -f wrong.example.dnskey.db wrong.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for incorrect DLV, lowronging up key via 'dig' ($n)"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS -l dlv.example wrong.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for incorrect DLV, obtaining key from file ($n)"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS -l dlv.example -f wrong.example.dnskey.db wrong.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntecho "I:checking for partially missing DS, looking up key via 'dig' ($n)"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS missing.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntn=`expr $n + 1`
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntif [ $ret != 0 ]; then echo "I:failed"; fi
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntstatus=`expr $status + $ret`
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Hunt
a747113422afaa29ce72d2c5ba7f0b7ea9ec2054Evan Huntecho "I:checking for partially missing DS, obtaining key from file ($n)"
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntret=0
ef421f66f47224a42073deaf087378c5d0c9952eEvan Hunt$CHECKDS -f missing.example.dnskey.db missing.example > checkds.out.$n || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
ef421f66f47224a42073deaf087378c5d0c9952eEvan Huntgrep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:checking for partially missing DLV, looking up key via 'dig' ($n)"
ret=0
$CHECKDS -l dlv.example missing.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:checking for partially missing DLV, obtaining key from file ($n)"
ret=0
$CHECKDS -l dlv.example -f missing.example.dnskey.db missing.example > checkds.out.$n || ret=1
grep 'SHA-1' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'SHA-256' checkds.out.$n > /dev/null 2>&1 || ret=1
grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:checking for entirely missing DS, looking up key via 'dig' ($n)"
ret=0
$CHECKDS none.example > checkds.out.$n && ret=1
grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:checking for entirely missing DS, obtaining key from file ($n)"
ret=0
$CHECKDS -f none.example.dnskey.db none.example > checkds.out.$n && ret=1
grep 'No DS' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:checking for entirely missing DLV, looking up key via 'dig' ($n)"
ret=0
$CHECKDS -l dlv.example none.example > checkds.out.$n && ret=1
grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:checking for entirely missing DLV, obtaining key from file ($n)"
ret=0
$CHECKDS -l dlv.example -f none.example.dnskey.db none.example > checkds.out.$n && ret=1
grep 'No DLV' checkds.out.$n > /dev/null 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
if [ $status = 0 ]; then sh clean.sh; fi
echo "I:exit status: $status"
exit $status