From: Timo Sirainen Date: Tue, 8 Apr 2025 11:59:57 +0000 (+0300) Subject: global: Explicitly register some settings X-Git-Tag: 2.4.2~808 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26ebb5cf64cc07fdff485d7ca06624107955e42b;p=thirdparty%2Fdovecot%2Fcore.git global: Explicitly register some settings These will be needed by the following changes --- diff --git a/src/imap/test-imap-client-hibernate.c b/src/imap/test-imap-client-hibernate.c index 5240f65a48..d87e71bec4 100644 --- a/src/imap/test-imap-client-hibernate.c +++ b/src/imap/test-imap-client-hibernate.c @@ -9,6 +9,7 @@ #include "path-util.h" #include "unlink-directory.h" #include "settings-parser.h" +#include "settings.h" #include "master-service.h" #include "smtp-submit.h" #include "mail-storage-service.h" @@ -284,6 +285,26 @@ static void test_init(void) test_subprocesses_init(FALSE); } +struct test_service_settings { + pool_t pool; + ARRAY_TYPE(const_string) services; +}; + +static const struct setting_define test_service_setting_defines[] = { + { .type = SET_FILTER_ARRAY, .key = "service", + .offset = offsetof(struct test_service_settings, services) }, + SETTING_DEFINE_LIST_END +}; + +static const struct setting_parser_info test_service_setting_parser_info = { + .name = "test_service", + + .defines = test_service_setting_defines, + + .struct_size = sizeof(struct test_service_settings), + .pool_offset1 = 1 + offsetof(struct test_service_settings, pool), +}; + int main(int argc, char *argv[]) { const enum master_service_flags service_flags = @@ -296,6 +317,10 @@ int main(int argc, char *argv[]) master_service = master_service_init("test-imap-client-hibernate", service_flags, &argc, &argv, "D"); + /* imap default settings use service/imap/imap_capability, so we need + to register "service" named list filter. */ + settings_info_register(&test_service_setting_parser_info); + master_service_init_finish(master_service); test_init(); diff --git a/src/lib-dict-backend/test-dict-sql.c b/src/lib-dict-backend/test-dict-sql.c index 046c25a7f9..383206488e 100644 --- a/src/lib-dict-backend/test-dict-sql.c +++ b/src/lib-dict-backend/test-dict-sql.c @@ -8,6 +8,7 @@ #include "dict-private.h" #include "dict-sql.h" #include "dict-sql-private.h" +#include "dict-sql-settings.h" #include "driver-test.h" struct dict_op_settings dict_op_settings = { @@ -337,6 +338,7 @@ int main(void) { sql_drivers_init_without_drivers(); sql_driver_test_register(); dict_sql_register(); + settings_info_register(&dict_map_setting_parser_info); static void (*const test_functions[])(void) = { test_lookup_one, diff --git a/src/lib-dict-extra/test-dict-fs.c b/src/lib-dict-extra/test-dict-fs.c index d95b21b0f8..4b4ded9d91 100644 --- a/src/lib-dict-extra/test-dict-fs.c +++ b/src/lib-dict-extra/test-dict-fs.c @@ -4,6 +4,7 @@ #include "unlink-directory.h" #include "test-common.h" #include "settings.h" +#include "fs-api.h" #include "dict-private.h" static void test_dict_set_get(struct dict *dict, const char *key, @@ -108,6 +109,7 @@ int main(void) NULL }; int ret; + settings_info_register(&fs_setting_parser_info); dict_driver_register(&dict_driver_fs); ret = test_run(test_functions); dict_driver_unregister(&dict_driver_fs); diff --git a/src/lib-dict/dict.h b/src/lib-dict/dict.h index 08da8c4658..cb968221fb 100644 --- a/src/lib-dict/dict.h +++ b/src/lib-dict/dict.h @@ -38,6 +38,7 @@ struct dict_settings { ARRAY_TYPE(const_string) dicts; }; extern const struct setting_parser_info dict_setting_parser_info; +extern const struct setting_parser_info dict_file_setting_parser_info; struct dict_op_settings { const char *username; diff --git a/src/plugins/mail-crypt/test-fs-crypt.c b/src/plugins/mail-crypt/test-fs-crypt.c index 7815c6389c..3031a850fb 100644 --- a/src/plugins/mail-crypt/test-fs-crypt.c +++ b/src/plugins/mail-crypt/test-fs-crypt.c @@ -11,6 +11,7 @@ #include "settings.h" #include "fs-api.h" #include "fs-api-private.h" +#include "crypt-settings.h" #include "dcrypt.h" #include @@ -40,6 +41,8 @@ static void test_setup(void) fs_class_register(&fs_class_posix); fs_class_register(&fs_class_crypt); + + settings_info_register(&crypt_setting_parser_info); } static void test_fs_crypt_read_write(void) diff --git a/src/plugins/mail-crypt/test-mail-key.c b/src/plugins/mail-crypt/test-mail-key.c index 5ee58f85bb..756264079e 100644 --- a/src/plugins/mail-crypt/test-mail-key.c +++ b/src/plugins/mail-crypt/test-mail-key.c @@ -3,7 +3,9 @@ #include "lib.h" #include "test-common.h" #include "hex-binary.h" +#include "settings.h" #include "master-service.h" +#include "dict.h" #include "test-mail-storage-common.h" #include "dcrypt.h" @@ -425,6 +427,8 @@ int main(int argc, char **argv) MASTER_SERVICE_FLAG_NO_SSL_INIT | MASTER_SERVICE_FLAG_NO_INIT_DATASTACK_FRAME, &argc, &argv, ""); + settings_info_register(&dict_setting_parser_info); + settings_info_register(&dict_file_setting_parser_info); int ret = test_run(tests); master_service_deinit(&master_service); return ret; diff --git a/src/stats/test-stats-common.c b/src/stats/test-stats-common.c index f4b91add66..12014087fa 100644 --- a/src/stats/test-stats-common.c +++ b/src/stats/test-stats-common.c @@ -56,6 +56,8 @@ void test_init(const char *const settings_blob[]) test_pool = pool_alloconly_create(MEMPOOL_GROWING"test pool", 2048); stats_startup_time = time(NULL); + settings_info_register(&stats_metric_group_by_setting_parser_info); + settings_info_register(&stats_metric_group_by_method_setting_parser_info); /* register test categories */ stats_event_category_register(test_category.name, NULL); stats_event_category_register(child_test_category.name,