]> git.notmuchmail.org Git - notmuch/blobdiff - test/T562-lib-database.sh
lib/n_d_get_version: catch exceptions and clarify the API
[notmuch] / test / T562-lib-database.sh
index b8fba7d63fc555442dfc0d431fb8f4eb9810ec12..20bed8b4646a1607802bfe72c8148cf0d38f15cb 100755 (executable)
@@ -15,7 +15,7 @@ cat <<EOF > c_head
 int main (int argc, char** argv)
 {
    notmuch_database_t *db;
 int main (int argc, char** argv)
 {
    notmuch_database_t *db;
-   notmuch_status_t stat;
+   notmuch_status_t stat = NOTMUCH_STATUS_SUCCESS;
    char *msg = NULL;
 
    stat = notmuch_database_open_verbose (argv[1], NOTMUCH_DATABASE_MODE_READ_WRITE, &db, &msg);
    char *msg = NULL;
 
    stat = notmuch_database_open_verbose (argv[1], NOTMUCH_DATABASE_MODE_READ_WRITE, &db, &msg);
@@ -68,19 +68,20 @@ EOF
 test_expect_equal_file EXPECTED OUTPUT
 
 test_begin_subtest "get version with closed db"
 test_expect_equal_file EXPECTED OUTPUT
 
 test_begin_subtest "get version with closed db"
-test_subtest_known_broken
 cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
     {
         unsigned int version;
         EXPECT0(notmuch_database_close (db));
         version = notmuch_database_get_version (db);
         printf ("%u\n", version);
 cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
     {
         unsigned int version;
         EXPECT0(notmuch_database_close (db));
         version = notmuch_database_get_version (db);
         printf ("%u\n", version);
+        stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION;
     }
 EOF
 cat <<EOF > EXPECTED
 == stdout ==
 0
 == stderr ==
     }
 EOF
 cat <<EOF > EXPECTED
 == stdout ==
 0
 == stderr ==
+A Xapian exception occurred at lib/database.cc:XXX: Database has been closed
 EOF
 test_expect_equal_file EXPECTED OUTPUT
 
 EOF
 test_expect_equal_file EXPECTED OUTPUT