aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2020-07-16 19:22:05 -0300
committerDavid Bremner <david@tethera.net>2020-07-22 19:52:55 -0300
commitcf90431cbf2899d675bf09e945c7cbf8f1b4728f (patch)
tree4cc682f86f9e567edad1a4d100ad61e1192c2096 /test
parent37dc6045e492884ef81c73049a9ed884ebd2c2db (diff)
test: add known broken test for n_d_needs_upgrade
It's a bit arbitrary which value to return for errors, but the same argument as for read only databases applies for errors.
Diffstat (limited to 'test')
-rwxr-xr-xtest/T562-lib-database.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/T562-lib-database.sh b/test/T562-lib-database.sh
index 83499d4a..d7f70415 100755
--- a/test/T562-lib-database.sh
+++ b/test/T562-lib-database.sh
@@ -131,4 +131,24 @@ cat <<EOF > EXPECTED
EOF
test_expect_equal_file EXPECTED OUTPUT
+test_begin_subtest "check a closed db for upgrade"
+test_subtest_known_broken
+cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
+ {
+ notmuch_bool_t ret;
+
+ EXPECT0(notmuch_database_close (db));
+ ret = notmuch_database_needs_upgrade (db);
+ printf ("%d\n", ret == FALSE);
+ stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION;
+ }
+EOF
+cat <<EOF > EXPECTED
+== stdout ==
+1
+== stderr ==
+A Xapian exception occurred at lib/database.cc:XXX: Database has been closed
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
test_done