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.
add_message '[id]="duplicate"' '[subject]="message 1" [filename]=copy1'
add_message '[id]="duplicate"' '[subject]="message 2" [filename]=copy2'
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'
-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
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/copy1
MAIL_DIR/copy2
EOF
MAIL_DIR/copy1
MAIL_DIR/copy2
EOF
add_message '[id]="duplicate"' '[body]="sekrit" [filename]=copy3'
test_begin_subtest 'search for body in duplicate file'
cat <<EOF >EXPECTED
add_message '[id]="duplicate"' '[body]="sekrit" [filename]=copy3'
test_begin_subtest 'search for body in duplicate file'
cat <<EOF >EXPECTED
MAIL_DIR/copy1
MAIL_DIR/copy2
MAIL_DIR/copy3
MAIL_DIR/copy1
MAIL_DIR/copy2
MAIL_DIR/copy3
notmuch search --output=files "sekrit" | notmuch_dir_sanitize > OUTPUT
test_expect_equal_file EXPECTED OUTPUT
notmuch search --output=files "sekrit" | notmuch_dir_sanitize > OUTPUT
test_expect_equal_file EXPECTED OUTPUT
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/')
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/')
"match": true,
"excluded": false,
"filename": [
"match": true,
"excluded": false,
"filename": [
+ "'"${MAIL_DIR}"/copy0'",
"'"${MAIL_DIR}"/copy1'",
"'"${MAIL_DIR}"/copy2'"
],
"'"${MAIL_DIR}"/copy1'",
"'"${MAIL_DIR}"/copy2'"
],