+NOTMUCH_NEW ()
+{
+ $NOTMUCH new | grep -v -E -e '^Processed [0-9]*( total)? file|Found [0-9]* total file'
+}
+
+NOTMUCH_SEARCH_THREAD_ID_SQUELCH='s/thread:................/thread:XXX/'
+notmuch_search_sanitize ()
+{
+ sed -e "$NOTMUCH_SEARCH_THREAD_ID_SQUELCH"
+}
+
printf " Deleted message...\t\t"
rm ${gen_msg_filename}-renamed
increment_mtime ${MAIL_DIR}
printf " Deleted message...\t\t"
rm ${gen_msg_filename}-renamed
increment_mtime ${MAIL_DIR}
printf " Deleted directory...\t\t"
rm -rf ${MAIL_DIR}/dir-renamed
increment_mtime ${MAIL_DIR}
printf " Deleted directory...\t\t"
rm -rf ${MAIL_DIR}/dir-renamed
increment_mtime ${MAIL_DIR}
mv $gen_msg_filename $external_msg_filename
ln -s $external_msg_filename $gen_msg_filename
increment_mtime ${MAIL_DIR}
mv $gen_msg_filename $external_msg_filename
ln -s $external_msg_filename $gen_msg_filename
increment_mtime ${MAIL_DIR}
printf "\nTesting \"notmuch search\" in several variations:\n"
printf " Search body...\t\t\t"
add_message '[subject]="body search"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [body]=bodysearchtest
printf "\nTesting \"notmuch search\" in several variations:\n"
printf " Search body...\t\t\t"
add_message '[subject]="body search"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [body]=bodysearchtest
printf " Search by from:...\t\t"
add_message '[subject]="search by from"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [from]=searchbyfrom
printf " Search by from:...\t\t"
add_message '[subject]="search by from"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [from]=searchbyfrom
printf " Search by to:...\t\t"
add_message '[subject]="search by to"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [to]=searchbyto
printf " Search by to:...\t\t"
add_message '[subject]="search by to"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [to]=searchbyto
printf " Search by subject:...\t\t"
add_message [subject]=subjectsearchtest '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
printf " Search by subject:...\t\t"
add_message [subject]=subjectsearchtest '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
printf " Search by id:...\t\t"
add_message '[subject]="search by id"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
printf " Search by id:...\t\t"
add_message '[subject]="search by id"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
printf " Search by tag:...\t\t"
add_message '[subject]="search by tag"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
$NOTMUCH tag +searchbytag id:${gen_msg_id}
printf " Search by tag:...\t\t"
add_message '[subject]="search by tag"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
$NOTMUCH tag +searchbytag id:${gen_msg_id}
printf " Search by thread:...\t\t"
add_message '[subject]="search by thread"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
thread_id=$($NOTMUCH search id:${gen_msg_id} | sed -e 's/thread:\([a-f0-9]*\).*/\1/')
printf " Search by thread:...\t\t"
add_message '[subject]="search by thread"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
thread_id=$($NOTMUCH search id:${gen_msg_id} | sed -e 's/thread:\([a-f0-9]*\).*/\1/')
printf " Search body (phrase)...\t"
add_message '[subject]="body search (phrase)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[body]="body search (phrase)"'
add_message '[subject]="negative result"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[body]="This phrase should not match the body search"'
printf " Search body (phrase)...\t"
add_message '[subject]="body search (phrase)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[body]="body search (phrase)"'
add_message '[subject]="negative result"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[body]="This phrase should not match the body search"'
printf " Search by from: (address)...\t"
add_message '[subject]="search by from (address)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [from]=searchbyfrom@example.com
printf " Search by from: (address)...\t"
add_message '[subject]="search by from (address)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [from]=searchbyfrom@example.com
printf " Search by from: (name)...\t"
add_message '[subject]="search by from (name)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[from]="Search By From Name <test@example.com>"'
printf " Search by from: (name)...\t"
add_message '[subject]="search by from (name)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[from]="Search By From Name <test@example.com>"'
printf " Search by to: (address)...\t"
add_message '[subject]="search by to (address)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [to]=searchbyto@example.com
printf " Search by to: (address)...\t"
add_message '[subject]="search by to (address)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' [to]=searchbyto@example.com
printf " Search by to: (name)...\t"
add_message '[subject]="search by to (name)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[to]="Search By To Name <test@example.com>"'
printf " Search by to: (name)...\t"
add_message '[subject]="search by to (name)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[to]="Search By To Name <test@example.com>"'
printf " Search by subject: (phrase)...\t"
add_message '[subject]="subject search test (phrase)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
add_message '[subject]="this phrase should not match the subject search test"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
printf " Search by subject: (phrase)...\t"
add_message '[subject]="subject search test (phrase)"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
add_message '[subject]="this phrase should not match the subject search test"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"'
'[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
'[body]="basic reply test"'
'[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
'[body]="basic reply test"'
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
Bcc: test_suite@notmuchmail.org
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
Bcc: test_suite@notmuchmail.org
'[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
'[body]="Multiple recipients"'
'[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
'[body]="Multiple recipients"'
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, Someone Else <someone@example.com>
Bcc: test_suite@notmuchmail.org
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, Someone Else <someone@example.com>
Bcc: test_suite@notmuchmail.org
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
Cc: Other Parties <cc@example.com>
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
Cc: Other Parties <cc@example.com>
'[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
'[body]="reply from alternate address"'
'[date]="Tue, 05 Jan 2010 15:43:56 -0800"' \
'[body]="reply from alternate address"'
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
Bcc: test_suite@notmuchmail.org
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>
Bcc: test_suite@notmuchmail.org
Subject: Re: notmuch-reply-test
To: Sender <elsewhere@example.com>
Bcc: test_suite@notmuchmail.org
Subject: Re: notmuch-reply-test
To: Sender <elsewhere@example.com>
Bcc: test_suite@notmuchmail.org
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, Some List <list@example.com>
Bcc: test_suite@notmuchmail.org
Subject: Re: notmuch-reply-test
To: Sender <sender@example.com>, Some List <list@example.com>
Bcc: test_suite@notmuchmail.org
Finally, we have our afteruudata marker as well."'
printf " Ensure content before uu data is indexed..."
Finally, we have our afteruudata marker as well."'
printf " Ensure content before uu data is indexed..."
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"'
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"'
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"'
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"'
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"'
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"'