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
List information: http://vger.kernel.org/majordomo-info.html
* 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.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).