aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAustin Clements <aclements@csail.mit.edu>2014-10-23 08:30:40 -0400
committerDavid Bremner <david@tethera.net>2014-10-25 19:42:47 +0200
commit4e2c351c588ad74f4800ca0344232be90387c54a (patch)
tree65f13478031162dd4ff1442bc14a8b7119bb9f22 /test
parentee476f1e7616fa53c492b8077b55af35662eec82 (diff)
test: Test upgrade to ghost messages feature
Diffstat (limited to 'test')
-rwxr-xr-xtest/T530-upgrade.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/T530-upgrade.sh b/test/T530-upgrade.sh
index c4c4ac8b..6b42a690 100755
--- a/test/T530-upgrade.sh
+++ b/test/T530-upgrade.sh
@@ -116,4 +116,25 @@ MAIL_DIR/bar/new/21:2,
MAIL_DIR/bar/new/22:2,
MAIL_DIR/cur/51:2,"
+# Ghost messages are difficult to test since they're nearly invisible.
+# However, if the upgrade works correctly, the ghost message should
+# retain the right thread ID even if all of the original messages in
+# the thread are deleted. That's what we test. This won't detect if
+# the upgrade just plain didn't happen, but it should detect if
+# something went wrong.
+test_begin_subtest "ghost message retains thread ID"
+# Upgrade database
+notmuch new
+# Get thread ID of real message
+thread=$(notmuch search --output=threads id:4EFC743A.3060609@april.org)
+# Delete all real messages in that thread
+rm $(notmuch search --output=files $thread)
+notmuch new
+# "Deliver" ghost message
+add_message '[subject]=Ghost' '[id]=4EFC3931.6030007@april.org'
+# If the ghost upgrade worked, the new message should be attached to
+# the existing thread ID.
+nthread=$(notmuch search --output=threads id:4EFC3931.6030007@april.org)
+test_expect_equal "$thread" "$nthread"
+
test_done