[PATCH 2/7] cli/config: support user header index config

David Bremner david at tethera.net
Sat Mar 2 07:41:28 PST 2019


We don't do anything with this configuration information information
yet, but nonetheless add a couple of regression tests to make sure we
don't break standard functionality when we do use the configuration
information.
---
 notmuch-config.c         |  1 +
 test/T730-user-header.sh | 38 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+)
 create mode 100755 test/T730-user-header.sh

diff --git a/notmuch-config.c b/notmuch-config.c
index 1517d0ff..5112fecd 100644
--- a/notmuch-config.c
+++ b/notmuch-config.c
@@ -831,6 +831,7 @@ _stored_in_db (const char *item)
 {
     struct config_key db_configs[] = {
 	{"index.decrypt", false},
+	{"index.header.", true},
 	{"query.", true},
     };
     for (size_t i = 0; i < ARRAY_SIZE (db_configs); i++) {
diff --git a/test/T730-user-header.sh b/test/T730-user-header.sh
new file mode 100755
index 00000000..ad32a5b4
--- /dev/null
+++ b/test/T730-user-header.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+test_description='indexing user specified headers'
+. $(dirname "$0")/test-lib.sh || exit 1
+
+test_begin_subtest "error adding user header before initializing DB"
+test_expect_code 1 "notmuch config set index.header.list \"List-Id\""
+
+add_email_corpus
+
+notmuch search '*' | notmuch_search_sanitize > initial-threads
+notmuch search --output=messages '*' > initial-message-ids
+notmuch dump > initial-dump
+
+test_begin_subtest "adding user header"
+test_expect_code 0 "notmuch config set index.header.list \"List-Id\""
+
+test_begin_subtest "adding existing user header"
+test_expect_code 0 "notmuch config set index.header.list \"List-Id\""
+
+test_begin_subtest "retrieve user header"
+output=$(notmuch config get index.header.list)
+test_expect_equal "List-Id" "$output"
+
+test_begin_subtest 'reindex after adding header preserves threads'
+notmuch reindex '*'
+notmuch search '*' | notmuch_search_sanitize > OUTPUT
+test_expect_equal_file initial-threads OUTPUT
+
+test_begin_subtest "List all user headers"
+notmuch config set index.header.spam "X-Spam"
+notmuch config list | grep ^index.header | notmuch_config_sanitize > OUTPUT
+cat <<EOF > EXPECTED
+index.header.list=List-Id
+index.header.spam=X-Spam
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
+test_done
-- 
2.20.1



More information about the notmuch mailing list