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

[PATCH 3/4] tmp: remote-helper: add timers to catch errors

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 1, 2013, 21:46 UTC
Message-ID
<1364852804-31875-4-git-send-email-felipe.contreras@gmail.com>
In-Reply-To
<1364852804-31875-1-git-send-email-felipe.contreras@gmail.com>
This way the test reliably succeeds (in catching the failure).

Not sure what's the proper way to do this, but here it is for the record.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 git-remote-testgit        | 1 +
 t/t5801-remote-helpers.sh | 2 +-
 transport-helper.c        | 3 +++
 3 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/git-remote-testgit b/git-remote-testgit
index ca0cf09..6ae1b7f 100755
--- a/git-remote-testgit
+++ b/git-remote-testgit
@@ -75,6 +75,7 @@ do
 	export)
 		if test -n "$GIT_REMOTE_TESTGIT_FAILURE"
 		then
+			sleep 1 # don't let fast-export get SIGPIPE
 			exit -1
 		fi
 
diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh
index 26e9a5b..5bb2ca4 100755
--- a/t/t5801-remote-helpers.sh
+++ b/t/t5801-remote-helpers.sh
@@ -176,7 +176,7 @@ test_expect_success 'proper failure checks for fetching' '
 '
 
 # We sleep to give fast-export a chance to catch the SIGPIPE
-test_expect_failure 'proper failure checks for pushing' '
+test_expect_success 'proper failure checks for pushing' '
 	(GIT_REMOTE_TESTGIT_FAILURE=1 &&
 	export GIT_REMOTE_TESTGIT_FAILURE &&
 	cd local &&
diff --git a/transport-helper.c b/transport-helper.c
index dfdfa7a..f0d28aa 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -823,6 +823,9 @@ static int push_refs_with_export(struct transport *transport,
 	if (finish_command(&exporter))
 		die("Error while running fast-export");
 
+	if (getenv("GIT_REMOTE_TESTGIT_FAILURE"))
+		sleep(2);
+
 	if (!check_command(data->helper))
 		die("Error while running helper");
 
-- 
1.8.2
Previous: Felipe ContrerasNext: Felipe Contreras
Message 20 of 21 in “run-command: new check_command helper”
  1. 0/4 run-command: new check_command helperFelipe Contreras, Apr 1, 2013
  2. 1/4 run-command: add new check_command helperFelipe Contreras, Apr 1, 2013
  3. Jeff KingApr 1, 2013
  4. Felipe ContrerasApr 1, 2013
  5. Jeff KingApr 2, 2013
  6. Felipe ContrerasApr 2, 2013
  7. Jeff KingApr 2, 2013
  8. Felipe ContrerasApr 2, 2013
  9. Jeff KingApr 2, 2013
  10. 2/4 transport-helper: check if remote helper is aliveFelipe Contreras, Apr 1, 2013
  11. Jeff KingApr 1, 2013
  12. Felipe ContrerasApr 2, 2013
  13. Jeff KingApr 2, 2013
  14. Felipe ContrerasApr 2, 2013
  15. Jeff KingApr 2, 2013
  16. Felipe ContrerasApr 2, 2013
  17. Felipe ContrerasApr 2, 2013
  18. Junio C HamanoApr 2, 2013
  19. Felipe ContrerasApr 2, 2013
  20. 3/4 tmp: remote-helper: add timers to catch errorsFelipe Contreras, Apr 1, 2013
  21. 4/4 tmp: run-command: code to exercise check_commandFelipe Contreras, Apr 1, 2013

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.