]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Improve portability of the "runtime" system test
authorMichał Kępień <michal@isc.org>
Fri, 29 Nov 2019 07:47:33 +0000 (08:47 +0100)
committerMichał Kępień <michal@isc.org>
Fri, 29 Nov 2019 07:47:33 +0000 (08:47 +0100)
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.

bin/tests/system/runtime/clean.sh
bin/tests/system/runtime/ctrl-chars [moved from bin/tests/system/runtime/ctrl-char-dir-name with 100% similarity]
bin/tests/system/runtime/setup.sh
bin/tests/system/runtime/tests.sh
util/copyrights

index 961857a4c0eb45625a1a0c8a18eccc3d627d706d..4a756b3d381a5c53d82aee99b4be90413807878c 100644 (file)
@@ -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/$;"
index 55bfd33655df50987015b8e11ee83e3b1d3d3b52..417ba708291b83ee119a4f638ff17dad0e49438a 100644 (file)
@@ -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
 
index 9fb45bf85fb4a0440505665fe77a16106c27c36b..f65ad20b85ffa719ad9f311f27728e5f1b67137e 100644 (file)
@@ -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
index 8460b00ed473df715739a9f1307e42aff434ddab..3e87c024f354474a82ae583b5c72719a729c291b 100644 (file)
 ./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