unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Mark Walters <markwalters1009@gmail.com>
To: David Bremner <david@tethera.net>, notmuch@notmuchmail.org
Subject: Re: [PATCH 1/2] test: add emacs_fcc_message that does not use smtp-dummy
Date: Sun, 22 Dec 2013 11:39:07 +0000	[thread overview]
Message-ID: <87eh55i084.fsf@qmul.ac.uk> (raw)
In-Reply-To: <1387070158-30547-2-git-send-email-david@tethera.net>


Hi

> 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.

I get a test failure with this patch, but I have a tentative fix. It may
be a mis-configuration in some other part of my setup. 

My computer has a hostname of e4300 (which perhaps should be a FQDN?)
Anyway when running with this patch I get an error for the crypto test
as

 FAIL   reply to encrypted message
        --- crypto.13.expected  2013-12-22 11:32:24.117104674 +0000
        +++ crypto.13.output    2013-12-22 11:32:24.117104674 +0000
        @@ -1,5 +1,7 @@
         From: Notmuch Test Suite <test_suite@notmuchmail.org>
         Subject: Re: test encrypted message 002
        +       <871u15xgs8.fsf@e4300.i-did-not-set--mail-host-address--so-tickle-me>
        +       <871u15xgs8.fsf@e4300.i-did-not-set--mail-host-address--so-tickle-me>
         
         On 01 Jan 2000 12:00:00 -0000, Notmuch Test Suite <test_suite@notmuchmail.org> wrote:
         > This is another test encrypted message.

If I add the line

(mail-host-address \"example.com\"))

inside the let in emacs_fcc_message below then it passes. All tests also
pass on current master.

Best wishes

Mark



>  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 <<EOF >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
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

  reply	other threads:[~2013-12-22 11:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-15  1:15 test/emacs: reduce use of smtp-dummy, notmuch-hello David Bremner
2013-12-15  1:15 ` [PATCH 1/2] test: add emacs_fcc_message that does not use smtp-dummy David Bremner
2013-12-22 11:39   ` Mark Walters [this message]
2013-12-23  1:11     ` David Bremner
2013-12-15  1:15 ` [PATCH 2/2] test: remove call to notmuch-hello from emacs_deliver_message David Bremner
2013-12-15 10:35 ` test/emacs: reduce use of smtp-dummy, notmuch-hello Tomi Ollila

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87eh55i084.fsf@qmul.ac.uk \
    --to=markwalters1009@gmail.com \
    --cc=david@tethera.net \
    --cc=notmuch@notmuchmail.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).