Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > diff --git a/t/t0090-cache-tree.sh b/t/t0090-cache-tree.sh > index 5a633690bf..45e1cc82ed 100755 > --- a/t/t0090-cache-tree.sh > +++ b/t/t0090-cache-tree.sh > @@ -10,7 +10,8 @@ cache-tree extension. > cmp_cache_tree () { > test-tool dump-cache-tree | sed -e '/#(ref)/d' >actual && > sed "s/$OID_REGEX/SHA/" <actual >filtered && > - test_cmp "$1" filtered > + test_cmp "$1" filtered && > + rm filtered > } OK. Cleaning after itself is good, and not cleaning when there is an error is probably a bit more helpful to those who debug, but I think test_cmp would give them enough to work on. A failure to remove filtered at the end CAN mistakenly make the caller to think that the expected output was not obtained, though. > @@ -83,18 +84,6 @@ test_expect_success 'git-add in subdir invalidates cache-tree' ' > test_invalid_cache_tree > ' > > -cat >before <<\EOF > -SHA (3 entries, 2 subtrees) > -SHA dir1/ (1 entries, 0 subtrees) > -SHA dir2/ (1 entries, 0 subtrees) > -EOF > - > -cat >expect <<\EOF > -invalid (2 subtrees) > -invalid dir1/ (0 subtrees) > -SHA dir2/ (1 entries, 0 subtrees) > -EOF > - > test_expect_success 'git-add in subdir does not invalidate sibling cache-tree' ' > git tag no-children && > test_when_finished "git reset --hard no-children; git read-tree HEAD" && > @@ -102,9 +91,20 @@ test_expect_success 'git-add in subdir does not invalidate sibling cache-tree' ' > test_commit dir1/a && > test_commit dir2/b && > echo "I changed this file" >dir1/a && > + test_when_finished "rm before" && > + cat >before <<-\EOF && > + SHA (3 entries, 2 subtrees) > + SHA dir1/ (1 entries, 0 subtrees) > + SHA dir2/ (1 entries, 0 subtrees) > + EOF > cmp_cache_tree before && > echo "I changed this file" >dir1/a && > git add dir1/a && > + cat >expect <<-\EOF && > + invalid (2 subtrees) > + invalid dir1/ (0 subtrees) > + SHA dir2/ (1 entries, 0 subtrees) > + EOF > cmp_cache_tree expect > ' Why remove only 'before' and not 'expect' in when-finished handler?