* [PATCH] t9001: enhance fake sendmail test harness
2008-02-24 20:57 [PATCH 0/2] test send-email --compose Jeff King
@ 2008-02-24 21:03 ` Jeff King
2008-02-24 21:04 ` [PATCH 2/2] send-email: test compose functionality Jeff King
1 sibling, 0 replies; 3+ messages in thread
From: Jeff King @ 2008-02-24 21:03 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
Previously, the fake.sendmail test harness would write its
output to a hardcoded file, allowing only a single message
to be tested. Instead, let's have it save the messages for
all of its invocations so that we can see which messages
were sent, and in which order.
Signed-off-by: Jeff King <peff@peff.net>
---
t/t9001-send-email.sh | 22 +++++++++++++++-------
1 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 2efaed4..4975048 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -15,16 +15,22 @@ test_expect_success \
'Setup helper tool' \
'(echo "#!/bin/sh"
echo shift
+ echo output=1
+ echo "while test -f commandline\$output; do output=\$((\$output+1)); done"
echo for a
echo do
echo " echo \"!\$a!\""
- echo "done >commandline"
- echo "cat > msgtxt"
+ echo "done >commandline\$output"
+ echo "cat > msgtxt\$output"
) >fake.sendmail &&
chmod +x ./fake.sendmail &&
git add fake.sendmail &&
GIT_AUTHOR_NAME="A" git commit -a -m "Second."'
+clean_fake_sendmail() {
+ rm -f commandline* msgtxt*
+}
+
test_expect_success 'Extract patches' '
patches=`git format-patch -n HEAD^1`
'
@@ -39,7 +45,7 @@ cat >expected <<\EOF
EOF
test_expect_success \
'Verify commandline' \
- 'diff commandline expected'
+ 'diff commandline1 expected'
cat >expected-show-all-headers <<\EOF
0001-Second.patch
@@ -82,7 +88,7 @@ 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 &&
+ clean_fake_sendmail &&
cp $patches longline.patch &&
echo $z512$z512 >>longline.patch &&
! git send-email \
@@ -95,7 +101,7 @@ test_expect_success 'reject long lines' '
'
test_expect_success 'no patch was sent' '
- ! test -e commandline
+ ! test -e commandline1
'
test_expect_success 'allow long lines with --no-validate' '
@@ -109,6 +115,7 @@ test_expect_success 'allow long lines with --no-validate' '
'
test_expect_success 'Invalid In-Reply-To' '
+ clean_fake_sendmail &&
git send-email \
--from="Example <nobody@example.com>" \
--to=nobody@example.com \
@@ -116,17 +123,18 @@ test_expect_success 'Invalid In-Reply-To' '
--smtp-server="$(pwd)/fake.sendmail" \
$patches
2>errors
- ! grep "^In-Reply-To: < *>" msgtxt
+ ! grep "^In-Reply-To: < *>" msgtxt1
'
test_expect_success 'Valid In-Reply-To when prompting' '
+ clean_fake_sendmail &&
(echo "From Example <from@example.com>"
echo "To Example <to@example.com>"
echo ""
) | env GIT_SEND_EMAIL_NOTTY=1 git send-email \
--smtp-server="$(pwd)/fake.sendmail" \
$patches 2>errors &&
- ! grep "^In-Reply-To: < *>" msgtxt
+ ! grep "^In-Reply-To: < *>" msgtxt1
'
test_done
--
1.5.4.3.307.gacd7
^ permalink raw reply related [flat|nested] 3+ messages in thread