From 36e3644d18485d439ca749c265c107fc654bd38c Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Tue, 28 Aug 2018 16:26:38 +0100 Subject: [PATCH] test-webserver: Fix race condition If we rely on the background subshell to create the httpd-output file, and we are unlucky, then the "cp" invocation in the loop might execute before the file has been created, and fail. This appears to have happened on Debian's arm64 autobuilder, which failed with: Running web server: PYTHONUNBUFFERED=1 setsid python3 /<>/tests/http-utils-test-server.py 0 Web server pid: 13319 Waiting for web server (1/300)... cp: cannot stat '/var/tmp/tap-test.p1cxRN/httpd-output': No such file or directory Signed-off-by: Simon McVittie Closes: #2098 Approved by: alexlarsson --- tests/test-webserver.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test-webserver.sh b/tests/test-webserver.sh index 4508537d..6d10b011 100755 --- a/tests/test-webserver.sh +++ b/tests/test-webserver.sh @@ -8,6 +8,7 @@ test_tmpdir=$(pwd) [ "$dir" != "" ] && cd ${dir} echo "Running web server: PYTHONUNBUFFERED=1 setsid $cmd" >&2 +touch ${test_tmpdir}/httpd-output env PYTHONUNBUFFERED=1 setsid $cmd >${test_tmpdir}/httpd-output & child_pid=$! echo "Web server pid: $child_pid" >&2