test/duplicate-mid: clarify index order vs filename order

The existing test for notmuch search had the first in filename order
the same as the first indexed, which made it harder to understand what
the underlying behaviour is. Add a file with a lexicographically
smaller name, but later index time to clarify this.
This commit is contained in:
David Bremner 2017-08-27 20:58:20 -03:00
parent 44914f1c3b
commit 17aebb6e7d

View file

@ -5,15 +5,17 @@ test_description="duplicate message ids"
add_message '[id]="duplicate"' '[subject]="message 1" [filename]=copy1' add_message '[id]="duplicate"' '[subject]="message 1" [filename]=copy1'
add_message '[id]="duplicate"' '[subject]="message 2" [filename]=copy2' add_message '[id]="duplicate"' '[subject]="message 2" [filename]=copy2'
test_begin_subtest 'First subject preserved' add_message '[id]="duplicate"' '[subject]="message 0" [filename]=copy0'
test_begin_subtest 'search: first indexed subject preserved'
cat <<EOF > EXPECTED cat <<EOF > EXPECTED
thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; message 1 (inbox unread) thread:XXX 2001-01-05 [1/1(3)] Notmuch Test Suite; message 1 (inbox unread)
EOF EOF
notmuch search id:duplicate | notmuch_search_sanitize > OUTPUT notmuch search id:duplicate | notmuch_search_sanitize > OUTPUT
test_expect_equal_file EXPECTED OUTPUT test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest 'Search for second subject' test_begin_subtest 'Search for second subject'
cat <<EOF >EXPECTED cat <<EOF >EXPECTED
MAIL_DIR/copy0
MAIL_DIR/copy1 MAIL_DIR/copy1
MAIL_DIR/copy2 MAIL_DIR/copy2
EOF EOF
@ -23,6 +25,7 @@ test_expect_equal_file EXPECTED OUTPUT
add_message '[id]="duplicate"' '[body]="sekrit" [filename]=copy3' add_message '[id]="duplicate"' '[body]="sekrit" [filename]=copy3'
test_begin_subtest 'search for body in duplicate file' test_begin_subtest 'search for body in duplicate file'
cat <<EOF >EXPECTED cat <<EOF >EXPECTED
MAIL_DIR/copy0
MAIL_DIR/copy1 MAIL_DIR/copy1
MAIL_DIR/copy2 MAIL_DIR/copy2
MAIL_DIR/copy3 MAIL_DIR/copy3
@ -37,7 +40,7 @@ notmuch reindex '*'
notmuch search --output=files "sekrit" | notmuch_dir_sanitize > OUTPUT notmuch search --output=files "sekrit" | notmuch_dir_sanitize > OUTPUT
test_expect_equal_file EXPECTED OUTPUT test_expect_equal_file EXPECTED OUTPUT
rm ${MAIL_DIR}/copy1 rm ${MAIL_DIR}/copy0
test_begin_subtest 'Deleted first duplicate file does not stop notmuch show from working' test_begin_subtest 'Deleted first duplicate file does not stop notmuch show from working'
output=$(notmuch show --body=false --format=json id:duplicate | output=$(notmuch show --body=false --format=json id:duplicate |
notmuch_json_show_sanitize | sed 's/message [0-9]/A_SUBJECT/') notmuch_json_show_sanitize | sed 's/message [0-9]/A_SUBJECT/')
@ -46,6 +49,7 @@ expected='[[[{
"match": true, "match": true,
"excluded": false, "excluded": false,
"filename": [ "filename": [
"'"${MAIL_DIR}"/copy0'",
"'"${MAIL_DIR}"/copy1'", "'"${MAIL_DIR}"/copy1'",
"'"${MAIL_DIR}"/copy2'" "'"${MAIL_DIR}"/copy2'"
], ],