mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
test: Add test for messages with missing headers
Currently the JSON tests for search and show are broken because notmuch attempts to dereference a NULL pointer.
This commit is contained in:
parent
07b5f97202
commit
36e640852b
2 changed files with 163 additions and 0 deletions
162
test/missing-headers
Executable file
162
test/missing-headers
Executable file
|
@ -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 <<EOF > "${MAIL_DIR}/msg-2"
|
||||
To: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||
Date: Fri, 05 Jan 2001 15:43:57 +0000
|
||||
|
||||
Body
|
||||
EOF
|
||||
|
||||
cat <<EOF > "${MAIL_DIR}/msg-1"
|
||||
From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||
|
||||
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 <test_suite@notmuchmail.org>
|
||||
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 <test_suite@notmuchmail.org> (1970-01-01) (inbox unread)
|
||||
Subject: (null)
|
||||
From: Notmuch Test Suite <test_suite@notmuchmail.org>
|
||||
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 <test_suite@notmuchmail.org>"
|
||||
},
|
||||
"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 <test_suite@notmuchmail.org>",
|
||||
"Subject": ""
|
||||
},
|
||||
"id": "XXXXX",
|
||||
"match": true,
|
||||
"tags": [
|
||||
"inbox",
|
||||
"unread"
|
||||
],
|
||||
"timestamp": 0
|
||||
},
|
||||
[]
|
||||
]
|
||||
]
|
||||
]'
|
||||
|
||||
|
||||
test_done
|
|
@ -59,6 +59,7 @@ TESTS="
|
|||
emacs-address-cleaning
|
||||
emacs-hello
|
||||
emacs-show
|
||||
missing-headers
|
||||
"
|
||||
TESTS=${NOTMUCH_TESTS:=$TESTS}
|
||||
|
||||
|
|
Loading…
Reference in a new issue