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 C1F4E431FAF for ; Tue, 7 Aug 2012 18:28:41 -0700 (PDT) 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 thGjkK+KLwEq for ; Tue, 7 Aug 2012 18:28:41 -0700 (PDT) Received: from dmz-mailsec-scanner-2.mit.edu (DMZ-MAILSEC-SCANNER-2.MIT.EDU [18.9.25.13]) by olra.theworths.org (Postfix) with ESMTP id D40CB431FAE for ; Tue, 7 Aug 2012 18:28:40 -0700 (PDT) X-AuditID: 1209190d-b7fd56d000000933-76-5021c0c57359 Received: from mailhub-auth-2.mit.edu ( [18.7.62.36]) by dmz-mailsec-scanner-2.mit.edu (Symantec Messaging Gateway) with SMTP id 78.03.02355.5C0C1205; Tue, 7 Aug 2012 21:28:37 -0400 (EDT) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by mailhub-auth-2.mit.edu (8.13.8/8.9.2) with ESMTP id q781SaPr007205; Tue, 7 Aug 2012 21:28:36 -0400 Received: from drake.dyndns.org (209-6-116-242.c3-0.arl-ubr1.sbo-arl.ma.cable.rcn.com [209.6.116.242]) (authenticated bits=0) (User authenticated as amdragon@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q781SYU6021306 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Tue, 7 Aug 2012 21:28:36 -0400 (EDT) Received: from amthrax by drake.dyndns.org with local (Exim 4.77) (envelope-from ) id 1Syv4c-000276-LB; Tue, 07 Aug 2012 21:28:34 -0400 From: Austin Clements To: notmuch@notmuchmail.org Subject: [PATCH v2] test: Add test for messages with missing headers Date: Tue, 7 Aug 2012 21:28:33 -0400 Message-Id: <1344389313-7886-1-git-send-email-amdragon@mit.edu> X-Mailer: git-send-email 1.7.10 In-Reply-To: <1344374501-28185-1-git-send-email-amdragon@mit.edu> References: <1344374501-28185-1-git-send-email-amdragon@mit.edu> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrAIsWRmVeSWpSXmKPExsUixG6nonv0gGKAQdcBBYvrN2cyOzB6PFt1 izmAMYrLJiU1J7MstUjfLoErY90rmYK/WhVbHl9kbGCcJdPFyMkhIWAicXj5VzYIW0ziwr31 QDYXh5DAPkaJo12T2CGc9YwSi17uZoVwHjJJ3HrRzgzSIiQwl1Hi+vdcEJtNQENi2/7ljCC2 iIC0xM67s4EaODiYBdQk/nSpgISFBVwkWq7fBdvGIqAqMfv7KbAxvAL2Ev8efWWHuEJe4un9 PjaQVk4BR4nf/yMgNjlITFzzi20CI/8CRoZVjLIpuVW6uYmZOcWpybrFyYl5ealFukZ6uZkl eqkppZsYQQHDKcm7g/HdQaVDjAIcjEo8vFHJigFCrIllxZW5hxglOZiURHnv7QUK8SXlp1Rm JBZnxBeV5qQWH2KU4GBWEuFtawXK8aYkVlalFuXDpKQ5WJTEea+k3PQXEkhPLEnNTk0tSC2C ycpwcChJ8OoCI0NIsCg1PbUiLTOnBCHNxMEJMpwHaLg7SA1vcUFibnFmOkT+FKOilDivE0hC ACSRUZoH1wuL6FeM4kCvCPPygFTxAJMBXPcroMFMQIO95eVABpckIqSkGhglU5kD1P0urT5S Z/smUet+ww39V+9V7jJW62Y/V55tte1MgYpjjap/YM/m2LyYH7e3uhfMefCLb/7HlxLHjxpE qlhU7FGUml9kVLxue+0l4/nFmYUJN18cDHIIbJNPLL+9pLk/YsOMpyqzV+zScZh1/NjszZni arnP5NbWzdpzQ2XydMvcVcJKLMUZiYZazEXFiQD3pEo1wwIAAA== 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, 08 Aug 2012 01:28:41 -0000 Currently the JSON tests for search and show are broken because notmuch attempts to dereference a NULL pointer. --- This version fixes the "Show: text" test so that it sanitize its output and doesn't hard-code my test paths. test/missing-headers | 162 ++++++++++++++++++++++++++++++++++++++++++++++++++ test/notmuch-test | 1 + 2 files changed, 163 insertions(+) create mode 100755 test/missing-headers diff --git a/test/missing-headers b/test/missing-headers new file mode 100755 index 0000000..e79f922 --- /dev/null +++ b/test/missing-headers @@ -0,0 +1,162 @@ +#!/usr/bin/env bash +test_description='messages with missing headers' +. ./test-lib.sh + +# Notmuch requires at least one of from, subject, or to or it will +# ignore the file. Generate two messages so that together they cover +# all possible missing headers. We also give one of the messages a +# date to ensure stable result ordering. + +cat < "${MAIL_DIR}/msg-2" +To: Notmuch Test Suite +Date: Fri, 05 Jan 2001 15:43:57 +0000 + +Body +EOF + +cat < "${MAIL_DIR}/msg-1" +From: Notmuch Test Suite + +Body +EOF + +NOTMUCH_NEW + +test_begin_subtest "Search: text" +output=$(notmuch search '*' | notmuch_search_sanitize) +test_expect_equal "$output" "\ +thread:XXX 2001-01-05 [1/1] (null); (inbox unread) +thread:XXX 1970-01-01 [1/1] Notmuch Test Suite; (inbox unread)" + +test_begin_subtest "Search: json" +test_subtest_known_broken +output=$(notmuch search --format=json '*' | notmuch_search_sanitize) +test_expect_equal_json "$output" ' +[ + { + "authors": "", + "date_relative": "2001-01-05", + "matched": 1, + "subject": "", + "tags": [ + "inbox", + "unread" + ], + "thread": "XXX", + "timestamp": 978709437, + "total": 1 + }, + { + "authors": "Notmuch Test Suite", + "date_relative": "1970-01-01", + "matched": 1, + "subject": "", + "tags": [ + "inbox", + "unread" + ], + "thread": "XXX", + "timestamp": 0, + "total": 1 + } +]' + +test_begin_subtest "Show: text" +output=$(notmuch show '*' | notmuch_show_sanitize) +test_expect_equal "$output" "\ + message{ id:notmuch-sha1-7a6e4eac383ef958fcd3ebf2143db71b8ff01161 depth:0 match:1 excluded:0 filename:/XXX/mail/msg-2 + header{ + (2001-01-05) (inbox unread) +Subject: (null) +From: (null) +To: Notmuch Test Suite +Date: Fri, 05 Jan 2001 15:43:57 +0000 + header} + body{ + part{ ID: 1, Content-type: text/plain +Body + part} + body} + message} + message{ id:notmuch-sha1-ca55943aff7a72baf2ab21fa74fab3d632401334 depth:0 match:1 excluded:0 filename:/XXX/mail/msg-1 + header{ +Notmuch Test Suite (1970-01-01) (inbox unread) +Subject: (null) +From: Notmuch Test Suite +Date: Thu, 01 Jan 1970 00:00:00 +0000 + header} + body{ + part{ ID: 1, Content-type: text/plain +Body + part} + body} + message}" + +test_begin_subtest "Show: json" +test_subtest_known_broken +output=$(notmuch show --format=json '*' | notmuch_json_show_sanitize) +test_expect_equal_json "$output" ' +[ + [ + [ + { + "body": [ + { + "content": "Body\n", + "content-type": "text/plain", + "id": 1 + } + ], + "date_relative": "2001-01-05", + "excluded": false, + "filename": "YYYYY", + "headers": { + "Date": "Fri, 05 Jan 2001 15:43:57 +0000", + "From": "", + "Subject": "", + "To": "Notmuch Test Suite " + }, + "id": "XXXXX", + "match": true, + "tags": [ + "inbox", + "unread" + ], + "timestamp": 978709437 + }, + [] + ] + ], + [ + [ + { + "body": [ + { + "content": "Body\n", + "content-type": "text/plain", + "id": 1 + } + ], + "date_relative": "1970-01-01", + "excluded": false, + "filename": "YYYYY", + "headers": { + "Date": "Thu, 01 Jan 1970 00:00:00 +0000", + "From": "Notmuch Test Suite ", + "Subject": "" + }, + "id": "XXXXX", + "match": true, + "tags": [ + "inbox", + "unread" + ], + "timestamp": 0 + }, + [] + ] + ] +]' + + +test_done diff --git a/test/notmuch-test b/test/notmuch-test index ea39dfc..cc732c3 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -59,6 +59,7 @@ TESTS=" emacs-address-cleaning emacs-hello emacs-show + missing-headers " TESTS=${NOTMUCH_TESTS:=$TESTS} -- 1.7.10