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 7BE6A431FB6 for ; Wed, 2 Feb 2011 15:58:25 -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=[RCVD_IN_DNSWL_NONE=-0.0001] 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 Is6vxZGLxOuT for ; Wed, 2 Feb 2011 15:58:25 -0800 (PST) Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de [80.67.31.26]) by olra.theworths.org (Postfix) with ESMTP id C333B431FB5 for ; Wed, 2 Feb 2011 15:58:24 -0800 (PST) Received: from [87.180.46.33] (helo=stokes.schwinge.homeip.net) by smtprelay03.ispgateway.de with esmtpa (Exim 4.68) (envelope-from ) id 1PkmZl-0000PV-Vh for notmuch@notmuchmail.org; Thu, 03 Feb 2011 00:57:30 +0100 Received: (qmail 7026 invoked from network); 2 Feb 2011 23:57:10 -0000 Received: from schwinge.homeip.net (87.180.46.33) by stokes.schwinge.homeip.net with QMQP; 2 Feb 2011 23:57:10 -0000 Received: (nullmailer pid 16859 invoked by uid 1000); Wed, 02 Feb 2011 23:57:09 -0000 From: Thomas Schwinge To: notmuch@notmuchmail.org Subject: [PATCH 1/2] New test: Emacs' forgetfulness. Date: Thu, 3 Feb 2011 00:56:38 +0100 Message-Id: <1296690999-16542-2-git-send-email-thomas@schwinge.name> X-Mailer: git-send-email 1.7.1 In-Reply-To: <87zkqeiffj.fsf@kepler.schwinge.homeip.net> References: <87zkqeiffj.fsf@kepler.schwinge.homeip.net> X-Df-Sender: thomas@schwinge.name Cc: Thomas Schwinge 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, 02 Feb 2011 23:58:25 -0000 Signed-off-by: Thomas Schwinge --- test/emacs-forgetfulness | 38 ++++++++++++++++++++++++++++++++++++++ test/notmuch-test | 1 + 2 files changed, 39 insertions(+), 0 deletions(-) create mode 100755 test/emacs-forgetfulness diff --git a/test/emacs-forgetfulness b/test/emacs-forgetfulness new file mode 100755 index 0000000..e17b26f --- /dev/null +++ b/test/emacs-forgetfulness @@ -0,0 +1,38 @@ +#!/bin/bash + +test_description=Emacs\'\ forgetfulness + +. test-lib.sh + +# RFC822 imposes a 998 character limit per line. +x=0123456789 # 10 +x=$x$x$x$x$x$x$x$x$x$x # 100 +x=$x$x$x$x$x$x$x$x$x # 900 + +# If setting this ``too high'' (TODO: yet to be determined), Emacs will crash +# with a segmentation fault. +n=20 +for i in $(seq 1 $n); do + # Roughly 2 KiB per message. That is, we need two messages in order to + # exceed the typical size of the pipe buffer (4 KiB on commodity systems). + generate_message [subject]=$i-$x [from]=$i-$x@x.x +done +# With 20 messages à 2 KiB, we have about 10 full pipe buffers, which should be +# enough to trigger the erroneous behavior. + +notmuch new > /dev/null + +test_begin_subtest 'Search for all messages' +output=$(exec 2>&1; \ + diff -wu \ + <(notmuch search \* \ + | sed \ + -e 's%^thread:[0-9a-f]*\ %%' \ + -e 's%;%%'; \ + echo 'End of search results.'; \ + echo) \ + <(test_emacs 2>&1 \ + '(notmuch-search "*") (notmuch-test-wait) (message (buffer-string))')) +test_expect_equal "$output" '' + +test_done diff --git a/test/notmuch-test b/test/notmuch-test index 9d77c0f..2f11eac 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -36,6 +36,7 @@ TESTS=" encoding emacs maildir-sync + emacs-forgetfulness " # Clean up any results from a previous run -- 1.7.1