t3700: remove unwanted leftover files before running new tests

When an earlier test that has prerequisite is skipped, files used by later tests may be left in the working tree in an unexpected state. For example, a test runs this sequence: echo foo >xfoo1 && chmod 755 xfoo1 to create an executable file xfoo1, expecting that xfoo1 does not exist before it runs in the test sequence. However, the absence of this file depends on "git reset --hard" done in an earlier test, that is skipped when SANITY prerequisite is not met, and worse yet, xfoo1 originally is created as a symbolic link, which means the chmod does not affect the modes of xfoo1 as this test expects. Fix this by starting the test with "rm -f xfoo1" to make sure the file is created from scratch, and do the same to other similar tests. Signed-off-by: Ingo Brückl <ib@wupperonline.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ingo Brückl committed Jul 30, 2016 at 22:13 UTC c0fa44d8f1ed211e4e0edbe6bef4697b36b9bacc
1 file changed +3
t/t3700-add.sh
+3
@@ -333,6 +333,7 @@ test_expect_success 'git add --dry-run --ignore-missing of non-existing file out
333 '
334
335 test_expect_success 'git add --chmod=+x stages a non-executable file with +x' '
336 + rm -f foo1 &&
337 echo foo >foo1 &&
338 git add --chmod=+x foo1 &&
339 case "$(git ls-files --stage foo1)" in
@@ -342,6 +343,7 @@ test_expect_success 'git add --chmod=+x stages a non-executable file with +x' '
343 '
344
345 test_expect_success 'git add --chmod=-x stages an executable file with -x' '
346 + rm -f xfoo1 &&
347 echo foo >xfoo1 &&
348 chmod 755 xfoo1 &&
349 git add --chmod=-x xfoo1 &&
@@ -354,6 +356,7 @@ test_expect_success 'git add --chmod=-x stages an executable file with -x' '
356 test_expect_success POSIXPERM,SYMLINKS 'git add --chmod=+x with symlinks' '
357 git config core.filemode 1 &&
358 git config core.symlinks 1 &&
359 + rm -f foo2 &&
360 echo foo >foo2 &&
361 git add --chmod=+x foo2 &&
362 case "$(git ls-files --stage foo2)" in