t/send-email.sh: add test for suppress-cc=self
authorMichael S. Tsirkin <mst@redhat.com>
Thu, 30 May 2013 07:11:13 +0000 (10:11 +0300)
committerJunio C Hamano <gitster@pobox.com>
Mon, 3 Jun 2013 16:21:24 +0000 (09:21 -0700)
This adds a basic test for --suppress-cc=self
option of git send-email.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t9001-send-email.sh
index ebd5c5db45c8816f39b2d8c60775f455ab9c48aa..f4745ce7422cf7b8bb84a5f2ab77931574ba65af 100755 (executable)
@@ -171,6 +171,49 @@ Result: OK
 EOF
 "
 
+test_suppress_self () {
+       test_commit $3 &&
+       test_when_finished "git reset --hard HEAD^" &&
+
+       write_script cccmd-sed <<-EOF &&
+               sed -n -e s/^cccmd--//p "\$1"
+       EOF
+
+       git commit --amend --author="$1 <$2>" -F - &&
+       clean_fake_sendmail &&
+       git format-patch --stdout -1 >"suppress-self-$3.patch" &&
+
+       git send-email --from="$1 <$2>" \
+               --to=nobody@example.com \
+               --cc-cmd=./cccmd-sed \
+               --suppress-cc=self \
+               --smtp-server="$(pwd)/fake.sendmail" \
+               suppress-self-$3.patch &&
+
+       mv msgtxt1 msgtxt1-$3 &&
+       sed -e '/^$/q' msgtxt1-$3 >"msghdr1-$3" &&
+       >"expected-no-cc-$3" &&
+
+       (grep '^Cc:' msghdr1-$3 >"actual-no-cc-$3";
+        test_cmp expected-no-cc-$3 actual-no-cc-$3)
+}
+
+test_suppress_self_unquoted () {
+       test_suppress_self "$1" "$2" "unquoted-$3" <<-EOF
+               test suppress-cc.self unquoted-$3 with name $1 email $2
+
+               unquoted-$3
+
+               Cc: $1 <$2>
+               Signed-off-by: $1 <$2>
+       EOF
+}
+
+test_expect_success $PREREQ 'self name is suppressed' "
+       test_suppress_self_unquoted 'A U Thor' 'author@redhat.com' \
+               'self_name_suppressed'
+"
+
 test_expect_success $PREREQ 'Show all headers' '
        git send-email \
                --dry-run \