From: Elijah Newren <newren@gmail.com>
To: gitster@pobox.com
Cc: git@vger.kernel.org, sunshine@sunshineco.com,
martin.agren@gmail.com, szeder.dev@gmail.com,
Elijah Newren <newren@gmail.com>
Subject: [PATCHv4 0/5] Simple fixes to t7406
Date: Wed, 8 Aug 2018 09:31:02 -0700 [thread overview]
Message-ID: <20180808163107.12329-1-newren@gmail.com> (raw)
In-Reply-To: <20180807164905.3859-1-newren@gmail.com>
Changes since v3, all suggested/endorsed by Junio (range-diff at the end):
- Moved the actual fix from being last patch in the series to the first
(other patches in this series are just test code cleanups)
- Anchored regexes to avoid matching another filename as a substring
- Add test_path_exists() to test-lib-function.sh and use it (we had
test_path_is_dir, test_path_is_file, and test_path_is_missing, but
not simple test_path_exists)
Elijah Newren (5):
t7406: fix call that was failing for the wrong reason
t7406: simplify by using diff --name-only instead of diff --raw
t7406: avoid having git commands upstream of a pipe
t7406: prefer test_* helper functions to test -[feds]
t7406: avoid using test_must_fail for commands other than git
t/t7406-submodule-update.sh | 37 +++++++++++++++++++++++--------------
t/test-lib-functions.sh | 8 ++++++++
2 files changed, 31 insertions(+), 14 deletions(-)
-: ---------- > 1: 5f257af6c8 t7406: fix call that was failing for the wrong reason
1: 3c369bf73d ! 2: 9e5400a1ad t7406: simplify by using diff --name-only instead of diff --raw
@@ -16,10 +16,10 @@
compare_head
) &&
- git diff --raw | grep " submodule" &&
-+ git diff --name-only | grep submodule &&
++ git diff --name-only | grep ^submodule$ &&
git submodule update &&
- git diff --raw | grep " submodule" &&
-+ git diff --name-only | grep submodule &&
++ git diff --name-only | grep ^submodule$ &&
(cd submodule &&
compare_head
) &&
@@ -28,10 +28,12 @@
compare_head
) &&
- git diff --raw | grep " submodule" &&
-+ git diff --name-only | grep submodule &&
++ git diff --name-only | grep ^submodule$ &&
git submodule update --checkout &&
-- test_must_fail git diff --raw \| grep " submodule" &&
-+ test_must_fail git diff --name-only \| grep submodule &&
+- git diff --raw >out &&
+- ! grep " submodule" out &&
++ git diff --name-only >out &&
++ ! grep ^submodule$ out &&
(cd submodule &&
test_must_fail compare_head
) &&
2: ba50d6b0f3 ! 3: 4e8cdf60f4 t7406: avoid having git commands upstream of a pipe
@@ -26,13 +26,13 @@
git checkout master &&
compare_head
) &&
-- git diff --name-only | grep submodule &&
+- git diff --name-only | grep ^submodule$ &&
+ git diff --name-only >out &&
-+ grep submodule out &&
++ grep ^submodule$ out &&
git submodule update &&
-- git diff --name-only | grep submodule &&
+- git diff --name-only | grep ^submodule$ &&
+ git diff --name-only >out &&
-+ grep submodule out &&
++ grep ^submodule$ out &&
(cd submodule &&
compare_head
) &&
@@ -40,12 +40,12 @@
git checkout master &&
compare_head
) &&
-- git diff --name-only | grep submodule &&
+- git diff --name-only | grep ^submodule$ &&
+ git diff --name-only >out &&
-+ grep submodule out &&
++ grep ^submodule$ out &&
git submodule update --checkout &&
- test_must_fail git diff --name-only \| grep submodule &&
- (cd submodule &&
+ git diff --name-only >out &&
+ ! grep ^submodule$ out &&
@@
H=$(git rev-parse --short HEAD) &&
git commit -am "pre move" &&
3: 42f7b7f225 ! 4: f171cbcc9a t7406: prefer test_* helper functions to test -[feds]
@@ -6,13 +6,12 @@
test failures, so use the test_* helper functions from
test-lib-functions.sh.
- Note: The use of 'test_path_is_file submodule/.git' may look odd, but
- it is a file which is populated with a
+ Also, add test_path_exists() to test-lib-function.sh while at it, so
+ that we don't need to worry whether submodule/.git is a file or a
+ directory. It currently is a file with contents of the form
gitdir: ../.git/modules/submodule
- directive. If, in the future, handling of the submodule is changed and
- submodule/.git becomes a directory we can change this to
- test_path_is_dir (or perhaps write a test_path_exists helper function
- that doesn't care whether the path is a file or a directory).
+ but it could be changed in the future to be a directory; this test
+ only really cares that it exists.
Signed-off-by: Elijah Newren <newren@gmail.com>
@@ -34,8 +33,27 @@
git submodule update --init &&
- test -e submodule/.git &&
- test_must_fail test -e none/.git
-+ test_path_is_file submodule/.git &&
++ test_path_exists submodule/.git &&
+ test_path_is_missing none/.git
)
'
+
+diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
+--- a/t/test-lib-functions.sh
++++ b/t/test-lib-functions.sh
+@@
+ fi
+ }
+
++test_path_exists () {
++ if ! test -e "$1"
++ then
++ echo "Path $1 doesn't exist. $2"
++ false
++ fi
++}
++
+ # Check if the directory exists and is empty as expected, barf otherwise.
+ test_dir_is_empty () {
+ test_path_is_dir "$1" &&
4: 54cf6531ec ! 5: a44c566321 t7406: avoid using test_must_fail for commands other than git
@@ -8,8 +8,8 @@
--- a/t/t7406-submodule-update.sh
+++ b/t/t7406-submodule-update.sh
@@
- git submodule update --checkout &&
- test_must_fail git diff --name-only \| grep submodule &&
+ git diff --name-only >out &&
+ ! grep ^submodule$ out &&
(cd submodule &&
- test_must_fail compare_head
+ ! compare_head
5: 3019f2d01c < -: ---------- t7406: fix call that was failing for the wrong reason
--
2.18.0.556.g1604670984
next prev parent reply other threads:[~2018-08-08 16:31 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-03 23:14 [PATCH] t7406: Make a test_must_fail call fail for the right reason Elijah Newren
2018-08-03 23:40 ` Eric Sunshine
2018-08-03 23:42 ` Eric Sunshine
2018-08-03 23:41 ` Junio C Hamano
2018-08-06 15:25 ` [PATCH 0/2] Simple fixes to t7406 Elijah Newren
2018-08-06 15:25 ` [PATCH 1/3] t7406: simplify by using diff --name-only instead of diff --raw Elijah Newren
2018-08-06 15:25 ` [PATCH 2/3] t7406: avoid having git commands upstream of a pipe Elijah Newren
2018-08-06 15:48 ` SZEDER Gábor
2018-08-06 16:09 ` Elijah Newren
2018-08-06 15:25 ` [PATCH 3/3] t7406: make a test_must_fail call fail for the right reason Elijah Newren
2018-08-07 9:07 ` SZEDER Gábor
2018-08-07 13:46 ` Elijah Newren
2018-08-07 7:50 ` [PATCH 0/2] Simple fixes to t7406 Martin Ågren
2018-08-07 13:40 ` Elijah Newren
2018-08-07 16:49 ` [PATCHv3 0/5] " Elijah Newren
2018-08-07 16:49 ` [PATCHv3 1/5] t7406: simplify by using diff --name-only instead of diff --raw Elijah Newren
2018-08-07 17:29 ` Junio C Hamano
2018-08-07 17:40 ` Elijah Newren
2018-08-07 18:18 ` Junio C Hamano
2018-08-07 16:49 ` [PATCHv3 2/5] t7406: avoid having git commands upstream of a pipe Elijah Newren
2018-08-07 16:49 ` [PATCHv3 3/5] t7406: prefer test_* helper functions to test -[feds] Elijah Newren
2018-08-07 17:34 ` Junio C Hamano
2018-08-07 16:49 ` [PATCHv3 4/5] t7406: avoid using test_must_fail for commands other than git Elijah Newren
2018-08-07 16:49 ` [PATCHv3 5/5] t7406: fix call that was failing for the wrong reason Elijah Newren
2018-08-07 17:37 ` Junio C Hamano
2018-08-08 16:31 ` Elijah Newren [this message]
2018-08-08 16:31 ` [PATCHv4 1/5] " Elijah Newren
2018-08-08 16:31 ` [PATCHv4 2/5] t7406: simplify by using diff --name-only instead of diff --raw Elijah Newren
2018-08-08 16:31 ` [PATCHv4 3/5] t7406: avoid having git commands upstream of a pipe Elijah Newren
2018-08-08 16:31 ` [PATCHv4 4/5] t7406: prefer test_* helper functions to test -[feds] Elijah Newren
2018-08-08 16:31 ` [PATCHv4 5/5] t7406: avoid using test_must_fail for commands other than git Elijah Newren
2018-08-13 20:28 ` [PATCHv3 0/5] Simple fixes to t7406 SZEDER Gábor
2018-08-18 20:52 ` Elijah Newren
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180808163107.12329-1-newren@gmail.com \
--to=newren@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=martin.agren@gmail.com \
--cc=sunshine@sunshineco.com \
--cc=szeder.dev@gmail.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.