mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
cli/reindex: convert new config framework
The only non-trivial part is switching the talloc context for query_string_from args from 'config' to 'notmuch'.
This commit is contained in:
parent
f994f0e7df
commit
0ab0b48be2
3 changed files with 33 additions and 8 deletions
|
@ -83,10 +83,9 @@ reindex_query (notmuch_database_t *notmuch, const char *query_string,
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
notmuch_reindex_command (notmuch_config_t *config, unused(notmuch_database_t *notmuch), int argc, char *argv[])
|
notmuch_reindex_command (unused(notmuch_config_t *config), notmuch_database_t *notmuch, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char *query_string = NULL;
|
char *query_string = NULL;
|
||||||
notmuch_database_t *notmuch;
|
|
||||||
struct sigaction action;
|
struct sigaction action;
|
||||||
int opt_index;
|
int opt_index;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -111,10 +110,6 @@ notmuch_reindex_command (notmuch_config_t *config, unused(notmuch_database_t *no
|
||||||
|
|
||||||
notmuch_process_shared_options (argv[0]);
|
notmuch_process_shared_options (argv[0]);
|
||||||
|
|
||||||
if (notmuch_database_open (notmuch_config_get_database_path (config),
|
|
||||||
NOTMUCH_DATABASE_MODE_READ_WRITE, ¬much))
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
|
|
||||||
notmuch_exit_if_unmatched_db_uuid (notmuch);
|
notmuch_exit_if_unmatched_db_uuid (notmuch);
|
||||||
|
|
||||||
status = notmuch_process_shared_indexing_options (notmuch);
|
status = notmuch_process_shared_indexing_options (notmuch);
|
||||||
|
@ -124,7 +119,7 @@ notmuch_reindex_command (notmuch_config_t *config, unused(notmuch_database_t *no
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
query_string = query_string_from_args (config, argc - opt_index, argv + opt_index);
|
query_string = query_string_from_args (notmuch, argc - opt_index, argv + opt_index);
|
||||||
if (query_string == NULL) {
|
if (query_string == NULL) {
|
||||||
fprintf (stderr, "Out of memory\n");
|
fprintf (stderr, "Out of memory\n");
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
|
@ -165,7 +165,7 @@ static command_t commands[] = {
|
||||||
"Restore the tags from the given dump file (see 'dump')." },
|
"Restore the tags from the given dump file (see 'dump')." },
|
||||||
{ "compact", notmuch_compact_command, NOTMUCH_COMMAND_CONFIG_OPEN,
|
{ "compact", notmuch_compact_command, NOTMUCH_COMMAND_CONFIG_OPEN,
|
||||||
"Compact the notmuch database." },
|
"Compact the notmuch database." },
|
||||||
{ "reindex", notmuch_reindex_command, NOTMUCH_COMMAND_CONFIG_OPEN,
|
{ "reindex", notmuch_reindex_command, NOTMUCH_COMMAND_DATABASE_EARLY | NOTMUCH_COMMAND_DATABASE_WRITE,
|
||||||
"Re-index all messages matching the search terms." },
|
"Re-index all messages matching the search terms." },
|
||||||
{ "config", notmuch_config_command, NOTMUCH_COMMAND_CONFIG_OPEN,
|
{ "config", notmuch_config_command, NOTMUCH_COMMAND_CONFIG_OPEN,
|
||||||
"Get or set settings in the notmuch configuration file." },
|
"Get or set settings in the notmuch configuration file." },
|
||||||
|
|
|
@ -180,4 +180,34 @@ EOF
|
||||||
restore_config
|
restore_config
|
||||||
test_expect_equal_file EXPECTED OUTPUT
|
test_expect_equal_file EXPECTED OUTPUT
|
||||||
|
|
||||||
|
test_begin_subtest "reindex with saved query from config file"
|
||||||
|
backup_config
|
||||||
|
query_name="test${RANDOM}"
|
||||||
|
count1=$(notmuch count --lastmod '*' | cut -f3)
|
||||||
|
printf "\n[query]\n${query_name} = tag:inbox\n" >> notmuch-config
|
||||||
|
notmuch reindex query:$query_name
|
||||||
|
count2=$(notmuch count --lastmod '*' | cut -f3)
|
||||||
|
restore_config
|
||||||
|
test_expect_success "test '$count2 -gt $count1'"
|
||||||
|
|
||||||
|
test_begin_subtest "reindex with saved query from config file (xdg)"
|
||||||
|
query_name="test${RANDOM}"
|
||||||
|
count1=$(notmuch count --lastmod '*' | cut -f3)
|
||||||
|
xdg_config
|
||||||
|
printf "\n[query]\n${query_name} = tag:inbox\n" >> ${CONFIG_PATH}
|
||||||
|
notmuch reindex query:$query_name
|
||||||
|
count2=$(notmuch count --lastmod '*' | cut -f3)
|
||||||
|
restore_config
|
||||||
|
test_expect_success "test '$count2 -gt $count1'"
|
||||||
|
|
||||||
|
test_begin_subtest "reindex with saved query from config file (xdg+profile)"
|
||||||
|
query_name="test${RANDOM}"
|
||||||
|
count1=$(notmuch count --lastmod '*' | cut -f3)
|
||||||
|
xdg_config $query_name
|
||||||
|
printf "\n[query]\n${query_name} = tag:inbox\n" >> ${CONFIG_PATH}
|
||||||
|
notmuch reindex query:$query_name
|
||||||
|
count2=$(notmuch count --lastmod '*' | cut -f3)
|
||||||
|
restore_config
|
||||||
|
test_expect_success "test '$count2 -gt $count1'"
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in a new issue