Subject: [PATCH v3 0/1] [GSoC][PATCH] t3600: use test_path_is_* helper functions

From: "Rohit Ashiwal via GitGitGadget" <[email-masked]>
Date: Tue, 26 Feb 2019 14:48:55 -0800 (PST)

Replace test -(d|f|e) calls in t3600-rm.sh. Previously we were using test
-(d|f|e) to verify the presence of a directory/file, but we already have
helper functions, viz, test_path_is_dir, test_path_is_file and
test_path_is_missing with better functionality.

Rohit Ashiwal (1):
  t3600: use test_path_is_* functions

 t/t3600-rm.sh | 138 +++++++++++++++++++++++++-------------------------
 1 file changed, 69 insertions(+), 69 deletions(-)

base-commit: 8104ec994ea3849a968b4667d072fedd1e688642
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-152%2Fr1walz%2Frefactor-tests-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-152/r1walz/refactor-tests-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/152

Range-diff vs v2:

 1:  fcafc87b38 ! 1:  bfeba25c88 t3600: use test_path_is_dir and test_path_is_file
     @@ -1,12 +1,14 @@
      Author: Rohit Ashiwal <[email-masked]>
      
     -    t3600: use test_path_is_dir and test_path_is_file
     +    t3600: use test_path_is_* functions
      
     -    Previously we were using `test -(d|f)` to verify
     +    Replace `test -(d|f|e)` calls in t3600-rm.sh
     +
     +    Previously we were using `test -(d|f|e)` to verify
          the presence of a directory/file, but we already
     -    have helper functions, viz, `test_path_is_dir`
     -    and `test_path_is_file` with better functionality.
     -    This patch will replace `test -(d|f)` calls in t3660.sh
     +    have helper functions, viz, `test_path_is_dir`,
     +    `test_path_is_file` and `test_path_is_missing`
     +    with better functionality.
      
          These helper functions make code more readable
          and informative to someone new to code, also
     @@ -18,6 +20,15 @@
       --- a/t/t3600-rm.sh
       +++ b/t/t3600-rm.sh
      @@
     + 
     + test_expect_success \
     +     'Post-check that bar does not exist and is not in index after "git rm -f bar"' \
     +-    '! [ -f bar ] && test_must_fail git ls-files --error-unmatch bar'
     ++    'test_path_is_missing bar && test_must_fail git ls-files --error-unmatch bar'
     + 
     + test_expect_success \
     +     'Test that "git rm -- -q" succeeds (remove a file that looks like an option)' \
     +@@
       test_expect_success 'Modify foo -- rm should refuse' '
       	echo >>foo &&
       	test_must_fail git rm foo baz &&
     @@ -28,6 +39,15 @@
       	git ls-files --error-unmatch foo baz
       '
       
     + test_expect_success 'Modified foo -- rm -f should work' '
     + 	git rm -f foo baz &&
     +-	test ! -f foo &&
     +-	test ! -f baz &&
     ++	test_path_is_missing foo &&
     ++	test_path_is_missing baz &&
     + 	test_must_fail git ls-files --error-unmatch foo &&
     + 	test_must_fail git ls-files --error-unmatch bar
     + '
      @@
       
       test_expect_success 'foo is different in index from HEAD -- rm should refuse' '
     @@ -39,6 +59,15 @@
       	git ls-files --error-unmatch foo baz
       '
       
     + test_expect_success 'but with -f it should work.' '
     + 	git rm -f foo baz &&
     +-	test ! -f foo &&
     +-	test ! -f baz &&
     ++	test_path_is_missing foo &&
     ++	test_path_is_missing baz &&
     + 	test_must_fail git ls-files --error-unmatch foo &&
     + 	test_must_fail git ls-files --error-unmatch baz
     + '
      @@
       
       test_expect_success 'Recursive without -r fails' '
     @@ -62,20 +91,56 @@
       	git rm -f -r frotz &&
      -	! test -f frotz/nitfol &&
      -	! test -d frotz
     -+	! test_path_is_file frotz/nitfol &&
     -+	! test_path_is_dir frotz
     ++	test_path_is_missing frotz/nitfol &&
     ++	test_path_is_missing frotz
       '
       
       test_expect_success 'Remove nonexistent file returns nonzero exit status' '
     +@@
     + 	git reset --hard &&
     + 	test-tool chmtime -86400 frotz/nitfol &&
     + 	git rm frotz/nitfol &&
     +-	test ! -f frotz/nitfol
     ++	test_path_is_missing frotz/nitfol
     + 
     + '
     + 
      @@
       	echo content >dir/subdir/subsubdir/file &&
       	git add dir/subdir/subsubdir/file &&
       	git rm -f dir/subdir/subsubdir/file &&
      -	! test -d dir
     -+	! test_path_is_dir dir
     ++	test_path_is_missing dir
       '
       
       cat >expect <<EOF
     +@@
     + 	git add .gitmodules &&
     + 	git commit -m "add submodule" &&
     + 	git rm submod &&
     +-	test ! -e submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual &&
     + 	test_must_fail git config -f .gitmodules submodule.sub.url &&
     +@@
     + 	git reset --hard &&
     + 	git submodule update &&
     + 	git rm submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual &&
     + 	test_must_fail git config -f .gitmodules submodule.sub.url &&
     +@@
     + 	git reset --hard &&
     + 	git submodule update &&
     + 	git rm submod/ &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
      @@
       	git submodule update &&
       	git -C submod checkout HEAD^ &&
     @@ -87,6 +152,11 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.modified actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual &&
     + 	test_must_fail git config -f .gitmodules submodule.sub.url &&
      @@
       	git reset --hard &&
       	git submodule update &&
     @@ -113,8 +183,8 @@
       	test_must_be_empty actual.err &&
      -	! test -d submod &&
      -	! test -f submod/.git &&
     -+	! test_path_is_dir submod &&
     -+	! test_path_is_file submod/.git &&
     ++	test_path_is_missing submod &&
     ++	test_path_is_missing submod/.git &&
       	git status -s -uno >actual &&
       	test_cmp expect.both_deleted actual
       '
     @@ -132,8 +202,8 @@
       	test_must_be_empty actual.err &&
      -	! test -d submod &&
      -	! test -f submod/.git &&
     -+	! test_path_is_dir submod &&
     -+	! test_path_is_file submod/.git &&
     ++	test_path_is_missing submod &&
     ++	test_path_is_missing submod/.git &&
       	git status -s -uno >actual &&
       	test_cmp expect actual
       '
     @@ -143,8 +213,8 @@
       	test_i18ncmp expect.err actual.err &&
      -	! test -d submod &&
      -	! test -f submod/.git &&
     -+	! test_path_is_dir submod &&
     -+	! test_path_is_file submod/.git &&
     ++	test_path_is_missing submod &&
     ++	test_path_is_missing submod/.git &&
       	git status -s -uno >actual &&
       	test_cmp expect actual
       '
     @@ -159,6 +229,11 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.modified_inside actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
      @@
       	git submodule update &&
       	echo X >submod/untracked &&
     @@ -170,6 +245,20 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.modified_untracked actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
     +@@
     + 	git submodule update &&
     + 	test_must_fail git merge conflict2 &&
     + 	git rm submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
      @@
       	git -C submod checkout HEAD^ &&
       	test_must_fail git merge conflict2 &&
     @@ -181,6 +270,11 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.conflict actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual &&
     + 	test_must_fail git config -f .gitmodules submodule.sub.url &&
      @@
       	echo X >submod/empty &&
       	test_must_fail git merge conflict2 &&
     @@ -192,6 +286,11 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.conflict actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual &&
     + 	test_must_fail git config -f .gitmodules submodule.sub.url &&
      @@
       	echo X >submod/untracked &&
       	test_must_fail git merge conflict2 &&
     @@ -203,6 +302,11 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.conflict actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
      @@
       	) &&
       	test_must_fail git merge conflict2 &&
     @@ -221,18 +325,36 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.conflict actual &&
       	git merge --abort &&
     +@@
     + 	git reset --hard &&
     + 	test_must_fail git merge conflict2 &&
     + 	git rm submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
      @@
       		rm -r ../.git/modules/sub
       	) &&
       	git rm submod 2>output.err &&
      -	! test -d submod &&
      -	! test -d submod/.git &&
     -+	! test_path_is_dir submod &&
     -+	! test_path_is_dir submod/.git &&
     ++	test_path_is_missing submod &&
     ++	test_path_is_missing submod/.git &&
       	git status -s -uno --ignore-submodules=none >actual &&
       	test -s actual &&
       	test_i18ngrep Migrating output.err
      @@
     + 
     + test_expect_success 'rm recursively removes work tree of unmodified submodules' '
     + 	git rm submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
     +@@
       	git submodule update --recursive &&
       	git -C submod/subsubmod checkout HEAD^ &&
       	test_must_fail git rm submod &&
     @@ -243,6 +365,11 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.modified_inside actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
      @@
       	git submodule update --recursive &&
       	echo X >submod/subsubmod/empty &&
     @@ -254,6 +381,11 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.modified_inside actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
      @@
       	git submodule update --recursive &&
       	echo X >submod/subsubmod/untracked &&
     @@ -265,14 +397,19 @@
       	git status -s -uno --ignore-submodules=none >actual &&
       	test_cmp expect.modified_untracked actual &&
       	git rm -f submod &&
     +-	test ! -d submod &&
     ++	test_path_is_missing submod &&
     + 	git status -s -uno --ignore-submodules=none >actual &&
     + 	test_cmp expect actual
     + '
      @@
       		GIT_WORK_TREE=. git config --unset core.worktree
       	) &&
       	git rm submod 2>output.err &&
      -	! test -d submod &&
      -	! test -d submod/subsubmod/.git &&
     -+	! test_path_is_dir submod &&
     -+	! test_path_is_dir submod/subsubmod/.git &&
     ++	test_path_is_missing submod &&
     ++	test_path_is_missing submod/subsubmod/.git &&
       	git status -s -uno --ignore-submodules=none >actual &&
       	test -s actual &&
       	test_i18ngrep Migrating output.err

-- 
gitgitgadget