@matheusbsbs / matheus-bagliano / commits / ec8f87b8eb
Fork 0

t5801: teach compare_refs() to accept !

Before, testing if two refs weren't equal with compare_refs() was done with `test_must_fail compare_refs`. This was wrong for two reasons. First, test_must_fail should only be used on git commands. Second, negating the error code is a little heavy-handed since in the case where one of the git invocations within compare_refs() fails, we will report success, even though it failed at an unexpected point. Teach compare_refs() to accept `!` as the first argument which would _only_ negate the test_cmp()'s return code. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Denton Liu committed Mar 26, 2020 at 04:27 UTC ec8f87b8eb5304c7cffa8b76838ad96850cf0e55
1 file changed +8 -2
t/t5801-remote-helpers.sh
+8 -2
@@ -11,9 +11,15 @@ test_description='Test remote-helper import and export commands'
11 PATH="$TEST_DIRECTORY/t5801:$PATH"
12
13 compare_refs() {
14 + fail= &&
15 + if test "x$1" = 'x!'
16 + then
17 + fail='!' &&
18 + shift
19 + fi &&
20 git --git-dir="$1/.git" rev-parse --verify $2 >expect &&
21 git --git-dir="$3/.git" rev-parse --verify $4 >actual &&
16 - test_cmp expect actual
22 + eval $fail test_cmp expect actual
23 }
24
25 test_expect_success 'setup repository' '
@@ -189,7 +195,7 @@ test_expect_success GPG 'push signed tag' '
195 git push origin signed-tag
196 ) &&
197 compare_refs local signed-tag^{} server signed-tag^{} &&
192 - test_must_fail compare_refs local signed-tag server signed-tag
198 + compare_refs ! local signed-tag server signed-tag
199 '
200
201 test_expect_success GPG 'push signed tag with signed-tags capability' '