test/insert: add known broken tests for indexing failures
authorDavid Bremner <david@tethera.net>
Fri, 3 Oct 2014 21:18:57 +0000 (23:18 +0200)
committerDavid Bremner <david@tethera.net>
Sat, 18 Oct 2014 05:51:18 +0000 (07:51 +0200)
These tests are written with the assumption that we want all indexing
failures to be considered as failures by notmuch insert.

test/T070-insert.sh

index ea9db07e2fa24692bd7fed5bae11d6ebbcb678f4..40a7636af01534589e6bbd14258368e4aa3f388f 100755 (executable)
@@ -183,4 +183,26 @@ test_expect_code 1 "Invalid tags set exit code" \
 
 notmuch config set new.tags $OLDCONFIG
 
+# DUPLICATE_MESSAGE_ID is not tested here, because it should actually pass.
+
+for code in OUT_OF_MEMORY XAPIAN_EXCEPTION FILE_NOT_EMAIL \
+    READ_ONLY_DATABASE UPGRADE_REQUIRED; do
+gen_insert_msg
+cat <<EOF > index-file-$code.gdb
+file notmuch
+set breakpoint pending on
+break notmuch_database_add_message
+commands
+return NOTMUCH_STATUS_$code
+continue
+end
+run
+EOF
+test_begin_subtest "error exit when add_message returns $code"
+test_subtest_known_broken
+gdb --batch-silent --return-child-result -x index-file-$code.gdb \
+    --args notmuch insert  < $gen_msg_filename
+test_expect_equal $? 1
+done
+
 test_done