mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
test: Add new tests for out-of-order messages.
These new tests demonstrate a bug as follows: Multiple messages are added to the database All of these message references a common parent The parent message does not exist in the databas In this scenario, the messages will not be recognized as belonging to the same thread. We consider this a bug, and the new tests treat this as a failure. Edited by Carl Worth <cworth@cworth.org>: Split these tests into their own commit (before the fix of the bug). This lets me see the actual failure in the test suite, before the fix is applied. Also fix the alignment of new messages from test suite, (so that the PASS portions all line up---which is important while we're still manually verifying test-suite results).
This commit is contained in:
parent
e1bc5fc9c7
commit
4a9b41f1da
1 changed files with 29 additions and 3 deletions
|
@ -64,6 +64,10 @@ increment_mtime ()
|
|||
# Additional values for email headers. If these are not provided
|
||||
# then the relevant headers will simply not appear in the
|
||||
# message.
|
||||
#
|
||||
# '[id]=<message-id>'
|
||||
#
|
||||
# Controls the message-id of the created message.
|
||||
gen_msg_cnt=0
|
||||
gen_msg_filename=""
|
||||
gen_msg_id=""
|
||||
|
@ -73,9 +77,14 @@ generate_message ()
|
|||
local -A template="($@)"
|
||||
local additional_headers
|
||||
|
||||
gen_msg_cnt=$((gen_msg_cnt + 1))
|
||||
gen_msg_name=msg-$(printf "%03d" $gen_msg_cnt)
|
||||
gen_msg_id="${gen_msg_name}@notmuch-test-suite"
|
||||
if [ -z "${template[id]}" ]; then
|
||||
gen_msg_cnt=$((gen_msg_cnt + 1))
|
||||
gen_msg_name=msg-$(printf "%03d" $gen_msg_cnt)
|
||||
gen_msg_id="${gen_msg_name}@notmuch-test-suite"
|
||||
else
|
||||
gen_msg_name="msg-${template[id]}"
|
||||
gen_msg_id="${template[id]}"
|
||||
fi
|
||||
|
||||
if [ -z "${template[dir]}" ]; then
|
||||
gen_msg_filename="${MAIL_DIR}/$gen_msg_name"
|
||||
|
@ -536,6 +545,23 @@ printf " Restore with nothing to do...\t"
|
|||
$NOTMUCH restore dump.expected
|
||||
echo " PASS"
|
||||
|
||||
printf "\nTesting threading when messages received out of order:\n"
|
||||
printf " Adding initial child message...\t\t"
|
||||
generate_message [body]=foo '[in-reply-to]=\<parent-id\>' [subject]=brokenthreadtest '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
|
||||
execute_expecting new "Added 1 new message to the database."
|
||||
printf " Searching returns the message...\t\t"
|
||||
execute_expecting "search foo" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; brokenthreadtest (inbox unread)"
|
||||
printf " Adding second child message...\t\t\t"
|
||||
generate_message [body]=foo '[in-reply-to]=\<parent-id\>' [subject]=brokenthreadtest '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
|
||||
execute_expecting new "Added 1 new message to the database."
|
||||
printf " Searching returns both messages in one thread..."
|
||||
execute_expecting "search foo" "thread:XXX 2000-01-01 [2/2] Notmuch Test Suite; brokenthreadtest (inbox unread)"
|
||||
printf " Adding parent message...\t\t\t"
|
||||
generate_message [body]=foo [id]=parent-id [subject]=brokenthreadtest '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
|
||||
execute_expecting new "Added 1 new message to the database."
|
||||
printf " Searching returns all three messages in one thread..."
|
||||
execute_expecting "search foo" "thread:XXX 2000-01-01 [3/3] Notmuch Test Suite; brokenthreadtest (inbox unread)"
|
||||
|
||||
cat <<EOF
|
||||
Notmuch test suite complete.
|
||||
|
||||
|
|
Loading…
Reference in a new issue