From dfab190a4089b3d04addd0989053461d43c2bdeb Mon Sep 17 00:00:00 2001
From: David Bremner <david@tethera.net>
Date: Sun, 19 Jul 2020 07:57:39 -0300
Subject: [PATCH] lib: add regresion test for n_d_get_all_tags

Existing error handling seems adequate, if not ideal.
---
 test/T562-lib-database.sh | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/test/T562-lib-database.sh b/test/T562-lib-database.sh
index 745e91b3..60e944fc 100755
--- a/test/T562-lib-database.sh
+++ b/test/T562-lib-database.sh
@@ -321,4 +321,22 @@ A Xapian exception occurred finding/creating a directory: Database has been clos
 EOF
 test_expect_equal_file EXPECTED OUTPUT
 
+test_begin_subtest "Handle getting tags from closed database"
+cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
+    {
+        notmuch_tags_t *result;
+        EXPECT0(notmuch_database_close (db));
+        result = notmuch_database_get_all_tags (db);
+        printf("%d\n",  result == NULL);
+        stat = NOTMUCH_STATUS_XAPIAN_EXCEPTION;
+    }
+EOF
+cat <<EOF > EXPECTED
+== stdout ==
+1
+== stderr ==
+A Xapian exception occurred getting tags: Database has been closed.
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
 test_done
-- 
2.45.2