@matheusbsbs / matheus-bagliano / commits / 7d812145ba
Fork 0

Add more tests for format-patch

Tests -o, and an excessively long subject, and --thread, with and without --in-reply-to= Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Daniel Barkalow committed Feb 18, 2008 at 22:56 UTC 7d812145ba7f8df825de618b277186c512d04cfa
1 file changed +45
t/t4014-format-patch.sh
+45
@@ -88,4 +88,49 @@ test_expect_success 'replay did not screw up the log message' '
88
89 '
90
91 +test_expect_success 'multiple files' '
92 +
93 + rm -rf patches/ &&
94 + git checkout side &&
95 + git format-patch -o patches/ master &&
96 + ls patches/0001-Side-changes-1.patch patches/0002-Side-changes-2.patch patches/0003-Side-changes-3-with-n-backslash-n-in-it.patch
97 +'
98 +
99 +test_expect_success 'thread' '
100 +
101 + rm -rf patches/ &&
102 + git checkout side &&
103 + git format-patch --thread -o patches/ master &&
104 + FIRST_MID=$(grep "Message-Id:" patches/0001-* | sed "s/^[^<]*\(<[^>]*>\).*$/\1/") &&
105 + for i in patches/0002-* patches/0003-*
106 + do
107 + grep "References: $FIRST_MID" $i &&
108 + grep "In-Reply-To: $FIRST_MID" $i
109 + done
110 +'
111 +
112 +test_expect_success 'thread in-reply-to' '
113 +
114 + rm -rf patches/ &&
115 + git checkout side &&
116 + git format-patch --in-reply-to="<test.message>" --thread -o patches/ master &&
117 + FIRST_MID="<test.message>" &&
118 + for i in patches/*
119 + do
120 + grep "References: $FIRST_MID" $i &&
121 + grep "In-Reply-To: $FIRST_MID" $i
122 + done
123 +'
124 +
125 +test_expect_success 'excessive subject' '
126 +
127 + rm -rf patches/ &&
128 + git checkout side &&
129 + for i in 5 6 1 2 3 A 4 B C 7 8 9 10 D E F; do echo "$i"; done >>file &&
130 + git update-index file &&
131 + git commit -m "This is an excessively long subject line for a message due to the habit some projects have of not having a short, one-line subject at the start of the commit message, but rather sticking a whole paragraph right at the start as the only thing in the commit message. It had better not become the filename for the patch." &&
132 + git format-patch -o patches/ master..side &&
133 + ls patches/0004-This-is-an-excessively-long-subject-line-for-a-messa.patch
134 +'
135 +
136 test_done