[PATCH v3] t9146: replace test -d/-e/-f with appropriate test_path_is_* function
From: Chandra Pratap via GitGitGadget <hidden>
Date: 2024-02-14 17:50:51
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Chandra Pratap <redacted>
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 [off-list ref]
Signed-off-by: Chandra Pratap <redacted>
---
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 [off-list ref]
Signed-off-by: Chandra Pratap [off-list ref]
@@ 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