mirror of
https://github.com/git/git.git
synced 2024-11-23 18:05:29 +08:00
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>
This commit is contained in:
parent
3d180973c1
commit
ec8f87b8eb
@ -11,9 +11,15 @@ test_description='Test remote-helper import and export commands'
|
||||
PATH="$TEST_DIRECTORY/t5801:$PATH"
|
||||
|
||||
compare_refs() {
|
||||
fail= &&
|
||||
if test "x$1" = 'x!'
|
||||
then
|
||||
fail='!' &&
|
||||
shift
|
||||
fi &&
|
||||
git --git-dir="$1/.git" rev-parse --verify $2 >expect &&
|
||||
git --git-dir="$3/.git" rev-parse --verify $4 >actual &&
|
||||
test_cmp expect actual
|
||||
eval $fail test_cmp expect actual
|
||||
}
|
||||
|
||||
test_expect_success 'setup repository' '
|
||||
@ -189,7 +195,7 @@ test_expect_success GPG 'push signed tag' '
|
||||
git push origin signed-tag
|
||||
) &&
|
||||
compare_refs local signed-tag^{} server signed-tag^{} &&
|
||||
test_must_fail compare_refs local signed-tag server signed-tag
|
||||
compare_refs ! local signed-tag server signed-tag
|
||||
'
|
||||
|
||||
test_expect_success GPG 'push signed tag with signed-tags capability' '
|
||||
|
Loading…
Reference in New Issue
Block a user