t0008: improve test cleanup to fix failing test

The "large exclude file ignored in tree" test fails. This is due to an additional warning message that is generated in the test. "warning: unable to access 'subdir/.gitignore': Too many levels of symbolic links", the extra warning that is not supposed to be there, happens because of some leftover files left by previous tests. To fix this we improve cleanup on "symlinks not respected in-tree", and because the tests in t0008 in general have poor cleanup, at the start of "large exclude file ignored in tree" we search for any leftover .gitignore and remove them before starting the test. Improve post-test cleanup and add pre-test cleanup to make sure that we have a workable environment for the test. Signed-off-by: Mirko Faina <mroik@delayed.space> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Mirko Faina committed Mar 16, 2026 at 02:15 UTC 48430e44ace97055567294d412dde9bb8adc0fbb
1 file changed +2 -1
t/t0008-ignores.sh
+2 -1
@@ -946,7 +946,7 @@ test_expect_success SYMLINKS 'symlinks respected in info/exclude' '
946 '
947
948 test_expect_success SYMLINKS 'symlinks not respected in-tree' '
949 - test_when_finished "rm .gitignore" &&
949 + test_when_finished "rm -rf subdir .gitignore err actual" &&
950 ln -s ignore .gitignore &&
951 mkdir subdir &&
952 ln -s ignore subdir/.gitignore &&
@@ -957,6 +957,7 @@ test_expect_success SYMLINKS 'symlinks not respected in-tree' '
957
958 test_expect_success EXPENSIVE 'large exclude file ignored in tree' '
959 test_when_finished "rm .gitignore" &&
960 + find . -name .gitignore -exec rm "{}" ";" &&
961 dd if=/dev/zero of=.gitignore bs=101M count=1 &&
962 git ls-files -o --exclude-standard 2>err &&
963 echo "warning: ignoring excessively large pattern file: .gitignore" >expect &&