From: Michał Kępień Date: Wed, 26 Jan 2022 14:18:43 +0000 (+0100) Subject: Retain all named.run files from each test run X-Git-Tag: v9.19.0~144^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=65abbca79b0c082e610f427c2b78608a4dc8b4bd;p=thirdparty%2Fbind9.git Retain all named.run files from each test run The bin/tests/system/start.pl script truncates the named.run file for a given named instance unless it is invoked with the --restart command-line option. Ever since Python-based tests were introduced, bin/tests/system/run.sh may start named instances used by a given system test multiple times within a single run, causing the bin/tests/system/start.pl script to truncate some of the log files written during the test. This makes troubleshooting certain test failures hard or even impossible. Fix by calling bin/tests/system/start.pl with the --restart command-line option for every start_servers() invocation except the first one. --- diff --git a/bin/tests/system/run.sh.in b/bin/tests/system/run.sh.in index ee4a9077b25..057cd1f8744 100644 --- a/bin/tests/system/run.sh.in +++ b/bin/tests/system/run.sh.in @@ -117,9 +117,13 @@ fi # Determine which ports to use for this system test. eval "$(cd "${srcdir}" && ./get_ports.sh -p "$baseport" -t "$systest")" +# Start all servers used by the system test. Ensure all log files written +# during a system test (tests.sh + potentially multiple *.py scripts) are +# retained for each run by calling start.pl with the --restart command-line +# option for all invocations except the first one. start_servers() { echoinfo "I:$systest:starting servers" - if $restart; then + if $restart || [ "$run" -gt 0 ]; then restart_opt="--restart" fi if ! $PERL start.pl ${restart_opt} --port "$PORT" "$systest"; then