From: Pieter Praet Date: Wed, 22 Feb 2012 18:49:06 +0000 (+0100) Subject: Re: [PATCH v2 2/4] test: emacs: new test "notmuch-search: replying to a thread (sending)" X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=465e79bfd3afe009b60e9890651e6783c60e17c5;p=notmuch-archives.git Re: [PATCH v2 2/4] test: emacs: new test "notmuch-search: replying to a thread (sending)" --- diff --git a/5e/5ccd6cd541b62b5044ace1bf83e79c1f900050 b/5e/5ccd6cd541b62b5044ace1bf83e79c1f900050 new file mode 100644 index 000000000..c233b4e11 --- /dev/null +++ b/5e/5ccd6cd541b62b5044ace1bf83e79c1f900050 @@ -0,0 +1,161 @@ +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 F0A17431FB6 + for ; Wed, 22 Feb 2012 10:51:25 -0800 (PST) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.7 +X-Spam-Level: +X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_LOW=-0.7] 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 h6ydeWI61OUl for ; + Wed, 22 Feb 2012 10:51:25 -0800 (PST) +Received: from mail-we0-f181.google.com (mail-we0-f181.google.com + [74.125.82.181]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 137DE431FAE + for ; Wed, 22 Feb 2012 10:51:24 -0800 (PST) +Received: by werp13 with SMTP id p13so271229wer.26 + for ; Wed, 22 Feb 2012 10:51:23 -0800 (PST) +Received-SPF: pass (google.com: domain of pieter@praet.org designates + 10.180.8.226 as permitted sender) client-ip=10.180.8.226; +Authentication-Results: mr.google.com; + spf=pass (google.com: domain of pieter@praet.org + designates 10.180.8.226 as permitted sender) + smtp.mail=pieter@praet.org +Received: from mr.google.com ([10.180.8.226]) + by 10.180.8.226 with SMTP id u2mr38182096wia.16.1329936683943 (num_hops + = 1); Wed, 22 Feb 2012 10:51:23 -0800 (PST) +Received: by 10.180.8.226 with SMTP id u2mr31530245wia.16.1329936683696; + Wed, 22 Feb 2012 10:51:23 -0800 (PST) +Received: from localhost ([109.131.181.26]) + by mx.google.com with ESMTPS id h19sm30965911wiw.9.2012.02.22.10.51.22 + (version=TLSv1/SSLv3 cipher=OTHER); + Wed, 22 Feb 2012 10:51:23 -0800 (PST) +From: Pieter Praet +To: Tomi Ollila , Notmuch Mail +Subject: Re: [PATCH v2 2/4] test: emacs: new test "notmuch-search: replying to + a thread (sending)" +In-Reply-To: +References: <1310313335-4159-1-git-send-email-pieter@praet.org> + <1329683908-5435-1-git-send-email-pieter@praet.org> + <1329683908-5435-3-git-send-email-pieter@praet.org> + +User-Agent: Notmuch/0.11.1+210~g6afc43e (http://notmuchmail.org) Emacs/23.3.1 + (x86_64-unknown-linux-gnu) +Date: Wed, 22 Feb 2012 19:49:06 +0100 +Message-ID: <87mx8a900t.fsf@praet.org> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +X-Gm-Message-State: + ALoCoQn+r6juyr1TyDjY9oZ0brpqBePwlF6FuqwwqlPB0jI3t96iSMtyXgq66rb3UzvRErG6MWak +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: Wed, 22 Feb 2012 18:51:26 -0000 + +On Sun, 19 Feb 2012 23:04:38 +0200, Tomi Ollila wrote: +> On Sun, 19 Feb 2012 21:38:26 +0100, Pieter Praet wrote: +> > As pointed out in the previous commit, the test for replying from +> > within Emacs didn't actually submit the reply. This one does. +> > --- +> > test/emacs | 41 +++++++++++++++++++++++++++++++++++++++++ +> > 1 files changed, 41 insertions(+), 0 deletions(-) +> > +> > diff --git a/test/emacs b/test/emacs +> > index 308d749..0f4f42b 100755 +> > --- a/test/emacs +> > +++ b/test/emacs +> > @@ -273,6 +273,47 @@ On 01 Jan 2000 12:00:00 -0000, Notmuch Test Suite w +> > EOF +> > test_expect_equal_file OUTPUT EXPECTED +> > +> > +test_begin_subtest "notmuch-search: replying to a thread (sending)" +> > +$TEST_DIRECTORY/smtp-dummy sent_message & +> > +smtp_dummy_pid=$! +> > +test_emacs \ +> > +'(let ((message-send-mail-function '\''message-smtpmail-send-it) +> > + (smtpmail-smtp-server "localhost") +> > + (smtpmail-smtp-service "25025")) +> > + (notmuch-search "subject:\"testing message sent via SMTP\"") +> > + (notmuch-test-wait) +> > + (notmuch-search-reply-to-thread) +> > + (end-of-buffer) +> > + (newline) +> > + (insert "Reply to a message via Emacs with fake SMTP") +> > + (message-send-and-exit))' >/dev/null 2>&1 +> > +wait ${smtp_dummy_pid} +> > +notmuch new >/dev/null +> +> The above part smells like CopyPasteProgramming; (old version of) +> emacs_deliver_message copied (old as this version is lacking +> opportunistic quit). +> + +Nope, "Sending a message via (fake) SMTP", around 2011-05 to be exact [1]. + +My main intention was to get a bugfix [2] applied (still isn't BTW), +which might have been expedited by providing a test which checks +whether messages are properly tagged 'replied' when and *only* when +applicable, and for that I needed a quick way to test replying to a +thread, so I lazily repurposed an existing test. Not much point in +reinventing the wheel, is there? + +Still haven't gotten around to writing the actual test to demonstrate +that messages are tagged 'replied' prematurely, but this should be the +gist of it: + + #+begin_src emacs-lisp + ;; ask for confirmation (using `y-or-n-p') before sending + (let ((message-confirm-send t)) + ;; temporarily redefine `y-or-n-p', immediately returns nil + (flet ((y-or-n-p (&rest args) nil)) + ;; then try to send message (which will fail) + (message-send-and-exit))) + + ;; Parent message should NOT be tagged 'replied' now, yet it is, + ;; since `notmuch-message-mark-replied' is added to `message-send-hook' + ;; instead of `message-sent-hook'. + #+end_src + + +> Maybe the functionality of emacs_deliver_message needs to be +> split into 3 parts: initialization, sending and finalization. +> then other uses can use initialization and finalization parts +> and provide their own sending part. +> + +That would be *much* better, indeed. + + +> I have work-in-progress code for initialization and finalization +> parts of that and I don't want to do the changes in 2 places... +> + +OK. I'll mark this patch (and the next, which depends on it) as 'wip', +and pick them up again when your refactoring efforts hit mainline. + + +> Tomi + + +Peace + +-- +Pieter + +[1] id:"1305299270-4316-1-git-send-email-pieter@praet.org" +[2] id:"1305275652-22956-1-git-send-email-pieter@praet.org"