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@xxxxxxxxx> - 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