]> git.notmuchmail.org Git - notmuch/commitdiff
test: regression test for traversing config list with closed db
authorDavid Bremner <david@tethera.net>
Sat, 1 Aug 2020 12:26:02 +0000 (09:26 -0300)
committerDavid Bremner <david@tethera.net>
Tue, 4 Aug 2020 00:03:43 +0000 (21:03 -0300)
Also mention error return in API docs

lib/notmuch.h
test/T590-libconfig.sh

index 9a2a3b1f242420802bc8cbb9d31a372df5594b4d..f3cb0fe21a0ca948d2ad1023cd4b68d7a06f76ba 100644 (file)
@@ -2291,6 +2291,7 @@ notmuch_config_list_key (notmuch_config_list_t *config_list);
  * next call to notmuch_config_list_value or notmuch config_list_destroy
  *
  * @since libnotmuch 4.4 (notmuch 0.23)
+ * @retval NULL for errors
  */
 const char *
 notmuch_config_list_value (notmuch_config_list_t *config_list);
index 602fad0b88567fcc2d3550b24c60bc3aa6705770..360e45b08913eae399694c5d224a85aeec628ed1 100755 (executable)
@@ -100,6 +100,28 @@ zzzafter afterval
 EOF
 test_expect_equal_file EXPECTED OUTPUT
 
+test_begin_subtest "notmuch_database_get_config_list: all pairs (closed db)"
+cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
+{
+   notmuch_config_list_t *list;
+   EXPECT0(notmuch_database_get_config_list (db, "", &list));
+   EXPECT0(notmuch_database_close (db));
+   for (; notmuch_config_list_valid (list); notmuch_config_list_move_to_next (list)) {
+      printf("%s %d\n", notmuch_config_list_key (list), NULL == notmuch_config_list_value(list));
+   }
+   notmuch_config_list_destroy (list);
+}
+EOF
+cat <<'EOF' >EXPECTED
+== stdout ==
+aaabefore 1
+testkey1 1
+testkey2 1
+zzzafter 1
+== stderr ==
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
 test_begin_subtest "notmuch_database_get_config_list: one prefix"
 cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
 {