git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v3] t5562: do not reuse output files

From
Max Kirillov <max@max630.net>
Date
Nov 24, 2018, 09:37 UTC
Message-ID
<20181124093719.10705-1-max@max630.net>
In-Reply-To
<xmqq7eh23ojc.fsf@gitster-ct.c.googlers.com>

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>
---
Use another output and error files for each test
 t/t5562-http-backend-content-length.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/t/t5562-http-backend-content-length.sh b/t/t5562-http-backend-content-length.sh
index 90d890d02f..9ebbd77bbb 100755
--- a/t/t5562-http-backend-content-length.sh
+++ b/t/t5562-http-backend-content-length.sh
@@ -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"
 '
 
-- 
2.19.0.1202.g68e1e8f04e
Previous: Max KirillovNext: Jeff King
Message 24 of 35 in “t5562: skip if NO_CURL is enabled”
  1. t5562: skip if NO_CURL is enabledCarlo Marcelo Arenas Belón, Nov 19, 2018
  2. Ævar Arnfjörð BjarmasonNov 19, 2018
  3. Max KirillovNov 19, 2018
  4. Carlo ArenasNov 19, 2018
  5. Max KirillovNov 19, 2018
  6. Jeff KingNov 19, 2018
  7. t5562: fix perl pathMax Kirillov, Nov 22, 2018
  8. Carlo ArenasNov 23, 2018
  9. Jeff KingNov 24, 2018
  10. Jeff KingNov 20, 2018
  11. Carlo ArenasNov 21, 2018
  12. Max KirillovNov 21, 2018
  13. Carlo ArenasNov 21, 2018
  14. Carlo ArenasNov 22, 2018
  15. Max KirillovNov 22, 2018
  16. Carlo ArenasNov 22, 2018
  17. Jeff KingNov 22, 2018
  18. Max KirillovNov 22, 2018
  19. Carlo ArenasNov 23, 2018
  20. t5562: do not reuse output filesMax Kirillov, Nov 24, 2018
  21. Junio C HamanoNov 24, 2018
  22. Junio C HamanoNov 24, 2018
  23. Max KirillovNov 24, 2018
  24. t5562: do not reuse output filesMax Kirillov, Nov 24, 2018
  25. Jeff KingNov 24, 2018
  26. Max KirillovNov 24, 2018
  27. http-backend: enable cleaning up forked upload/receive-pack on exitMax Kirillov, Nov 24, 2018
  28. Junio C HamanoNov 26, 2018
  29. Junio C HamanoNov 26, 2018
  30. Max KirillovNov 28, 2018
  31. t5562: do not reuse output filesMax Kirillov, Nov 24, 2018
  32. Ævar Arnfjörð BjarmasonNov 28, 2018
  33. Jeff KingDec 1, 2018
  34. SZEDER GáborNov 28, 2018
  35. Jeff KingDec 1, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.