public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: Deveshi Dwivedi <deveshigurgaon@gmail.com>
To: git@vger.kernel.org
Cc: deveshigurgaon@gmail.com, sunshine@sunshineco.com,
	pushkarkumarsingh1970@gmail.com
Subject: [PATCH v2 2/2] t5403: use test_cmp for post-checkout argument checks
Date: Mon, 12 Jan 2026 06:53:01 +0000	[thread overview]
Message-ID: <20260112065301.1290-3-deveshigurgaon@gmail.com> (raw)
In-Reply-To: <20260112065301.1290-1-deveshigurgaon@gmail.com>

Update check_post_checkout and the post-checkout hook implementation to
use test_cmp instead of individual test commands. This provides better
error messages when tests fail, making it easier to debug which specific
argument (old ref, new ref, or flag) was incorrect.

The hook now outputs in key=value format which test_cmp can display
clearly when there's a mismatch.

Signed-off-by: Deveshi Dwivedi <deveshigurgaon@gmail.com>
---
 t/t5403-post-checkout-hook.sh | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/t/t5403-post-checkout-hook.sh b/t/t5403-post-checkout-hook.sh
index 7bdea25107..cb0300b2d2 100755
--- a/t/t5403-post-checkout-hook.sh
+++ b/t/t5403-post-checkout-hook.sh
@@ -16,13 +16,13 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
 # <flag> indicating whether this was a branch checkout (1) or file checkout (0).
 check_post_checkout () {
 	test "$#" = 4 || BUG "check_post_checkout takes 4 args"
-	read old new flag <"$1" &&
-	test "$old" = "$2" && test "$new" = "$3" && test "$flag" = "$4"
+	echo "old=$2 new=$3 flag=$4" >expect &&
+	test_cmp expect "$1"
 }
 
 test_expect_success setup '
 	test_hook --setup post-checkout <<-\EOF &&
-	echo "$@" >.git/post-checkout.args
+	echo "old=$1 new=$2 flag=$3" >.git/post-checkout.args
 	EOF
 	test_commit one &&
 	test_commit two &&
@@ -112,7 +112,7 @@ test_rebase --merge
 test_expect_success 'post-checkout hook is triggered by clone' '
 	mkdir -p templates/hooks &&
 	write_script templates/hooks/post-checkout <<-\EOF &&
-	echo "$@" >"$GIT_DIR/post-checkout.args"
+	echo "old=$1 new=$2 flag=$3" >"$GIT_DIR/post-checkout.args"
 	EOF
 	git clone --template=templates . clone3 &&
 	check_post_checkout clone3/.git/post-checkout.args \
-- 
2.52.0.230.gd8af7cadaa


  parent reply	other threads:[~2026-01-12  6:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-11  7:29 [PATCH 0/2] t5403: improve post-checkout hook testing Deveshi Dwivedi
2026-01-11  7:29 ` [PATCH 1/2] t5403:introduce check_post_checkout helper function Deveshi Dwivedi
2026-01-11  7:53   ` Eric Sunshine
2026-01-11 11:01     ` Pushkar Singh
2026-01-12  6:44     ` Deveshi Dwivedi
2026-01-11 12:10   ` [PATCH] t5403: document check_post_checkout helper Pushkar Singh
2026-01-11  7:29 ` [PATCH 2/2] t5403: use test_cmp for post-checkout argument checks Deveshi Dwivedi
2026-01-12  6:52 ` [PATCH v2 0/2] t5403: improve post-checkout hook testing Deveshi Dwivedi
2026-01-12  6:53   ` [PATCH v2 1/2] t5403:introduce check_post_checkout helper function Deveshi Dwivedi
2026-01-12 14:48     ` Junio C Hamano
2026-01-12  6:53   ` Deveshi Dwivedi [this message]
2026-01-12 16:36 ` [PATCH v3 0/2] t5403: improve post-checkout hook testing Deveshi Dwivedi
2026-01-12 16:36   ` [PATCH v3 1/2] t5403:introduce check_post_checkout helper function Deveshi Dwivedi
2026-01-12 16:36   ` [PATCH v3 2/2] t5403: use test_cmp for post-checkout argument checks Deveshi Dwivedi

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=20260112065301.1290-3-deveshigurgaon@gmail.com \
    --to=deveshigurgaon@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=pushkarkumarsingh1970@gmail.com \
    --cc=sunshine@sunshineco.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox