git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[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
Previous: Rohit AshiwalNext: Rohit Ashiwal via GitGitGadget
Message 32 of 42 in “tests: replace test -(d|f) with test_path_is_(dir|file)”
  1. 0/1 [GSoC][PATCH] tests: replace test -(d|f) with test_path_is_(dir|file)Rohit Ashiwal via GitGitGadget, Feb 26, 2019
  2. 1/1 tests: replace `test -(d|f)` with test_path_is_(dir|file)Rohit Ashiwal via GitGitGadget, Feb 26, 2019
  3. Duy NguyenFeb 26, 2019
  4. Do test-path_is_{file,dir,exists} make sense anymore with -x?Ævar Arnfjörð Bjarmason, Feb 26, 2019
  5. SZEDER GáborFeb 26, 2019
  6. Jeff KingFeb 26, 2019
  7. SZEDER GáborFeb 26, 2019
  8. Jeff KingFeb 26, 2019
  9. SZEDER GáborMar 3, 2019
  10. Jeff KingMar 5, 2019
  11. SZEDER GáborMar 4, 2019
  12. Jeff KingMar 5, 2019
  13. Matthieu MoyFeb 26, 2019
  14. Jeff KingFeb 26, 2019
  15. Jeff KingFeb 26, 2019
  16. Johannes SchindelinFeb 26, 2019
  17. Jeff KingFeb 26, 2019
  18. Duy NguyenFeb 27, 2019
  19. Junio C HamanoMar 1, 2019
  20. Johannes SchindelinFeb 26, 2019
  21. Martin ÅgrenFeb 26, 2019
  22. Rohit AshiwalFeb 26, 2019
  23. Johannes SchindelinFeb 26, 2019
  24. Rohit AshiwalFeb 26, 2019
  25. Martin ÅgrenFeb 27, 2019
  26. 0/1 [GSoC][PATCH] t3600: use test_path_is_dir and test_path_is_fileRohit Ashiwal via GitGitGadget, Feb 26, 2019
  27. 1/1 t3600: use test_path_is_dir and test_path_is_fileRohit Ashiwal via GitGitGadget, Feb 26, 2019
  28. SZEDER GáborFeb 26, 2019
  29. Rohit AshiwalFeb 26, 2019
  30. Johannes SchindelinFeb 26, 2019
  31. Rohit AshiwalFeb 26, 2019
  32. 0/1 [GSoC][PATCH] t3600: use test_path_is_* helper functionsRohit Ashiwal via GitGitGadget, Feb 26, 2019
  33. 1/1 t3600: use test_path_is_* functionsRohit Ashiwal via GitGitGadget, Feb 26, 2019
  34. Duy NguyenFeb 27, 2019
  35. 0/1 [GSoC][PATCH] t3600: use test_path_is_* helper functionsRohit Ashiwal via GitGitGadget, Feb 28, 2019
  36. 1/1 t3600: use test_path_is_* functionsRohit Ashiwal via GitGitGadget, Feb 28, 2019
  37. [GSoC] acknowledging mistakesRohit Ashiwal, Feb 28, 2019
  38. Junio C HamanoMar 1, 2019
  39. Feeling confused a little bitRohit Ashiwal, Mar 1, 2019
  40. Rafael AscensãoMar 2, 2019
  41. Thomas GummererMar 2, 2019
  42. [GSoC] ThankingRohit Ashiwal, Mar 2, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.