git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Chandra Pratap via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Chandra Pratap <chandrapratap376@gmail.com>,
	Chandra Pratap <chandrapratap3519@gmail.com>
Subject: [PATCH v3] t9146: replace test -d/-e/-f with appropriate test_path_is_* function
Date: Wed, 14 Feb 2024 17:50:48 +0000	[thread overview]
Message-ID: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1661.v2.git.1707765433663.gitgitgadget@gmail.com>

From: Chandra Pratap <chandrapratap3519@gmail.com>

The helper functions test_path_is_* provide better debugging
information than test -d/-e/-f.

Replace "if ! test -d then <error message>" and "test -d" with
"test_path_is_dir" at places where we check for existent directories.

Replace "test -f" with "test_path_is_file" at places where we check
for existent files.

Replace "test ! -e" and "if test -d then <error message>" with
"test_path_is_missing" where we check for non-existent directories.

Helped-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com>
---
    t9146: replace test -d/-f with appropriate test_path_is_* function
    
    I chose to retain "test_path_is_misssing" as a replacement for "if test
    -d then " because we initialize the repository at the start of the test
    with:
    
    for i in a b c d d/e d/e/f "weird file name" do svn_cmd mkdir -m "mkdir
    $i" "$svnrepo"/"$i" || return 1 done
    
    and then check for the existence of these directories in the following
    tests. I think this reproduces the behavior of the original tests close
    enough.

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1661%2FChand-ra%2Ftestfix-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1661/Chand-ra/testfix-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/1661

Range-diff vs v2:

 1:  5734b9edd61 ! 1:  5024389e7a9 t9146: replace test -d/-e/-f with appropriate test_path_is_* function
     @@ Commit message
          The helper functions test_path_is_* provide better debugging
          information than test -d/-e/-f.
      
     -    Replace "if ! test -d then <error message>" with "test_path_exists"
     -    and "test -d" with "test_path_is_dir" at places where we check for
     -    existent directories.
     +    Replace "if ! test -d then <error message>" and "test -d" with
     +    "test_path_is_dir" at places where we check for existent directories.
      
          Replace "test -f" with "test_path_is_file" at places where we check
          for existent files.
      
     -    Replace "test ! -e" with "test_path_is_missing" where we check for
     -    non-existent directories.
     +    Replace "test ! -e" and "if test -d then <error message>" with
     +    "test_path_is_missing" where we check for non-existent directories.
      
          Helped-by: Eric Sunshine <sunshine@sunshineco.com>
          Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com>
     @@ t/t9146-git-svn-empty-dirs.sh: test_expect_success 'empty directories exist' '
      -				echo >&2 "$i does not exist" &&
      -				exit 1
      -			fi
     -+			test_path_exists "$i" || exit 1
     ++			test_path_is_dir "$i" || exit 1
       		done
       	)
       '
     @@ t/t9146-git-svn-empty-dirs.sh: test_expect_success 'git svn mkdirs recreates emp
      -				echo >&2 "$i does not exist" &&
      -				exit 1
      -			fi
     -+			test_path_exists "$i" || exit 1
     ++			test_path_is_dir "$i" || exit 1
       		done
       	)
       '
     @@ t/t9146-git-svn-empty-dirs.sh: test_expect_success 'git svn mkdirs -r works' '
      -				echo >&2 "$i does not exist" &&
      -				exit 1
      -			fi
     -+			test_path_exists "$i" || exit 1
     ++			test_path_is_dir "$i" || exit 1
       		done &&
       
      -		if test -d "! !"
     @@ t/t9146-git-svn-empty-dirs.sh: test_expect_success 'git svn mkdirs -r works' '
      -			echo >&2 "$i not exist" &&
      -			exit 1
      -		fi
     -+		test_path_exists "! !" || exit 1
     ++		test_path_is_dir "! !" || exit 1
       	)
       '
       
     @@ t/t9146-git-svn-empty-dirs.sh: test_expect_success 'empty directories in trunk e
      -				echo >&2 "$i does not exist" &&
      -				exit 1
      -			fi
     -+			test_path_exists "$i" || exit 1
     ++			test_path_is_dir "$i" || exit 1
       		done
       	)
       '
     @@ t/t9146-git-svn-empty-dirs.sh: test_expect_success 'git svn gc-ed files work' '
      -					echo >&2 "$i does not exist" &&
      -					exit 1
      -				fi
     -+				test_path_exists "$i" || exit 1
     ++				test_path_is_dir "$i" || exit 1
       			done
       		fi
       	)


 t/t9146-git-svn-empty-dirs.sh | 56 ++++++++---------------------------
 1 file changed, 12 insertions(+), 44 deletions(-)

