t1092: fix buggy sparse "blame" test

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>

Eric Sunshine committed Aug 22, 2022 at 18:26 UTC 625ff5c3201186cedb856678907a3f4bd88406a6
1 file changed +2 -2
t/t1092-sparse-checkout-compatibility.sh
+2 -2
@@ -567,7 +567,7 @@ test_expect_success 'blame with pathspec outside sparse definition' '
567 init_repos &&
568 test_sparse_match git sparse-checkout set &&
569
570 - for file in a \
570 + for file in \
571 deep/a \
572 deep/deeper1/a \
573 deep/deeper1/deepest/a
@@ -579,7 +579,7 @@ test_expect_success 'blame with pathspec outside sparse definition' '
579 # We compare sparse-checkout-err and sparse-index-err in
580 # `test_sparse_match`. Given we know they are the same, we
581 # only check the content of sparse-index-err here.
582 - test_cmp expect sparse-index-err
582 + test_cmp expect sparse-index-err || return 1
583 done
584 '
585