t5562: do not reuse output files
authorMax Kirillov <max@max630.net>
Sat, 24 Nov 2018 09:37:19 +0000 (11:37 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 19 Feb 2019 21:04:37 +0000 (13:04 -0800)
Some expected failures of git-http-backend leaves running its children
(receive-pack or upload-pack) which still hold opened descriptors
to act.err and with some probability they live long enough to write
there their failure messages after next test has already truncated
the files. This causes occasional failures of the test script.

Avoid the issue by using separated output and error file for each test,
apprending the test number to their name.

Reported-by: Carlo Arenas <carenas@gmail.com>
Helped-by: Carlo Arenas <carenas@gmail.com>
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t5562-http-backend-content-length.sh
index bbadde2c6e6df58aebcc7e378824993cdefb31fd..f36c7f4f9d3fc6ef1f18806920ec4a9af8614f83 100755 (executable)
@@ -8,12 +8,12 @@ test_lazy_prereq GZIP 'gzip --version'
 verify_http_result() {
        # some fatal errors still produce status 200
        # so check if there is the error message
-       if grep 'fatal:' act.err
+       if grep 'fatal:' act.err.$test_count
        then
                return 1
        fi
 
-       if ! grep "Status" act.out >act
+       if ! grep "Status" act.out.$test_count >act
        then
                printf "Status: 200 OK\r\n" >act
        fi
@@ -33,7 +33,7 @@ test_http_env() {
                REQUEST_METHOD=POST \
                "$PERL_PATH" \
                "$TEST_DIRECTORY"/t5562/invoke-with-content-length.pl \
-                   "$request_body" git http-backend >act.out 2>act.err
+                   "$request_body" git http-backend >act.out.$test_count 2>act.err.$test_count
 }
 
 ssize_b100dots() {
@@ -161,7 +161,7 @@ test_expect_success 'empty CONTENT_LENGTH' '
                GIT_HTTP_EXPORT_ALL=TRUE \
                REQUEST_METHOD=GET \
                CONTENT_LENGTH="" \
-               git http-backend <empty_body >act.out 2>act.err &&
+               git http-backend <empty_body >act.out.$test_count 2>act.err.$test_count &&
        verify_http_result "200 OK"
 '