summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2008-01-18 09:19:48 -0500
committerLibravatar Junio C Hamano <gitster@pobox.com>2008-01-18 13:33:08 -0800
commit747bbff9b9583642cd8702b7b559757a6960df00 (patch)
treeb00757318b8102bb626a1ccaf33aca93534d1405 /t
parentsend-email: detect invocation errors earlier (diff)
downloadtgif-747bbff9b9583642cd8702b7b559757a6960df00.tar.xz
send-email: validate patches before sending anything
We try to catch errors early so that we don't end up sending half of a broken patch series. Right now the only validation is checking that line-lengths are under the SMTP-mandated limit of 998. The validation parsing is very crude (it just checks each line length without understanding the mailbox format) but should work fine for this simple check. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-xt/t9001-send-email.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 659f9c758f..1c4181022f 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -78,4 +78,24 @@ test_expect_success 'Show all headers' '
diff -u expected-show-all-headers actual-show-all-headers
'
+z8=zzzzzzzz
+z64=$z8$z8$z8$z8$z8$z8$z8$z8
+z512=$z64$z64$z64$z64$z64$z64$z64$z64
+test_expect_success 'reject long lines' '
+ rm -f commandline &&
+ cp $patches longline.patch &&
+ echo $z512$z512 >>longline.patch &&
+ ! git send-email \
+ --from="Example <nobody@example.com>" \
+ --to=nobody@example.com \
+ --smtp-server="$(pwd)/fake.sendmail" \
+ $patches longline.patch \
+ 2>errors &&
+ grep longline.patch errors
+'
+
+test_expect_success 'no patch was sent' '
+ ! test -e commandline
+'
+
test_done