diff --git a/t/t9146-git-svn-empty-dirs.sh b/t/t9146-git-svn-empty-dirs.sh
index 09606f1b3cf..926ac814394 100755
--- a/t/t9146-git-svn-empty-dirs.sh
+++ b/t/t9146-git-svn-empty-dirs.sh
@@ -20,11 +20,7 @@ test_expect_success 'empty directories exist' '
 		cd cloned &&
 		for i in a b c d d/e d/e/f "weird file name"
 		do
-			if ! test -d "$i"
-			then
-				echo >&2 "$i does not exist" &&
-				exit 1
-			fi
+			test_path_is_dir "$i" || exit 1
 		done
 	)
 '
@@ -37,11 +33,7 @@ test_expect_success 'option automkdirs set to false' '
 		git svn fetch &&
 		for i in a b c d d/e d/e/f "weird file name"
 		do
-			if test -d "$i"
-			then
-				echo >&2 "$i exists" &&
-				exit 1
-			fi
+			test_path_is_missing "$i" || exit 1
 		done
 	)
 '
@@ -52,7 +44,7 @@ test_expect_success 'more emptiness' '
 
 test_expect_success 'git svn rebase creates empty directory' '
 	( cd cloned && git svn rebase ) &&
-	test -d cloned/"! !"
+	test_path_is_dir cloned/"! !"
 '
 
 test_expect_success 'git svn mkdirs recreates empty directories' '
@@ -62,11 +54,7 @@ test_expect_success 'git svn mkdirs recreates empty directories' '
 		git svn mkdirs &&
 		for i in a b c d d/e d/e/f "weird file name" "! !"
 		do
-			if ! test -d "$i"
-			then
-				echo >&2 "$i does not exist" &&
-				exit 1
-			fi
+			test_path_is_dir "$i" || exit 1
 		done
 	)
 '
@@ -78,25 +66,13 @@ test_expect_success 'git svn mkdirs -r works' '
 		git svn mkdirs -r7 &&
 		for i in a b c d d/e d/e/f "weird file name"
 		do
-			if ! test -d "$i"
-			then
-				echo >&2 "$i does not exist" &&
-				exit 1
-			fi
+			test_path_is_dir "$i" || exit 1
 		done &&
 
-		if test -d "! !"
-		then
-			echo >&2 "$i should not exist" &&
-			exit 1
-		fi &&
+		test_path_is_missing "! !" || exit 1 &&
 
 		git svn mkdirs -r8 &&
-		if ! test -d "! !"
-		then
-			echo >&2 "$i not exist" &&
-			exit 1
-		fi
+		test_path_is_dir "! !" || exit 1
 	)
 '
 
@@ -114,11 +90,7 @@ test_expect_success 'empty directories in trunk exist' '
 		cd trunk &&
 		for i in a "weird file name"
 		do
-			if ! test -d "$i"
-			then
-				echo >&2 "$i does not exist" &&
-				exit 1
-			fi
+			test_path_is_dir "$i" || exit 1
 		done
 	)
 '
@@ -129,7 +101,7 @@ test_expect_success 'remove a top-level directory from svn' '
 
 test_expect_success 'removed top-level directory does not exist' '
 	git svn clone "$svnrepo" removed &&
-	test ! -e removed/d
+	test_path_is_missing removed/d
 
 '
 unhandled=.git/svn/refs/remotes/git-svn/unhandled.log
@@ -143,15 +115,11 @@ test_expect_success 'git svn gc-ed files work' '
 			svn_cmd mkdir -m gz "$svnrepo"/gz &&
 			git reset --hard $(git rev-list HEAD | tail -1) &&
 			git svn rebase &&
-			test -f "$unhandled".gz &&
-			test -f "$unhandled" &&
+			test_path_is_file "$unhandled".gz &&
+			test_path_is_file "$unhandled" &&
 			for i in a b c "weird file name" gz "! !"
 			do
-				if ! test -d "$i"
-				then
-					echo >&2 "$i does not exist" &&
-					exit 1
-				fi
+				test_path_is_dir "$i" || exit 1
 			done
 		fi
 	)

base-commit: 235986be822c9f8689be2e9a0b7804d0b1b6d821
-- 
gitgitgadget


      parent reply	other threads:[~2024-02-14 17:51 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-11 14:53 [PATCH] t9146: replace test -d/-f with appropriate test_path_is_* function Chandra Pratap via GitGitGadget
2024-02-11 17:58 ` Eric Sunshine
2024-02-12 19:17 ` [PATCH v2] t9146: replace test -d/-e/-f " Chandra Pratap via GitGitGadget
2024-02-12 20:31   ` Junio C Hamano
2024-02-14 17:50   ` Chandra Pratap via GitGitGadget [this message]

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.1661.v3.git.1707933048210.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=chandrapratap3519@gmail.com \
    --cc=chandrapratap376@gmail.com \
    --cc=git@vger.kernel.org \
    /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).