X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT560-lib-error.sh;h=68180e411d002eace7c97318fbe3f916f114119a;hp=8d9b4cc05b713f841a8eecf6f32682dae732fe64;hb=ce360ce4c99597946949317aa40892536c9ebc05;hpb=2c2ba7d6e2bbdcb055901a97704778d1d823e7d4 diff --git a/test/T560-lib-error.sh b/test/T560-lib-error.sh index 8d9b4cc0..68180e41 100755 --- a/test/T560-lib-error.sh +++ b/test/T560-lib-error.sh @@ -275,7 +275,7 @@ sed 's/^\(A Xapian exception [^:]*\):.*$/\1/' < OUTPUT > OUTPUT.clean cat <<'EOF' >EXPECTED == stdout == == stderr == -A Xapian exception occurred creating a directory +A Xapian exception occurred finding/creating a directory EOF test_expect_equal_file EXPECTED OUTPUT.clean restore_database @@ -345,6 +345,7 @@ cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} const char *id2; id2=notmuch_message_get_message_id (message); printf("%d\n%d\n", message != NULL, id2==NULL); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; } EOF cat < EXPECTED @@ -352,6 +353,7 @@ cat < EXPECTED 1 1 == stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed EOF test_expect_equal_file EXPECTED OUTPUT @@ -361,6 +363,7 @@ cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} const char *id2; id2=notmuch_message_get_thread_id (message); printf("%d\n%d\n", message != NULL, id2==NULL); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; } EOF cat < EXPECTED @@ -368,6 +371,7 @@ cat < EXPECTED 1 1 == stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed EOF test_expect_equal_file EXPECTED OUTPUT @@ -377,6 +381,7 @@ cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} const char *from; from=notmuch_message_get_header (message, "from"); printf("%s\n%d\n", id, from == NULL); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; } EOF cat < EXPECTED @@ -384,6 +389,7 @@ cat < EXPECTED 1258471718-6781-1-git-send-email-dottedmag@dottedmag.net 1 == stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed EOF test_expect_equal_file EXPECTED OUTPUT @@ -395,6 +401,7 @@ cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} notmuch_messages_t *replies; replies = notmuch_message_get_replies (message); printf("%d\n%d\n", message != NULL, replies==NULL); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; } EOF cat < EXPECTED @@ -411,6 +418,7 @@ cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} const char *filename; filename = notmuch_message_get_filename (message); printf("%d\n%d\n", message != NULL, filename == NULL); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; } EOF cat < EXPECTED @@ -418,16 +426,17 @@ cat < EXPECTED 1 1 == stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "Handle getting all message filenames from closed database" -test_subtest_known_broken cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} { notmuch_filenames_t *filenames; filenames = notmuch_message_get_filenames (message); printf("%d\n%d\n", message != NULL, filenames == NULL); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; } EOF cat < EXPECTED @@ -435,6 +444,255 @@ cat < EXPECTED 1 1 == stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle getting ghost flag from closed database" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_bool_t result; + result = notmuch_message_get_flag (message, NOTMUCH_MESSAGE_FLAG_GHOST); + printf("%d\n%d\n", message != NULL, result == FALSE); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle getting date from closed database" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + time_t result; + result = notmuch_message_get_date (message); + printf("%d\n%d\n", message != NULL, result == 0); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle getting tags from closed database" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_tags_t *result; + result = notmuch_message_get_tags (message); + printf("%d\n%d\n", message != NULL, result == NULL); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle counting files from closed database" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + int result; + result = notmuch_message_count_files (message); + printf("%d\n%d\n", message != NULL, result < 0); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle adding tag with closed database" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + stat = notmuch_message_add_tag (message, "boom"); + printf("%d\n%d\n", message != NULL, stat == NOTMUCH_STATUS_XAPIAN_EXCEPTION); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle removing tag with closed database" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + stat = notmuch_message_remove_tag (message, "boom"); + printf("%d\n%d\n", message != NULL, stat == NOTMUCH_STATUS_XAPIAN_EXCEPTION); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle read maildir flag with closed database" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_bool_t is_set = -1; + is_set = notmuch_message_has_maildir_flag (message, 'S'); + printf("%d\n%d\n", message != NULL, is_set == FALSE || is_set == TRUE); + stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION; + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle checking maildir flag with closed db (new API)" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_bool_t out; + stat = notmuch_message_has_maildir_flag_st (message, 'S', &out); + printf("%d\n%d\n", message != NULL, stat == NOTMUCH_STATUS_XAPIAN_EXCEPTION); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle converting maildir flags to tags with closed db" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + stat = notmuch_message_maildir_flags_to_tags (message); + printf("%d\n%d\n", message != NULL, stat == NOTMUCH_STATUS_XAPIAN_EXCEPTION); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle removing all tags with closed db" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + stat = notmuch_message_remove_all_tags (message); + printf("%d\n%d\n", message != NULL, stat == NOTMUCH_STATUS_XAPIAN_EXCEPTION); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle freezing message with closed db" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + stat = notmuch_message_freeze (message); + printf("%d\n%d\n", message != NULL, stat == NOTMUCH_STATUS_SUCCESS); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle thawing message with closed db" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + stat = notmuch_message_thaw (message); + printf("%d\n%d\n", message != NULL, stat == NOTMUCH_STATUS_UNBALANCED_FREEZE_THAW); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle destroying message with closed db" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_message_destroy (message); + printf("%d\n%d\n", message != NULL, 1); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle retrieving closed db from message" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + notmuch_database_t *db2; + db2 = notmuch_message_get_database (message); + printf("%d\n%d\n", message != NULL, db == db2); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "Handle reindexing message with closed db" +cat c_head2 - c_tail <<'EOF' | test_C ${MAIL_DIR} + { + stat = notmuch_message_reindex (message, NULL); + printf("%d\n%d\n", message != NULL, stat == NOTMUCH_STATUS_XAPIAN_EXCEPTION); + } +EOF +cat < EXPECTED +== stdout == +1 +1 +== stderr == +A Xapian exception occurred at lib/message.cc:XXX: Database has been closed EOF test_expect_equal_file EXPECTED OUTPUT