Browse Source

read-tree tests: check "diff-files" exit code on failure

Fix an issue with the exit code of "diff-files" being ignored, which
has been ignored ever since these tests were originally added in
c859600954 ([PATCH] read-tree: save more user hassles during
fast-forward., 2005-06-07).

Since the exit code was ignored we'd hide errors here under
SANITIZE=leak, which resulted in me mistakenly marking these tests as
passing under SANITIZE=leak in e5a917fcf4 (unpack-trees: don't leak
memory in verify_clean_subdirectory(), 2021-10-07) and
4ea08416b8 (leak tests: mark a read-tree test as passing
SANITIZE=leak, 2021-10-31).

As it would be non-trivial to fix these tests (the leak is in
revision.c) let's un-mark them as passing under SANITIZE=leak in
addition to fixing the issue of ignoring the exit code.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Ævar Arnfjörð Bjarmason 3 years ago committed by Junio C Hamano
parent
commit
277ce7961d
  1. 6
      t/t1001-read-tree-m-2way.sh
  2. 6
      t/t1002-read-tree-m-u-2way.sh

6
t/t1001-read-tree-m-2way.sh

@ -21,7 +21,6 @@ In the test, these paths are used: @@ -21,7 +21,6 @@ In the test, these paths are used:
yomin - not in H or M
'

TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-read-tree.sh

@ -38,11 +37,12 @@ compare_change () { @@ -38,11 +37,12 @@ compare_change () {
}

check_cache_at () {
clean_if_empty=$(git diff-files -- "$1")
git diff-files -- "$1" >out &&
clean_if_empty=$(cat out) &&
case "$clean_if_empty" in
'') echo "$1: clean" ;;
?*) echo "$1: dirty" ;;
esac
esac &&
case "$2,$clean_if_empty" in
clean,) : ;;
clean,?*) false ;;

6
t/t1002-read-tree-m-u-2way.sh

@ -9,7 +9,6 @@ This is identical to t1001, but uses -u to update the work tree as well. @@ -9,7 +9,6 @@ This is identical to t1001, but uses -u to update the work tree as well.

'

TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-read-tree.sh

@ -23,11 +22,12 @@ compare_change () { @@ -23,11 +22,12 @@ compare_change () {
}

check_cache_at () {
clean_if_empty=$(git diff-files -- "$1")
git diff-files -- "$1" >out &&
clean_if_empty=$(cat out) &&
case "$clean_if_empty" in
'') echo "$1: clean" ;;
?*) echo "$1: dirty" ;;
esac
esac &&
case "$2,$clean_if_empty" in
clean,) : ;;
clean,?*) false ;;

Loading…
Cancel
Save