summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2013-01-14 08:15:46 -0800
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-01-14 08:15:46 -0800
commit6f3f710127b0d5b651915b705a18a25e389fd40d (patch)
treeb800a446e261e4379d14456b7a6dd7439c27d4c3
parentMerge branch 'nd/upload-pack-shallow-must-be-commit' (diff)
parentremote-testgit: properly check for errors (diff)
downloadtgif-6f3f710127b0d5b651915b705a18a25e389fd40d.tar.xz
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
-rw-r--r--git-remote-testpy.py8
-rwxr-xr-xt/t5800-remote-testpy.sh21
2 files changed, 29 insertions, 0 deletions
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