CLI/insert: support split database and mail root

The new test is in T055-path-config because it uses the helper
function split_config, and because it seems easier to put the
database path related tests in one place.
This commit is contained in:
David Bremner 2021-01-09 07:29:07 -04:00
parent c82554193d
commit 74c3cc03c2
2 changed files with 13 additions and 9 deletions

View file

@ -449,7 +449,7 @@ notmuch_insert_command (unused(notmuch_config_t *config), notmuch_database_t *no
{
notmuch_status_t status, close_status;
struct sigaction action;
const char *db_path;
const char *mail_root;
notmuch_config_values_t *new_tags = NULL;
tag_op_list_t *tag_ops;
char *query_string = NULL;
@ -481,13 +481,7 @@ notmuch_insert_command (unused(notmuch_config_t *config), notmuch_database_t *no
notmuch_process_shared_options (argv[0]);
db_path = notmuch_config_get (notmuch, NOTMUCH_CONFIG_DATABASE_PATH);
if (! db_path)
INTERNAL_ERROR ("Unable to retrieve database path");
else
db_path = talloc_strdup (local, db_path);
mail_root = notmuch_config_get (notmuch, NOTMUCH_CONFIG_MAIL_ROOT);
new_tags = notmuch_config_get_values (notmuch, NOTMUCH_CONFIG_NEW_TAGS);
@ -533,7 +527,7 @@ notmuch_insert_command (unused(notmuch_config_t *config), notmuch_database_t *no
return EXIT_FAILURE;
}
maildir = talloc_asprintf (local, "%s/%s", db_path, folder);
maildir = talloc_asprintf (local, "%s/%s", mail_root, folder);
if (! maildir) {
fprintf (stderr, "Out of memory\n");
return EXIT_FAILURE;

View file

@ -167,6 +167,16 @@ On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> wrote:
> basic reply test
EOF
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest "insert+search ($config)"
generate_message \
"[subject]=\"insert-subject\"" \
"[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \
"[body]=\"insert-message\""
mkdir -p "$MAIL_DIR"/{cur,new,tmp}
notmuch insert < "$gen_msg_filename"
cur_msg_filename=$(notmuch search --output=files "subject:insert-subject")
test_expect_equal_file "$cur_msg_filename" "$gen_msg_filename"
restore_config
done