aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2020-07-16 19:48:19 -0300
committerDavid Bremner <david@tethera.net>2020-07-22 19:52:55 -0300
commitbcb02dd8fc176729525869a969c0bc8de2acfaa9 (patch)
treeaa4d945ab19dcbca5925165cdf0329e4444e2ce5
parent3f121d636e7f67e12e19d0dc386ad9360d900ab4 (diff)
test: add regression test for n_d_{begin,end}_atomic
Xapian currently succeeds to begin/end a transaction on a closed database, or at least does not throw an exception. Make the test robust against this changing.
-rwxr-xr-xtest/T562-lib-database.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/T562-lib-database.sh b/test/T562-lib-database.sh
index 73ea0d2a..857bdd12 100755
--- a/test/T562-lib-database.sh
+++ b/test/T562-lib-database.sh
@@ -167,4 +167,39 @@ cat <<EOF > EXPECTED
EOF
test_expect_equal_file EXPECTED OUTPUT
+test_begin_subtest "begin atomic section for a closed db"
+cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
+ {
+ EXPECT0(notmuch_database_close (db));
+ stat = notmuch_database_begin_atomic (db);
+ printf ("%d\n", stat == NOTMUCH_STATUS_SUCCESS ||
+ stat == NOTMUCH_STATUS_XAPIAN_EXCEPTION);
+ stat = NOTMUCH_STATUS_SUCCESS;
+ }
+EOF
+cat <<EOF > EXPECTED
+== stdout ==
+1
+== stderr ==
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
+test_begin_subtest "end atomic section for a closed db"
+cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
+ {
+ EXPECT0(notmuch_database_close (db));
+ EXPECT0(notmuch_database_begin_atomic (db));
+ stat = notmuch_database_end_atomic (db);
+ printf ("%d\n", stat == NOTMUCH_STATUS_SUCCESS ||
+ stat == NOTMUCH_STATUS_XAPIAN_EXCEPTION);
+ stat = NOTMUCH_STATUS_SUCCESS;
+ }
+EOF
+cat <<EOF > EXPECTED
+== stdout ==
+1
+== stderr ==
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
test_done