On 18/12/16 12:37, larsxschneider@xxxxxxxxx wrote: > From: Lars Schneider <larsxschneider@xxxxxxxxx> > > t0021.15 creates files, adds them to the index, and commits them. All > this usually happens in a test run within the same second and Git cannot > know if the files have been changed between `add` and `commit`. Thus, > Git has to run the clean filter in both operations. Sometimes these > invocations spread over two different seconds and Git can infer that the > files were not changed between `add` and `commit` based on their > modification timestamp. The test would fail as it expects the filter > invocation. Remove this expectation to make the test stable. > > Signed-off-by: Lars Schneider <larsxschneider@xxxxxxxxx> > --- > > Notes: > Base Commit: f8bf8f2a7b (next) > Diff on Web: https://github.com/git/git/compare/f8bf8f2a7b...larsxschneider:9d88b66e03 > Checkout: git fetch https://github.com/larsxschneider/git filter-process/fix-flaky-test-v1 && git checkout 9d88b66e03 > > t/t0021-conversion.sh | 17 +---------------- > 1 file changed, 1 insertion(+), 16 deletions(-) > > diff --git a/t/t0021-conversion.sh b/t/t0021-conversion.sh > index 6f16983d3e..161f560446 100755 > --- a/t/t0021-conversion.sh > +++ b/t/t0021-conversion.sh > @@ -377,22 +377,7 @@ test_expect_success PERL 'required process filter should filter data' ' > EOF > test_cmp_count expected.log rot13-filter.log && > > - filter_git commit -m "test commit 2" && > - cat >expected.log <<-EOF && > - START > - init handshake complete > - IN: clean test.r $S [OK] -- OUT: $S . [OK] > - IN: clean test2.r $S2 [OK] -- OUT: $S2 . [OK] > - IN: clean test4-empty.r 0 [OK] -- OUT: 0 [OK] > - IN: clean testsubdir/test3 '\''sq'\'',\$x=.r $S3 [OK] -- OUT: $S3 . [OK] > - IN: clean test.r $S [OK] -- OUT: $S . [OK] > - IN: clean test2.r $S2 [OK] -- OUT: $S2 . [OK] > - IN: clean test4-empty.r 0 [OK] -- OUT: 0 [OK] > - IN: clean testsubdir/test3 '\''sq'\'',\$x=.r $S3 [OK] -- OUT: $S3 . [OK] > - STOP > - EOF > - test_cmp_count expected.log rot13-filter.log && > - > + git commit -m "test commit 2" && > rm -f test2.r "testsubdir/test3 '\''sq'\'',\$x=.r" && > > filter_git checkout --quiet --no-progress . && > I applied this to the pu branch and ran the test by hand 48 times in a row without failure. (the most trials without error beforehand was 24). Thanks. ATB, Ramsay Jones