aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2022-05-23 20:39:01 -0300
committerDavid Bremner <david@tethera.net>2022-06-25 12:55:02 -0300
commit9e9d0e5ffcdb92e4051b10a8df0c093db1be5d42 (patch)
tree38eb588e10ccbea1cd187b6505e476313740f234 /test
parent879ec9d76ad5caeb728c3f047d1da425d0b511eb (diff)
test: error handling in _n_message_{add,remove}_filename
Use a closed database to force throwing a Xapian exception. Leave the check vague to accomodate a potential explicit check for open database.
Diffstat (limited to 'test')
-rwxr-xr-xtest/T566-lib-message.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/test/T566-lib-message.sh b/test/T566-lib-message.sh
index bac2be66..5894e67d 100755
--- a/test/T566-lib-message.sh
+++ b/test/T566-lib-message.sh
@@ -342,6 +342,38 @@ cat <<EOF > EXPECTED
EOF
test_expect_equal_file EXPECTED OUTPUT
+test_begin_subtest "_notmuch_message_add_filename on closed db"
+cat c_head - c_tail <<'EOF' | test_private_C ${MAIL_DIR}
+ {
+ notmuch_private_status_t status;
+ status = _notmuch_message_add_filename (message, "some-filename");
+ printf("%d\n%d\n", message != NULL, status != NOTMUCH_STATUS_SUCCESS);
+ }
+EOF
+cat <<EOF > EXPECTED
+== stdout ==
+1
+1
+== stderr ==
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
+test_begin_subtest "_notmuch_message_remove_filename on closed db"
+cat c_head - c_tail <<'EOF' | test_private_C ${MAIL_DIR}
+ {
+ notmuch_private_status_t status;
+ status = _notmuch_message_remove_filename (message, "some-filename");
+ printf("%d\n%d\n", message != NULL, status != NOTMUCH_STATUS_SUCCESS);
+ }
+EOF
+cat <<EOF > EXPECTED
+== stdout ==
+1
+1
+== stderr ==
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
test_begin_subtest "Handle removing all tags with closed db"
cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
{