Re: [PATCH] Improved and extended t5404
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:51
Alex Riesen [off-list ref] writes:
Ignore exit code of git push in t5404, as it is not relevant for the test: it already checks whether the references updated correctly.
I think the Subject: goes a lot better with a description like this: Enhance the test to check the case where X does Y and to make sure Z happens. Because we haven't settled on what the exit status from "git push" command itself should be in such a partial failure case, do not check the exit status from it for now.
quoted hunk
diff --git a/t/t5404-tracking-branches.sh b/t/t5404-tracking-branches.sh index 20718d4..a51bbdc 100755 --- a/t/t5404-tracking-branches.sh +++ b/t/t5404-tracking-branches.sh@@ -10,6 +10,7 @@ test_expect_success 'setup' ' git commit -m 1 && git branch b1 && git branch b2 && + git branch b3 && git clone . aa && git checkout b1 &&...
So it makes another ref "b3" point at the initial commit,...
... test_expect_success 'check tracking branches updated correctly after push' ' cd aa && b1=$(git rev-parse origin/b1) && b2=$(git rev-parse origin/b2) && + b3=$(git rev-parse origin/b3) && git checkout -b b1 origin/b1 && echo aa-b1 >>file && git commit -a -m aa-b1 &&
... then records what was cloned,...
quoted hunk
@@ -32,9 +36,28 @@ test_expect_success 'check tracking branches updated correctly after push' ' git checkout master && echo aa-master >>file && git commit -a -m aa-master && + { + git push + test "$(git rev-parse origin/b1)" = "$b1" && + test "$(git rev-parse origin/b2)" = "$b2" && + test "$(git rev-parse origin/b3)" = "$b3" && + test "$(git rev-parse origin/master)" = \ + "$(git rev-parse master)" + } +'
... and checks that untouched "b3" stays the same (iow, tests up-to-date case).
+
+test_expect_success 'delete remote branch' '
+ git push origin :refs/heads/b3
+ {
+ git rev-parse origin/b3
+ test $? != 0 || \
+ say "Hmm... Maybe tracking ref should be deleted?"
+ } &&
Ah, you meant that tracking should be deleted so this should be
fixed in the code but the test is disabled for now. Let's be a
bit more explicit about such a temporary disabled test, like
this:
git push origin :refs/heads/b3
# The remote-tracking branch origin/b3 should be deleted;
# we need to update the code and enable this test.
: git rev-parse --verify origin/b3 &&
+ cd "$start_dir" &&
+ {
+ git rev-parse refs/heads/b3
+ test $? != 0
+ }
'