]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
global: Explicitly register some settings
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 8 Apr 2025 11:59:57 +0000 (14:59 +0300)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Mon, 12 May 2025 15:51:47 +0000 (15:51 +0000)
These will be needed by the following changes

src/imap/test-imap-client-hibernate.c
src/lib-dict-backend/test-dict-sql.c
src/lib-dict-extra/test-dict-fs.c
src/lib-dict/dict.h
src/plugins/mail-crypt/test-fs-crypt.c
src/plugins/mail-crypt/test-mail-key.c
src/stats/test-stats-common.c

index 5240f65a48e1197a6982f93d998e3b0caa84e065..d87e71bec4fc64afd562a1bfe79a275cc6a228ac 100644 (file)
@@ -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();
 
index 046c25a7f9909e580934fff1dcdef9b6b96d7981..383206488ed0607d50e38e11e549189ee4286b35 100644 (file)
@@ -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,
index d95b21b0f8617c86f5aedeff4bbb107ac48d1acd..4b4ded9d91b3be64c2b316da18492d0e4d18ba73 100644 (file)
@@ -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);
index 08da8c465800fcf56283151489f7c07ae1bb0158..cb968221fb6dc470b2b8d0cda123f9dc65b4375c 100644 (file)
@@ -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;
index 7815c6389c341fedbca59fad9ae6439d44804f21..3031a850fb3b62e686649871dbe500cbc759453b 100644 (file)
@@ -11,6 +11,7 @@
 #include "settings.h"
 #include "fs-api.h"
 #include "fs-api-private.h"
+#include "crypt-settings.h"
 #include "dcrypt.h"
 
 #include <unistd.h>
@@ -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)
index 5ee58f85bb62ddd5557082434301551868438a06..756264079e895ce0ecaf2c1d90ec8ecb269723fd 100644 (file)
@@ -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;
index f4b91add668f10b89ad6416f88ea16955b25cd91..12014087fa5dd05527ad484904e9379911b40d77 100644 (file)
@@ -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,