I ran the tests and none of them failed. Technically, the state of the index would indeed be different with these new changes, but this shouldn't be an issue. In the current version, there's one only item added to the index that ends up getting used in subsequent tests. That is, foo1, which is tested in: 'git add --chmod=[+-]x stages correctly'. With the current code, foo1 gets added to the index with a mode of 100644. When the 'git add --chmod=[+-]x stages correctly' test executes, it removes foo1 from the working directory, creates a new foo1, and runs 'git add --chmod=+x'. It then checks if foo1 is in the index with a file mode of 100755. Given how things are set up, the tests pass either way. But I think it'd actually be nicer with the new changes in this patch, as foo1 would not already be in the index by the time 'git add --chmod=[+-]x stages correctly' executes. On Sat, Jun 10, 2017 at 1:54 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Emily Xie <emilyxxie@xxxxxxxxx> writes: > > > diff --git a/t/t3700-add.sh b/t/t3700-add.sh > > index f3a4b4a..40a0d2b 100755 > > --- a/t/t3700-add.sh > > +++ b/t/t3700-add.sh > > @@ -331,9 +331,8 @@ test_expect_success 'git add --dry-run --ignore-missing of non-existing file out > > test_i18ncmp expect.err actual.err > > ' > > > > -test_expect_success 'git add empty string should invoke warning' ' > > - git add "" 2>output && > > - test_i18ngrep "warning: empty strings" output > > +test_expect_success 'git add empty string should fail' ' > > + test_must_fail git add "" > > ' > > Doesn't this affect the tests that follow this step? We used to > warn but went ahead and added all of them anyway, but now we fail > without adding anything, which means that the state of the index > before and after this patch would be different. > > > test_expect_success 'git add --chmod=[+-]x stages correctly' '