[PATCH v3 0/1] [GSoC][PATCH] t3600: use test_path_is_* helper functions
- From
Rohit Ashiwal via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Feb 26, 2019, 22:48 UTC
- Message-ID
- <pull.152.v3.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.152.v2.git.gitgitgadget@gmail.com>
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 <rohit.ashiwal265@gmail.com>
- 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