test/duplicate-mid: clarify index order vs filename order
authorDavid Bremner <david@tethera.net>
Sun, 27 Aug 2017 23:58:20 +0000 (20:58 -0300)
committerDavid Bremner <david@tethera.net>
Wed, 6 Sep 2017 00:51:07 +0000 (21:51 -0300)
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.

test/T670-duplicate-mid.sh

index 3495e63dd5cdc5e12194e0e3f28bf78c5b013e33..d2f894327c7f50da947ac3f7b742a58285655b1f 100755 (executable)
@@ -5,15 +5,17 @@ test_description="duplicate message ids"
 add_message '[id]="duplicate"' '[subject]="message 1" [filename]=copy1'
 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
-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
 notmuch search id:duplicate | notmuch_search_sanitize > OUTPUT
 test_expect_equal_file EXPECTED OUTPUT
 
 test_begin_subtest 'Search for second subject'
 cat <<EOF >EXPECTED
+MAIL_DIR/copy0
 MAIL_DIR/copy1
 MAIL_DIR/copy2
 EOF
@@ -23,6 +25,7 @@ test_expect_equal_file EXPECTED OUTPUT
 add_message '[id]="duplicate"' '[body]="sekrit" [filename]=copy3'
 test_begin_subtest 'search for body in duplicate file'
 cat <<EOF >EXPECTED
+MAIL_DIR/copy0
 MAIL_DIR/copy1
 MAIL_DIR/copy2
 MAIL_DIR/copy3
@@ -37,7 +40,7 @@ notmuch reindex '*'
 notmuch search --output=files "sekrit" | notmuch_dir_sanitize > 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'
 output=$(notmuch show --body=false --format=json id:duplicate |
             notmuch_json_show_sanitize | sed 's/message [0-9]/A_SUBJECT/')
@@ -46,6 +49,7 @@ expected='[[[{
     "match": true,
     "excluded": false,
     "filename": [
+        "'"${MAIL_DIR}"/copy0'",
         "'"${MAIL_DIR}"/copy1'",
         "'"${MAIL_DIR}"/copy2'"
     ],