From: David Bremner Date: Sun, 15 Dec 2013 01:15:57 +0000 (+0800) Subject: [PATCH 1/2] test: add emacs_fcc_message that does not use smtp-dummy X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=6a20360784656e3afbf01c39922927763264bf7a;p=notmuch-archives.git [PATCH 1/2] test: add emacs_fcc_message that does not use smtp-dummy --- diff --git a/9d/a5c83cbca9d6324f241aa2b03daa3b89f9b926 b/9d/a5c83cbca9d6324f241aa2b03daa3b89f9b926 new file mode 100644 index 000000000..c80b2554e --- /dev/null +++ b/9d/a5c83cbca9d6324f241aa2b03daa3b89f9b926 @@ -0,0 +1,187 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 50786431FD0 + for ; Sat, 14 Dec 2013 17:16:41 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id h8-zTsqkiWK5 for ; + Sat, 14 Dec 2013 17:16:35 -0800 (PST) +Received: from yantan.tethera.net (yantan.tethera.net [199.188.72.155]) + (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id BED8D431FD5 + for ; Sat, 14 Dec 2013 17:16:25 -0800 (PST) +Received: from remotemail by yantan.tethera.net with local (Exim 4.80) + (envelope-from ) + id 1Vs0Jj-0000Si-8t; Sat, 14 Dec 2013 21:16:23 -0400 +Received: (nullmailer pid 13656 invoked by uid 1000); Sun, 15 Dec 2013 + 01:16:11 -0000 +From: David Bremner +To: notmuch@notmuchmail.org +Subject: [PATCH 1/2] test: add emacs_fcc_message that does not use smtp-dummy +Date: Sun, 15 Dec 2013 09:15:57 +0800 +Message-Id: <1387070158-30547-2-git-send-email-david@tethera.net> +X-Mailer: git-send-email 1.8.4.3 +In-Reply-To: <1387070158-30547-1-git-send-email-david@tethera.net> +References: <1387070158-30547-1-git-send-email-david@tethera.net> +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sun, 15 Dec 2013 01:16:41 -0000 + +Most of the tests previously using emacs_deliver_message do not use +the actual transmitted message, so we replace it with a simpler (and +presumably more reliable function) that only saves (and indexes) an +fcc copy of the message. +--- + test/crypto | 10 +++------- + test/emacs | 4 ++-- + test/json | 2 +- + test/sexp | 2 +- + test/test-lib.sh | 29 +++++++++++++++++++++++++++++ + 5 files changed, 36 insertions(+), 11 deletions(-) + +diff --git a/test/crypto b/test/crypto +index 9e5ff4f..477b397 100755 +--- a/test/crypto ++++ b/test/crypto +@@ -28,12 +28,8 @@ add_gnupg_home + # get key fingerprint + FINGERPRINT=$(gpg --no-tty --list-secret-keys --with-colons --fingerprint | grep '^fpr:' | cut -d: -f10) + +-# for some reason this is needed for emacs_deliver_message to work, +-# although I can't figure out why +-add_email_corpus +- + test_expect_success 'emacs delivery of signed message' \ +-'emacs_deliver_message \ ++'emacs_fcc_message \ + "test signed message 001" \ + "This is a test signed message." \ + "(mml-secure-message-sign)"' +@@ -143,7 +139,7 @@ cat <TESTATTACHMENT + This is a test file. + EOF + test_expect_success 'emacs delivery of encrypted message with attachment' \ +-'emacs_deliver_message \ ++'emacs_fcc_message \ + "test encrypted message 001" \ + "This is a test encrypted message.\n" \ + "(mml-attach-file \"TESTATTACHMENT\") (mml-secure-message-encrypt)"' +@@ -270,7 +266,7 @@ test_expect_equal_json \ + mv "${GNUPGHOME}"{.bak,} + + test_expect_success 'emacs delivery of encrypted + signed message' \ +-'emacs_deliver_message \ ++'emacs_fcc_message \ + "test encrypted message 002" \ + "This is another test encrypted message.\n" \ + "(mml-secure-message-sign-encrypt)"' +diff --git a/test/emacs b/test/emacs +index 1b1ebe3..863219d 100755 +--- a/test/emacs ++++ b/test/emacs +@@ -771,7 +771,7 @@ test_expect_equal_file OUTPUT EXPECTED + + test_begin_subtest "Do not call notmuch for non-inlinable application/mpeg parts" + id='message-with-application/mpeg-attachment@notmuchmail.org' +-emacs_deliver_message \ ++emacs_fcc_message \ + 'Message with application/mpeg attachment' \ + '' \ + "(message-goto-eoh) +@@ -786,7 +786,7 @@ test_expect_equal $(notmuch_counter_value) 1 + + test_begin_subtest "Do not call notmuch for non-inlinable audio/mpeg parts" + id='message-with-audio/mpeg-attachment@notmuchmail.org' +-emacs_deliver_message \ ++emacs_fcc_message \ + 'Message with audio/mpeg attachment' \ + '' \ + "(message-goto-eoh) +diff --git a/test/json b/test/json +index e07a290..c1cf649 100755 +--- a/test/json ++++ b/test/json +@@ -38,7 +38,7 @@ test_expect_equal_json "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true + test_begin_subtest "Show message: json, inline attachment filename" + subject='json-show-inline-attachment-filename' + id="json-show-inline-attachment-filename@notmuchmail.org" +-emacs_deliver_message \ ++emacs_fcc_message \ + "$subject" \ + 'This is a test message with inline attachment with a filename' \ + "(mml-attach-file \"$TEST_DIRECTORY/README\" nil nil \"inline\") +diff --git a/test/sexp b/test/sexp +index be815e1..667e319 100755 +--- a/test/sexp ++++ b/test/sexp +@@ -29,7 +29,7 @@ test_expect_equal "$output" "((((:id \"${gen_msg_id}\" :match t :excluded nil :f + test_begin_subtest "Show message: sexp, inline attachment filename" + subject='sexp-show-inline-attachment-filename' + id="sexp-show-inline-attachment-filename@notmuchmail.org" +-emacs_deliver_message \ ++emacs_fcc_message \ + "$subject" \ + 'This is a test message with inline attachment with a filename' \ + "(mml-attach-file \"$TEST_DIRECTORY/README\" nil nil \"inline\") +diff --git a/test/test-lib.sh b/test/test-lib.sh +index 53cb947..66c0720 100644 +--- a/test/test-lib.sh ++++ b/test/test-lib.sh +@@ -470,6 +470,35 @@ emacs_deliver_message () + notmuch new >/dev/null + } + ++# Pretend to deliver a message with emacs. Really save it to a file ++# and add it to the database ++# ++# Uses emacs to generate and deliver a message to the mail store. ++# Accepts arbitrary extra emacs/elisp functions to modify the message ++# before sending, which is useful to doing things like attaching files ++# to the message and encrypting/signing. ++emacs_fcc_message () ++{ ++ local subject="$1" ++ local body="$2" ++ shift 2 ++ # before we can send a message, we have to prepare the FCC maildir ++ mkdir -p "$MAIL_DIR"/sent/{cur,new,tmp} ++ ++ test_emacs \ ++ "(let ((message-send-mail-function (lambda () t))) ++ (notmuch-mua-mail) ++ (message-goto-to) ++ (insert \"test_suite@notmuchmail.org\nDate: 01 Jan 2000 12:00:00 -0000\") ++ (message-goto-subject) ++ (insert \"${subject}\") ++ (message-goto-body) ++ (insert \"${body}\") ++ $@ ++ (message-send-and-exit))" || return 1 ++ notmuch new >/dev/null ++} ++ + # Generate a corpus of email and add it to the database. + # + # This corpus is fixed, (it happens to be 50 messages from early in +-- +1.8.4.3 +