]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: test-smtp-submit - Move global initialization to main_init/deinit().
authorStephan Bosch <stephan.bosch@open-xchange.com>
Thu, 9 Apr 2020 08:53:40 +0000 (10:53 +0200)
committerStephan Bosch <stephan.bosch@open-xchange.com>
Mon, 25 May 2020 15:29:02 +0000 (17:29 +0200)
src/lib-smtp/test-smtp-submit.c

index 814f58af7572d81f9794f0f0bec946c5d080150c..48e172ef472840fcdf0ce2c5aa93f4d6d555dc0e 100644 (file)
@@ -2183,6 +2183,22 @@ static void test_atexit(void)
        test_servers_kill_all();
 }
 
+static void main_init(void)
+{
+       atexit(test_atexit);
+       lib_signals_ignore(SIGPIPE, TRUE);
+       lib_signals_set_handler(SIGTERM, 0, test_signal_handler, NULL);
+       lib_signals_set_handler(SIGQUIT, 0, test_signal_handler, NULL);
+       lib_signals_set_handler(SIGINT, 0, test_signal_handler, NULL);
+       lib_signals_set_handler(SIGSEGV, 0, test_signal_handler, NULL);
+       lib_signals_set_handler(SIGABRT, 0, test_signal_handler, NULL);
+}
+
+static void main_deinit(void)
+{
+       /* nothing yet */
+}
+
 int main(int argc, char *argv[])
 {
        const enum master_service_flags service_flags =
@@ -2193,14 +2209,7 @@ int main(int argc, char *argv[])
 
        master_service = master_service_init("test-smtp-submit", service_flags,
                                             &argc, &argv, "D");
-
-       atexit(test_atexit);
-       lib_signals_ignore(SIGPIPE, TRUE);
-       lib_signals_set_handler(SIGTERM, 0, test_signal_handler, NULL);
-       lib_signals_set_handler(SIGQUIT, 0, test_signal_handler, NULL);
-       lib_signals_set_handler(SIGINT, 0, test_signal_handler, NULL);
-       lib_signals_set_handler(SIGSEGV, 0, test_signal_handler, NULL);
-       lib_signals_set_handler(SIGABRT, 0, test_signal_handler, NULL);
+       main_init();
 
        while ((c = master_getopt(master_service)) > 0) {
                switch (c) {
@@ -2221,6 +2230,7 @@ int main(int argc, char *argv[])
 
        ret = test_run(test_functions);
 
+       main_deinit();
        master_service_deinit(&master_service);
 
        return ret;