Subject: [PATCH 3/3] t4150-am: add a test for message-id header collection

From: James Bottomley <[email-masked]>
Date: Thu, 16 Oct 2025 14:57:58 -0400

Since git am now always adds the message-id header, fix test 'am
applies patch e-mail not in a mbox' not to add the header because
otherwise the commit won't be equivalent to second and add a new test
that the message-id header gets correctly added.

Signed-off-by: James Bottomley <[email-masked]>
---
 t/t4150-am.sh | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index 699a81ab5c..82603b2bbf 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -109,6 +109,12 @@ test_expect_success setup '
 		echo "X-Fake-Field: Line Three" &&
 		git format-patch --stdout first | sed -e "1d"
 	} > patch1.eml &&
+	{
+		echo "X-Fake-Field: Line One" &&
+		echo "X-Fake-Field: Line Two" &&
+		echo "X-Fake-Field: Line Three" &&
+		git format-patch --stdout first | sed -e "1d"
+	} > patch1-nomsgid.eml &&
 	{
 		echo "X-Fake-Field: Line One" &&
 		echo "X-Fake-Field: Line Two" &&
@@ -235,13 +241,25 @@ test_expect_success 'am applies patch e-mail not in a mbox' '
 	rm -fr .git/rebase-apply &&
 	git reset --hard &&
 	git checkout first &&
-	git am patch1.eml &&
+	git am patch1-nomsgid.eml &&
 	test_path_is_missing .git/rebase-apply &&
 	git diff --exit-code second &&
 	test "$(git rev-parse second)" = "$(git rev-parse HEAD)" &&
 	test "$(git rev-parse second^)" = "$(git rev-parse HEAD^)"
 '
 
+test_expect_success 'am adds message-id to the header' '
+	rm -fr .git/rebase-apply &&
+	git reset --hard &&
+	git checkout first &&
+	git am patch1.eml &&
+	test_path_is_missing .git/rebase-apply &&
+	git diff --exit-code second &&
+	test "$(git rev-parse second)" != "$(git rev-parse HEAD)" &&
+	test "$(git rev-parse second^)" = "$(git rev-parse HEAD^)" &&
+	git show --pretty=raw HEAD | grep "^message-id <[email-masked]>"
+'
+
 test_expect_success 'am applies patch e-mail not in a mbox with CRLF' '
 	rm -fr .git/rebase-apply &&
 	git reset --hard &&
-- 
2.51.0