From: "Rohit Ashiwal via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>
Subject: [PATCH v3 0/1] [GSoC][PATCH] t3600: use test_path_is_* helper functions
Date: Tue, 26 Feb 2019 14:48:55 -0800 (PST) [thread overview]
Message-ID: <pull.152.v3.git.gitgitgadget@gmail.com> (raw)
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
next prev parent reply other threads:[~2019-02-26 22:49 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-26 13:42 [PATCH 0/1] [GSoC][PATCH] tests: replace test -(d|f) with test_path_is_(dir|file) Rohit Ashiwal via GitGitGadget
2019-02-26 13:42 ` [PATCH 1/1] tests: replace `test -(d|f)` " Rohit Ashiwal via GitGitGadget
2019-02-26 14:04 ` Duy Nguyen
2019-02-26 16:10 ` Do test-path_is_{file,dir,exists} make sense anymore with -x? Ævar Arnfjörð Bjarmason
2019-02-26 17:04 ` SZEDER Gábor
2019-02-26 17:43 ` Jeff King
2019-02-26 19:39 ` SZEDER Gábor
2019-02-26 21:01 ` Jeff King
2019-03-03 16:04 ` SZEDER Gábor
2019-03-05 4:55 ` Jeff King
2019-03-04 14:36 ` SZEDER Gábor
2019-03-05 4:58 ` Jeff King
2019-02-26 17:48 ` Matthieu Moy
2019-02-26 18:24 ` Jeff King
2019-02-26 17:35 ` Jeff King
2019-02-26 19:58 ` Johannes Schindelin
2019-02-26 21:02 ` Jeff King
2019-02-27 10:01 ` Duy Nguyen
2019-03-01 2:52 ` Junio C Hamano
2019-02-26 16:01 ` [PATCH 1/1] tests: replace `test -(d|f)` with test_path_is_(dir|file) Johannes Schindelin
2019-02-26 16:30 ` Martin Ågren
2019-02-26 18:29 ` Rohit Ashiwal
2019-02-26 19:52 ` Johannes Schindelin
2019-02-26 20:01 ` Rohit Ashiwal
2019-02-27 5:49 ` Martin Ågren
2019-02-26 14:26 ` [PATCH v2 0/1] [GSoC][PATCH] t3600: use test_path_is_dir and test_path_is_file Rohit Ashiwal via GitGitGadget
2019-02-26 14:26 ` [PATCH v2 1/1] " Rohit Ashiwal via GitGitGadget
2019-02-26 16:37 ` SZEDER Gábor
2019-02-26 18:40 ` Rohit Ashiwal
2019-02-26 20:02 ` Johannes Schindelin
2019-02-26 20:05 ` Rohit Ashiwal
2019-02-26 22:48 ` Rohit Ashiwal via GitGitGadget [this message]
2019-02-26 22:48 ` [PATCH v3 1/1] t3600: use test_path_is_* functions Rohit Ashiwal via GitGitGadget
2019-02-27 10:12 ` Duy Nguyen
2019-02-28 10:26 ` [PATCH v4 0/1] [GSoC][PATCH] t3600: use test_path_is_* helper functions Rohit Ashiwal via GitGitGadget
2019-02-28 10:26 ` [PATCH v4 1/1] t3600: use test_path_is_* functions Rohit Ashiwal via GitGitGadget
2019-02-28 19:02 ` [GSoC] acknowledging mistakes Rohit Ashiwal
2019-03-01 2:51 ` Junio C Hamano
2019-03-01 13:13 ` Feeling confused a little bit Rohit Ashiwal
2019-03-02 4:24 ` Rafael Ascensão
2019-03-02 14:46 ` Thomas Gummerer
2019-03-02 16:21 ` [GSoC] Thanking Rohit Ashiwal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.152.v3.git.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.