From: Michał Kępień Date: Fri, 29 Nov 2019 07:47:33 +0000 (+0100) Subject: Improve portability of the "runtime" system test X-Git-Tag: v9.15.7~48^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=58121f5f6d13834566ae8472b0b34b44115210b4;p=thirdparty%2Fbind9.git Improve portability of the "runtime" system test The "runtime" system test currently fails on Windows because it waits for named to log a message indicating successful startup ("running"), but that never happens since named on Windows fails to open the configuration file as its path includes control characters. Instead of putting control characters in directory names, put them in the value of the -D command line switch passed to named, which is used for identifying an instance of named in a process listing and whose value is completely ignored by named, but still logged. While a similar check using special characters appears to be working fine on Windows for the time being, modify it in the same way to avoid potential future problems on other platforms and make the test cleaner. --- diff --git a/bin/tests/system/runtime/clean.sh b/bin/tests/system/runtime/clean.sh index 961857a4c0e..4a756b3d381 100644 --- a/bin/tests/system/runtime/clean.sh +++ b/bin/tests/system/runtime/clean.sh @@ -19,5 +19,3 @@ rm -f rndc.out* rm -rf ns2/nope rm -rf ns2/tmp.* rm -f ns*/managed-keys.bind* -rm -rf "ns2/`cat ctrl-char-dir-name`" -rm -rf "ns2/$;" diff --git a/bin/tests/system/runtime/ctrl-char-dir-name b/bin/tests/system/runtime/ctrl-chars similarity index 100% rename from bin/tests/system/runtime/ctrl-char-dir-name rename to bin/tests/system/runtime/ctrl-chars diff --git a/bin/tests/system/runtime/setup.sh b/bin/tests/system/runtime/setup.sh index 55bfd33655d..417ba708291 100644 --- a/bin/tests/system/runtime/setup.sh +++ b/bin/tests/system/runtime/setup.sh @@ -22,6 +22,7 @@ copy_setports ns2/named-alt3.conf.in ns2/named-alt3.conf copy_setports ns2/named-alt4.conf.in ns2/named-alt4.conf copy_setports ns2/named-alt5.conf.in ns2/named-alt5.conf copy_setports ns2/named-alt6.conf.in ns2/named-alt6.conf +copy_setports ns2/named-alt7.conf.in ns2/named-alt7.conf mkdir ns2/nope diff --git a/bin/tests/system/runtime/tests.sh b/bin/tests/system/runtime/tests.sh index 9fb45bf85fb..f65ad20b85f 100644 --- a/bin/tests/system/runtime/tests.sh +++ b/bin/tests/system/runtime/tests.sh @@ -165,10 +165,8 @@ status=$((status+ret)) n=$((n+1)) echo_i "checking that named logs control characters in octal notation ($n)" ret=0 -SPEC_DIR=$(cat ctrl-char-dir-name) -mkdir "ns2/${SPEC_DIR}" -copy_setports ns2/named-alt7.conf.in "ns2/${SPEC_DIR}/named.conf" -(cd ns2 && $NAMED -c "${SPEC_DIR}/named.conf" -d 99 -g > named$n.run 2>&1 &) +INSTANCE_NAME="runtime-ns2-extra-7-$(cat ctrl-chars)" +(cd ns2 && $NAMED -c named-alt7.conf -D "${INSTANCE_NAME}" -d 99 -g > named$n.run 2>&1 &) wait_for_named "running$" ns2/named$n.run || ret=1 grep 'running as.*\\177\\033' ns2/named$n.run > /dev/null || ret=1 kill_named ns2/named.pid || ret=1 @@ -178,10 +176,8 @@ status=$((status+ret)) n=$((n+1)) echo_i "checking that named escapes special characters in the logs ($n)" ret=0 -SPEC_DIR="$;" -mkdir "ns2/${SPEC_DIR}" -copy_setports ns2/named-alt7.conf.in "ns2/${SPEC_DIR}/named.conf" -(cd ns2 && $NAMED -c "${SPEC_DIR}/named.conf" -d 99 -g > named$n.run 2>&1 &) +INSTANCE_NAME="runtime-ns2-extra-8-$;" +(cd ns2 && $NAMED -c named-alt7.conf -D "${INSTANCE_NAME}" -d 99 -g > named$n.run 2>&1 &) wait_for_named "running$" ns2/named$n.run || ret=1 grep 'running as.*\\$\\;' ns2/named$n.run > /dev/null || ret=1 kill_named ns2/named.pid || ret=1 @@ -192,7 +188,6 @@ n=$((n+1)) echo_i "checking that named logs an ellipsis when the command line is larger than 8k bytes ($n)" ret=0 LONG_CMD_LINE=$(cat long-cmd-line) -copy_setports ns2/named-alt7.conf.in "ns2/named-alt7.conf" # shellcheck disable=SC2086 (cd ns2 && $NAMED $LONG_CMD_LINE -c "named-alt7.conf" -g > named$n.run 2>&1 &) wait_for_named "running$" ns2/named$n.run || ret=1 diff --git a/util/copyrights b/util/copyrights index 8460b00ed47..3e87c024f35 100644 --- a/util/copyrights +++ b/util/copyrights @@ -1008,7 +1008,7 @@ ./bin/tests/system/runsequential.sh SH 2018,2019 ./bin/tests/system/runtime/README TXT.BRIEF 2014,2016,2018,2019 ./bin/tests/system/runtime/clean.sh SH 2014,2015,2016,2017,2018,2019 -./bin/tests/system/runtime/ctrl-char-dir-name X 2019 +./bin/tests/system/runtime/ctrl-chars X 2019 ./bin/tests/system/runtime/long-cmd-line X 2019 ./bin/tests/system/runtime/setup.sh SH 2015,2016,2017,2018,2019 ./bin/tests/system/runtime/tests.sh SH 2014,2015,2016,2017,2018,2019