aboutsummaryrefslogtreecommitdiff
path: root/test
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 /test
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.
Diffstat (limited to 'test')
-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