notmuch.git  about / heads / tags
Unnamed repository; edit this file 'description' to name the repository.
blob d8bb502d61303cc816a92c8e2fe6a4b680279e44 805 bytes (raw)
name: test/T385-transactions.sh 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 
#!/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"
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

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

git clone https://yhetil.org/notmuch.git