From 791d26b99eefc2f8e4c344d4945bf3b8e0963458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Thu, 22 Sep 2022 14:03:17 +0200 Subject: [PATCH] Clean up the "glue" system test Bring the "glue" system test up to speed with other system tests: add check numbering, ensure test artifacts are preserved upon failure, improve error reporting, make the test fail upon unexpected errors, address ShellCheck warnings. --- bin/tests/system/glue/clean.sh | 4 ++-- bin/tests/system/glue/tests.sh | 29 +++++++++++++++++++---------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/bin/tests/system/glue/clean.sh b/bin/tests/system/glue/clean.sh index 4d84f068f8..d6ec3455d6 100644 --- a/bin/tests/system/glue/clean.sh +++ b/bin/tests/system/glue/clean.sh @@ -15,9 +15,9 @@ # Clean up after glue tests. # -rm -f dig.out rm -f */named.conf rm -f */named.memstats rm -f */named.run -rm -f ns*/named.lock +rm -f dig.out rm -f ns*/managed-keys.bind* +rm -f ns*/named.lock diff --git a/bin/tests/system/glue/tests.sh b/bin/tests/system/glue/tests.sh index 9ecf39b6a8..e761839a77 100644 --- a/bin/tests/system/glue/tests.sh +++ b/bin/tests/system/glue/tests.sh @@ -13,21 +13,30 @@ . ../conf.sh -# -# Do glue tests. -# +set -e -DIGOPTS="+norec -p ${PORT}" +dig_with_opts() { + "$DIG" +norec -p "${PORT}" "$@" +} status=0 +n=0 -echo_i "testing that a ccTLD referral gets a full glue set from the root zone" -$DIG $DIGOPTS @10.53.0.1 foo.bar.fi. A >dig.out || status=1 -digcomp --lc fi.good dig.out || status=1 +n=$((n+1)) +echo_i "testing that a ccTLD referral gets a full glue set from the root zone ($n)" +ret=0 +dig_with_opts @10.53.0.1 foo.bar.fi. A > dig.out.$n || ret=1 +digcomp --lc fi.good dig.out.$n || ret=1 +if [ "$ret" -ne 0 ]; then echo_i "failed"; fi +status=$((status+ret)) -echo_i "testing that we don't find out-of-zone glue" -$DIG $DIGOPTS @10.53.0.1 example.net. a > dig.out || status=1 -digcomp noglue.good dig.out || status=1 +n=$((n+1)) +echo_i "testing that we don't find out-of-zone glue ($n)" +ret=0 +dig_with_opts @10.53.0.1 example.net. A > dig.out.$n || ret=1 +digcomp noglue.good dig.out.$n || ret=1 +if [ "$ret" -ne 0 ]; then echo_i "failed"; fi +status=$((status+ret)) echo_i "exit status: $status" [ $status -eq 0 ] || exit 1