test: add known broken test for duplicate thread-id terms

According to my bijection, this bug has been present since commit
411675a6ce in 2017. It is not completely clear what harm it causes in
regulary use, but it (at least) makes notmuch crash when compiled with
-DDEBUG_DATABASE_SANITY.
This commit is contained in:
David Bremner 2021-05-15 10:05:07 -03:00
parent 892f4e65ae
commit 349fc29803

View file

@ -2,10 +2,26 @@
test_description="duplicate message ids" test_description="duplicate message ids"
. $(dirname "$0")/test-lib.sh || exit 1 . $(dirname "$0")/test-lib.sh || exit 1
test_require_external_prereq xapian-delve
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'
add_message '[id]="duplicate"' '[subject]="message 0" [filename]=copy0' add_message '[id]="duplicate"' '[subject]="message 0" [filename]=copy0'
test_begin_subtest 'at most 1 thread-id per xapian document'
test_subtest_known_broken
db=${MAIL_DIR}/.notmuch/xapian
for doc in $(xapian-delve -1 -t '' "$db" | grep '^[1-9]'); do
xapian-delve -1 -r "$doc" "$db" | grep -c '^G'
done > OUTPUT.raw
sort -u < OUTPUT.raw > OUTPUT
cat <<EOF > EXPECTED
0
1
EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest 'search: first indexed subject preserved' test_begin_subtest 'search: first indexed subject preserved'
cat <<EOF > EXPECTED cat <<EOF > EXPECTED
thread:XXX 2001-01-05 [1/1(3)] Notmuch Test Suite; message 1 (inbox unread) thread:XXX 2001-01-05 [1/1(3)] Notmuch Test Suite; message 1 (inbox unread)