touch passed_tests failed_tests skipped_tests
-for a in $(find . -type d | grep -v ^.$ | sed s:^./:: | grep -v .svn | grep -v ^confdir | grep -v ^dnssec-only | LC_ALL=C sort)
+for a in $(find . -type d | grep -v ^.$ | sed s:^./:: | grep -v .svn | grep -v ^confdir | LC_ALL=C sort)
do
echo "$a: "
cat $a/description
echo "$a: " >> test-results
cat $a/description >> test-results
+ SKIPIT=0
if [ -e $a/skip ]
then
+ SKIPIT=1
result=" Skipped test $a"
+ else
+ for reason in "$skipreasons"
+ do
+ if [ -e $a/skip.$reason ]
+ then
+ SKIPIT=1
+ result=" Skipped test $a for reason $reason"
+ break
+ fi
+ done
+ fi
+
+ if [ $SKIPIT = 1 ]
+ then
echo $a >> skipped_tests
skipped=$[$skipped+1]
else
$a/command > /dev/null
$a/command > $a/real_result
expected=$a/expected_result
+ for extracontext in "$extracontexts"
+ do
+ [ -e "$a/expected_result.$extracontext" ] && expected=$a/expected_result.$extracontext
+ done
[ -n "$context" ] && [ -e "$a/expected_result.$context" ] && expected=$a/expected_result.$context
diff -u $expected $a/real_result > $a/diff
if [ -s $a/diff ]
--no-shuffle --launch=bind --bind-config=./named.conf \
--fancy-records --query-logging --send-root-referral --loglevel=9 \
--cache-ttl=0 --no-config &
+ skipreasons=nodnssec
;;
bind-gsqlite3)
./bind-gsqlite3-setup
--gmysql-user="$GMYSQLUSER" \
--gmysql-host="$GMYSQLHOST" \
--gmysql-password="$GMYSQLPASS" &
+ skipreasons=nodnssec
;;
- gmysql)
+ gmysql | gmysql-nsec3)
[ -z "$GMYSQLDB" ] && GMYSQLDB=pdnstest
[ -z "$GMYSQLUSER" ] && GMYSQLUSER=root
[ -z "$GMYSQLHOST" ] && GMYSQLHOST=localhost
for zone in $(grep zone named.conf | cut -f2 -d\")
do
../pdns/pdnssec --config-dir=. --config-name=gmysql secure-zone $zone 2>&1
+ if [ $context = gmysql-nsec3 ]
+ then
+ ../pdns/pdnssec --config-dir=. --config-name=gmysql set-nsec3 $zone '1 1 1 abcd' 2>&1
+ ../pdns/pdnssec --config-dir=. --config-name=gmysql rectify-zone $zone 2>&1
+ fi
done
../pdns/pdns_server --daemon=no --local-port=$port --socket-dir=./ \
--gmysql-user="$GMYSQLUSER" \
--gmysql-host="$GMYSQLHOST" \
--gmysql-password="$GMYSQLPASS" &
+ if [ $context = gmysql-nsec3 ]
+ then
+ subcontexts=nsec3
+ fi
;;
*)
echo unknown context $context
export port
export context
+export extracontexts
+export skipreasons
## TODO: give pdns a few seconds to startup or fail, then check if it did not fail
## TODO: give sdig a timeout