summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2019-03-05 14:56:29 -0400
committerDavid Bremner <david@tethera.net>2019-03-05 21:46:41 -0400
commit09595cf577616f657fdfcd235c4e04d91b3c020a (patch)
treed412739d47942f059eb59b76cfbb9ca39d1ea3e8
parentaf0ff260cc1cb1c8ff0e5e353fd92ca4a1f2bc3f (diff)
lib: Add known broken test for string_map binary search.
Because the string_map functions are not exported, we test via message properties.
-rwxr-xr-xtest/T610-message-property.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/T610-message-property.sh b/test/T610-message-property.sh
index 0abef824..04f0c9be 100755
--- a/test/T610-message-property.sh
+++ b/test/T610-message-property.sh
@@ -100,6 +100,42 @@ cat <<'EOF' >EXPECTED
EOF
test_expect_equal_file EXPECTED OUTPUT
+test_begin_subtest "testing string map binary search (via message properties)"
+test_subtest_known_broken
+cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
+{
+ char *keys[] = {"a", "b", "c", "d", "e", NULL};
+ for (int i=0; keys[i]; i++)
+ EXPECT0(notmuch_message_add_property (message, keys[i], keys[i]));
+
+ for (int i=0; keys[i]; i++) {
+ EXPECT0(notmuch_message_get_property (message, keys[i], &val));
+ printf("%s = %s\n", keys[i], val);
+ }
+
+ for (int i=0; keys[i]; i++) {
+ EXPECT0(notmuch_message_remove_property (message, keys[i], keys[i]));
+ EXPECT0(notmuch_message_get_property (message, keys[i], &val));
+ printf("%s = %s\n", keys[i], val == NULL ? "NULL" : val);
+ }
+}
+EOF
+cat <<EOF > EXPECTED
+== stdout ==
+a = a
+b = b
+c = c
+d = d
+e = e
+a = NULL
+b = NULL
+c = NULL
+d = NULL
+e = NULL
+== stderr ==
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
test_begin_subtest "notmuch_message_get_properties: empty list"
cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
{