t4200: convert test -[df] checks to test_path_* helpers

Replace old-style path existence checks in t4200-rerere.sh with
the appropriate test_path_* helper functions. These helpers provide
clearer diagnostic messages on failure than the raw shell test
builtin.

Signed-off-by: Prashant S Bisht <prashantjee2025@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
PRASHANT S BISHT 2026-03-16 22:54:57 +05:30 committed by Junio C Hamano
parent dc6ecd5354
commit d893f3e7cc
1 changed files with 13 additions and 13 deletions

View File

@ -72,7 +72,7 @@ test_expect_success 'nothing recorded without rerere' '
rm -rf .git/rr-cache &&
git config rerere.enabled false &&
test_must_fail git merge first &&
! test -d .git/rr-cache
test_path_is_missing .git/rr-cache
'

test_expect_success 'activate rerere, old style (conflicting merge)' '
@ -84,8 +84,8 @@ test_expect_success 'activate rerere, old style (conflicting merge)' '
sha1=$(sed "s/ .*//" .git/MERGE_RR) &&
rr=.git/rr-cache/$sha1 &&
grep "^=======\$" $rr/preimage &&
! test -f $rr/postimage &&
! test -f $rr/thisimage
test_path_is_missing $rr/postimage &&
test_path_is_missing $rr/thisimage
'

test_expect_success 'rerere.enabled works, too' '
@ -110,8 +110,8 @@ test_expect_success 'set up rr-cache' '

test_expect_success 'rr-cache looks sane' '
# no postimage or thisimage yet
! test -f $rr/postimage &&
! test -f $rr/thisimage &&
test_path_is_missing $rr/postimage &&
test_path_is_missing $rr/thisimage &&

# preimage has right number of lines
cnt=$(sed -ne "/^<<<<<<</,/^>>>>>>>/p" $rr/preimage | wc -l) &&
@ -167,7 +167,7 @@ test_expect_success 'first postimage wins' '
git show first:a1 | sed "s/To die: t/To die! T/" >expect &&

git commit -q -a -m "prefer first over second" &&
test -f $rr/postimage &&
test_path_is_file $rr/postimage &&

oldmtimepost=$(test-tool chmtime --get -60 $rr/postimage) &&

@ -190,14 +190,14 @@ test_expect_success 'rerere clear' '
mv $rr/postimage .git/post-saved &&
echo "$sha1 a1" | tr "\012" "\000" >.git/MERGE_RR &&
git rerere clear &&
! test -d $rr
test_path_is_missing $rr
'

test_expect_success 'leftover directory' '
git reset --hard &&
mkdir -p $rr &&
test_must_fail git merge first &&
test -f $rr/preimage
test_path_is_file $rr/preimage
'

test_expect_success 'missing preimage' '
@ -205,7 +205,7 @@ test_expect_success 'missing preimage' '
mkdir -p $rr &&
cp .git/post-saved $rr/postimage &&
test_must_fail git merge first &&
test -f $rr/preimage
test_path_is_file $rr/preimage
'

test_expect_success 'set up for garbage collection tests' '
@ -230,16 +230,16 @@ test_expect_success 'set up for garbage collection tests' '

test_expect_success 'gc preserves young or recently used records' '
git rerere gc &&
test -f $rr/preimage &&
test -f $rr2/preimage
test_path_is_file $rr/preimage &&
test_path_is_file $rr2/preimage
'

test_expect_success 'old records rest in peace' '
test-tool chmtime =$just_over_60_days_ago $rr/postimage &&
test-tool chmtime =$just_over_15_days_ago $rr2/preimage &&
git rerere gc &&
! test -f $rr/preimage &&
! test -f $rr2/preimage
test_path_is_missing $rr/preimage &&
test_path_is_missing $rr2/preimage
'

rerere_gc_custom_expiry_test () {