t5562: do not reuse output files

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>
This commit is contained in:
Max Kirillov 2018-11-24 11:37:19 +02:00 committed by Junio C Hamano
parent ca1b411648
commit 0539071b1e

View file

@ -8,12 +8,12 @@ test_lazy_prereq GZIP 'gzip --version'
verify_http_result() { verify_http_result() {
# some fatal errors still produce status 200 # some fatal errors still produce status 200
# so check if there is the error message # so check if there is the error message
if grep 'fatal:' act.err if grep 'fatal:' act.err.$test_count
then then
return 1 return 1
fi fi
if ! grep "Status" act.out >act if ! grep "Status" act.out.$test_count >act
then then
printf "Status: 200 OK\r\n" >act printf "Status: 200 OK\r\n" >act
fi fi
@ -33,7 +33,7 @@ test_http_env() {
REQUEST_METHOD=POST \ REQUEST_METHOD=POST \
"$PERL_PATH" \ "$PERL_PATH" \
"$TEST_DIRECTORY"/t5562/invoke-with-content-length.pl \ "$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() { ssize_b100dots() {
@ -161,7 +161,7 @@ test_expect_success 'empty CONTENT_LENGTH' '
GIT_HTTP_EXPORT_ALL=TRUE \ GIT_HTTP_EXPORT_ALL=TRUE \
REQUEST_METHOD=GET \ REQUEST_METHOD=GET \
CONTENT_LENGTH="" \ 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" verify_http_result "200 OK"
' '