]> git.notmuchmail.org Git - notmuch/commitdiff
test: add known broken test for closing with open transaction
authorDavid Bremner <david@tethera.net>
Tue, 18 May 2021 10:55:23 +0000 (07:55 -0300)
committerDavid Bremner <david@tethera.net>
Sun, 27 Jun 2021 17:01:26 +0000 (14:01 -0300)
The expected output may need adjusting, but what is clear is that
saving none of the changes is not desirable.

test/T385-transactions.sh [new file with mode: 0755]

diff --git a/test/T385-transactions.sh b/test/T385-transactions.sh
new file mode 100755 (executable)
index 0000000..ebfec2e
--- /dev/null
@@ -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