From: Jan Janssen Date: Tue, 23 Nov 2021 12:40:27 +0000 (+0100) Subject: test: Slightly rework DEFINE_TEST_MAIN macros X-Git-Tag: v250-rc1~142^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a40b728e1172cc07a09e12dd56089ab37c8c5924;p=thirdparty%2Fsystemd.git test: Slightly rework DEFINE_TEST_MAIN macros - A lot of tests want a different log level - Provides saved_argc/saved_argv to tests - Separate intro/outro is more flexible --- diff --git a/src/shared/tests.h b/src/shared/tests.h index f333ebd8420..872b9b2d6c7 100644 --- a/src/shared/tests.h +++ b/src/shared/tests.h @@ -6,6 +6,7 @@ #include "sd-daemon.h" #include "macro.h" +#include "util.h" static inline bool manager_errno_skip_test(int r) { return IN_SET(abs(r), @@ -77,16 +78,14 @@ static inline void run_test_table(void) { } } -#define DEFINE_TEST_MAIN \ - int main(int argc, char *argv[]) { \ - test_setup_logging(LOG_INFO); \ - run_test_table(); \ - return EXIT_SUCCESS; \ +#define DEFINE_CUSTOM_TEST_MAIN(log_level, intro, outro) \ + int main(int argc, char *argv[]) { \ + test_setup_logging(log_level); \ + save_argc_argv(argc, argv); \ + intro; \ + run_test_table(); \ + outro; \ + return EXIT_SUCCESS; \ } -#define DEFINE_CUSTOM_TEST_MAIN(impl) \ - int main(int argc, char *argv[]) { \ - test_setup_logging(LOG_INFO); \ - run_test_table(); \ - return impl(); \ - } +#define DEFINE_TEST_MAIN(log_level) DEFINE_CUSTOM_TEST_MAIN(log_level, , ) diff --git a/src/test/test-macro.c b/src/test/test-macro.c index 09cb4bf7bc6..d33d22c18cb 100644 --- a/src/test/test-macro.c +++ b/src/test/test-macro.c @@ -387,4 +387,4 @@ TEST(flags) { assert_se(f == F2); } -DEFINE_TEST_MAIN; +DEFINE_TEST_MAIN(LOG_INFO);