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 54092429E3A for ; Tue, 14 Aug 2012 02:03:20 -0700 (PDT) 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 MaU5bjYdliKT for ; Tue, 14 Aug 2012 02:03:19 -0700 (PDT) Received: from tesseract.cs.unb.ca (tesseract.cs.unb.ca [131.202.240.238]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id AE70C431FC2 for ; Tue, 14 Aug 2012 02:03:02 -0700 (PDT) Received: from remotemail by tesseract.cs.unb.ca with local (Exim 4.72) (envelope-from ) id 1T1D1i-00062h-7W; Tue, 14 Aug 2012 06:03:02 -0300 Received: (nullmailer pid 5282 invoked by uid 1000); Mon, 13 Aug 2012 20:14:06 -0000 From: David Bremner To: notmuch@notmuchmail.org Subject: [Patch v2 6/6] test: add broken roundtrip test Date: Mon, 13 Aug 2012 22:13:51 +0200 Message-Id: <1344888831-4301-7-git-send-email-bremner@debian.org> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1344888831-4301-1-git-send-email-bremner@debian.org> References: <1344888831-4301-1-git-send-email-bremner@debian.org> Cc: David Bremner 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: Tue, 14 Aug 2012 09:03:20 -0000 We demonstrate the current notmuch restore parser being confused by message-id's and tags containing non alpha numeric characters (particularly space and parentheses are problematic because they are not escaped by notmuch dump). We save the files as hex escaped on disk so that the output from the failing test will not confuse the terminal emulator of people running the test. --- test/dump-restore | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/dump-restore b/test/dump-restore index f25f7cf..6923952 100755 --- a/test/dump-restore +++ b/test/dump-restore @@ -78,4 +78,13 @@ test_begin_subtest "dump --output=outfile -- from:cworth" notmuch dump --output=dump-outfile-dash-inbox.actual -- from:cworth test_expect_equal_file dump-cworth.expected dump-outfile-dash-inbox.actual +test_expect_success 'roundtripping random message-ids and tags' \ + 'test_subtest_known_broken && set -o pipefail && + ${TEST_DIRECTORY}/random-corpus --num-messages=10 --config-path=${NOTMUCH_CONFIG} && + notmuch dump | ${TEST_DIRECTORY}/hex-xcode --direction=encode > EXPECTED.$test_count && + notmuch tag -random-corpus tag:random-corpus && + ${TEST_DIRECTORY}/hex-xcode --direction=decode < EXPECTED.$test_count | notmuch restore 2>/dev/null && + notmuch dump | ${TEST_DIRECTORY}/hex-xcode --direction=encode > OUTPUT.$test_count && + test_cmp EXPECTED.$test_count OUTPUT.$test_count' + test_done -- 1.7.10.4