From: Junio C Hamano Date: Mon, 14 Jan 2013 16:15:46 +0000 (-0800) Subject: Merge branch 'fc/remote-testgit-feature-done' X-Git-Tag: v1.8.2-rc0~126 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/6f3f710127b0d5b651915b705a18a25e389fd40d?hp=e43171a4a728f627aed7a7b4682e6da2cb378253 Merge branch 'fc/remote-testgit-feature-done' In the longer term, tightening rules is a good thing to do, and because nobody who has worked in the remote helper area seems to be interested in reviewing this, I would assume they do not think such a retroactive tightening will affect their remote helpers. So let's advance this topic to see what happens. * fc/remote-testgit-feature-done: remote-testgit: properly check for errors --- diff --git a/git-remote-testpy.py b/git-remote-testpy.py index e4533b187d..d94a66a870 100644 --- a/git-remote-testpy.py +++ b/git-remote-testpy.py @@ -164,6 +164,11 @@ def do_import(repo, args): ref = line[7:].strip() refs.append(ref) + print "feature done" + + if os.environ.get("GIT_REMOTE_TESTGIT_FAILURE"): + die('Told to fail') + repo = update_local_repo(repo) repo.exporter.export_repo(repo.gitdir, refs) @@ -177,6 +182,9 @@ def do_export(repo, args): if not repo.gitdir: die("Need gitdir to export") + if os.environ.get("GIT_REMOTE_TESTGIT_FAILURE"): + die('Told to fail') + update_local_repo(repo) changed = repo.importer.do_import(repo.gitdir) diff --git a/t/t5800-remote-testpy.sh b/t/t5800-remote-testpy.sh index 6750961507..1e683d4220 100755 --- a/t/t5800-remote-testpy.sh +++ b/t/t5800-remote-testpy.sh @@ -145,4 +145,25 @@ test_expect_failure 'push new branch with old:new refspec' ' compare_refs clone HEAD server refs/heads/new-refspec ' +test_expect_success 'proper failure checks for fetching' ' + (GIT_REMOTE_TESTGIT_FAILURE=1 && + export GIT_REMOTE_TESTGIT_FAILURE && + cd localclone && + test_must_fail git fetch 2>&1 | \ + grep "Error while running fast-import" + ) +' + +# We sleep to give fast-export a chance to catch the SIGPIPE +test_expect_failure 'proper failure checks for pushing' ' + (GIT_REMOTE_TESTGIT_FAILURE=1 && + export GIT_REMOTE_TESTGIT_FAILURE && + GIT_REMOTE_TESTGIT_SLEEPY=1 && + export GIT_REMOTE_TESTGIT_SLEEPY && + cd localclone && + test_must_fail git push --all 2>&1 | \ + grep "Error while running fast-export" + ) +' + test_done