From bcb02dd8fc176729525869a969c0bc8de2acfaa9 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Thu, 16 Jul 2020 19:48:19 -0300 Subject: [PATCH] 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. --- test/T562-lib-database.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) 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 < 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 < 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 < EXPECTED +== stdout == +1 +== stderr == +EOF +test_expect_equal_file EXPECTED OUTPUT + test_done