aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2021-05-18 07:55:23 -0300
committerDavid Bremner <david@tethera.net>2021-06-27 14:01:26 -0300
commit8aabddb043d6bf5bd8a19884b3c456ba9d4634cb (patch)
tree6d07bedcab367f2186924d70fef79ce03dd6f268
parent2f608d2a9400f666ec0aca1f76b59f6640104e4e (diff)
test: add known broken test for closing with open transaction
The expected output may need adjusting, but what is clear is that saving none of the changes is not desirable.
-rwxr-xr-xtest/T385-transactions.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/T385-transactions.sh b/test/T385-transactions.sh
new file mode 100755
index 00000000..ebfec2ed
--- /dev/null
+++ b/test/T385-transactions.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+test_description='transactions'
+. $(dirname "$0")/test-lib.sh || exit 1
+
+make_shim no-close <<EOF
+#include <notmuch.h>
+#include <stdio.h>
+notmuch_status_t
+notmuch_database_close (notmuch_database_t *notmuch)
+{
+ return notmuch_database_begin_atomic (notmuch);
+}
+EOF
+
+for i in `seq 1 1024`
+do
+ generate_message '[subject]="'"subject $i"'"' \
+ '[body]="'"body $i"'"'
+done
+
+test_begin_subtest "initial new"
+NOTMUCH_NEW > OUTPUT
+cat <<EOF > EXPECTED
+Added 1024 new messages to the database.
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
+test_begin_subtest "Some changes saved with open transaction"
+test_subtest_known_broken
+notmuch config set database.autocommit 1000
+rm -r ${MAIL_DIR}/.notmuch
+notmuch_with_shim no-close new
+output=$(notmuch count '*')
+test_expect_equal "$output" "1000"
+
+test_done