]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t1092: fix buggy sparse "blame" test
authorEric Sunshine <sunshine@sunshineco.com>
Mon, 22 Aug 2022 18:26:41 +0000 (18:26 +0000)
committerJunio C Hamano <gitster@pobox.com>
Mon, 22 Aug 2022 19:53:02 +0000 (12:53 -0700)
This test wants to verify that `git blame` errors out when asked to
blame a file _not_ in the sparse checkout. However, the very first file
it asks to blame _is_ present in the checkout, thus `test_must_fail git
blame $file` gives an unexpected result (the "blame" succeeds). This
problem went unnoticed because the test invokes `test_must_fail git
blame $file` in loop but forgets to break out of the loop early upon
failure, thus the failure gets swallowed.

Fix the test by having it not ask to blame a file present in the sparse
checkout, and instead only blame files not present, as intended. While
at it, also add the missing `|| return 1` which allowed this bug to go
unnoticed.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t1092-sparse-checkout-compatibility.sh

index a6a14c8a21f73b48510b6a40cc1896145cbafad8..e13368861cea60f784d2cba255b39afaf1311df6 100755 (executable)
@@ -567,7 +567,7 @@ test_expect_success 'blame with pathspec outside sparse definition' '
        init_repos &&
        test_sparse_match git sparse-checkout set &&
 
-       for file in \
+       for file in \
                        deep/a \
                        deep/deeper1/a \
                        deep/deeper1/deepest/a
@@ -579,7 +579,7 @@ test_expect_success 'blame with pathspec outside sparse definition' '
                # We compare sparse-checkout-err and sparse-index-err in
                # `test_sparse_match`. Given we know they are the same, we
                # only check the content of sparse-index-err here.
-               test_cmp expect sparse-index-err
+               test_cmp expect sparse-index-err || return 1
        done
 '