From: Yu Watanabe Date: Wed, 2 Feb 2022 02:06:41 +0000 (+0900) Subject: test: allow to set NULL to intro or outro X-Git-Tag: v251-rc1~375 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e85fdacc8ad7d91f140a135aaa3fd5372d3fa47c;p=thirdparty%2Fsystemd.git test: allow to set NULL to intro or outro Addresses https://github.com/systemd/systemd/pull/22338#discussion_r796741033. --- diff --git a/src/shared/tests.h b/src/shared/tests.h index 59448f38f65..ef6acd368e5 100644 --- a/src/shared/tests.h +++ b/src/shared/tests.h @@ -110,27 +110,28 @@ static inline int run_test_table(void) { return r; } -static inline int test_nop(void) { - return EXIT_SUCCESS; -} - -#define DEFINE_CUSTOM_TEST_MAIN(log_level, intro, outro) \ - int main(int argc, char *argv[]) { \ - int _r, _q; \ - test_setup_logging(log_level); \ - save_argc_argv(argc, argv); \ - _r = intro(); \ - if (_r == EXIT_SUCCESS) \ - _r = run_test_table(); \ - _q = outro(); \ - static_destruct(); \ - if (_r < 0) \ - return EXIT_FAILURE; \ - if (_r != EXIT_SUCCESS) \ - return _r; \ - if (_q < 0) \ - return EXIT_FAILURE; \ - return _q; \ +#define DEFINE_TEST_MAIN_FULL(log_level, intro, outro) \ + int main(int argc, char *argv[]) { \ + int (*_intro)(void) = intro; \ + int (*_outro)(void) = outro; \ + int _r, _q; \ + test_setup_logging(log_level); \ + save_argc_argv(argc, argv); \ + _r = _intro ? _intro() : EXIT_SUCCESS; \ + if (_r == EXIT_SUCCESS) \ + _r = run_test_table(); \ + _q = _outro ? _outro() : EXIT_SUCCESS; \ + static_destruct(); \ + if (_r < 0) \ + return EXIT_FAILURE; \ + if (_r != EXIT_SUCCESS) \ + return _r; \ + if (_q < 0) \ + return EXIT_FAILURE; \ + return _q; \ } -#define DEFINE_TEST_MAIN(log_level) DEFINE_CUSTOM_TEST_MAIN(log_level, test_nop, test_nop) +#define DEFINE_TEST_MAIN_WITH_INTRO(log_level, intro) \ + DEFINE_TEST_MAIN_FULL(log_level, intro, NULL) +#define DEFINE_TEST_MAIN(log_level) \ + DEFINE_TEST_MAIN_FULL(log_level, NULL, NULL) diff --git a/src/test/test-barrier.c b/src/test/test-barrier.c index b87538806a4..bbd7e2bddb9 100644 --- a/src/test/test-barrier.c +++ b/src/test/test-barrier.c @@ -444,4 +444,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-cgroup-setup.c b/src/test/test-cgroup-setup.c index 6f936476857..c377ff0a007 100644 --- a/src/test/test-cgroup-setup.c +++ b/src/test/test-cgroup-setup.c @@ -71,4 +71,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro); diff --git a/src/test/test-chown-rec.c b/src/test/test-chown-rec.c index 691cfe767f6..97711f58b0d 100644 --- a/src/test/test-chown-rec.c +++ b/src/test/test-chown-rec.c @@ -156,4 +156,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro); diff --git a/src/test/test-format-table.c b/src/test/test-format-table.c index 7515a74c12a..1b4963d928c 100644 --- a/src/test/test-format-table.c +++ b/src/test/test-format-table.c @@ -535,4 +535,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-fs-util.c b/src/test/test-fs-util.c index da5a16b4bcc..602ce75f980 100644 --- a/src/test/test-fs-util.c +++ b/src/test/test-fs-util.c @@ -973,4 +973,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-hashmap.c b/src/test/test-hashmap.c index 4dc155d8189..dbf762cc0b1 100644 --- a/src/test/test-hashmap.c +++ b/src/test/test-hashmap.c @@ -169,4 +169,4 @@ static int outro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, outro); +DEFINE_TEST_MAIN_FULL(LOG_INFO, intro, outro); diff --git a/src/test/test-install-root.c b/src/test/test-install-root.c index f540a832bdc..f718689c3a6 100644 --- a/src/test/test-install-root.c +++ b/src/test/test-install-root.c @@ -1272,4 +1272,4 @@ static int intro(void) { } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-load-fragment.c b/src/test/test-load-fragment.c index 554bb206dc4..52f6096eee1 100644 --- a/src/test/test-load-fragment.c +++ b/src/test/test-load-fragment.c @@ -970,4 +970,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-mountpoint-util.c b/src/test/test-mountpoint-util.c index 827d0cf29bd..a373c5f98c3 100644 --- a/src/test/test-mountpoint-util.c +++ b/src/test/test-mountpoint-util.c @@ -309,4 +309,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro); diff --git a/src/test/test-namespace.c b/src/test/test-namespace.c index 3ec81adf1d3..8dea1957457 100644 --- a/src/test/test-namespace.c +++ b/src/test/test-namespace.c @@ -228,4 +228,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-proc-cmdline.c b/src/test/test-proc-cmdline.c index 064b4d838f4..1f43bb3eb0d 100644 --- a/src/test/test-proc-cmdline.c +++ b/src/test/test-proc-cmdline.c @@ -254,4 +254,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-process-util.c b/src/test/test-process-util.c index 86619349293..7a8adad50c8 100644 --- a/src/test/test-process-util.c +++ b/src/test/test-process-util.c @@ -900,4 +900,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-sd-hwdb.c b/src/test/test-sd-hwdb.c index 88992a6c2bc..4251e2a8098 100644 --- a/src/test/test-sd-hwdb.c +++ b/src/test/test-sd-hwdb.c @@ -63,4 +63,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro); diff --git a/src/test/test-serialize.c b/src/test/test-serialize.c index 9aeb6c59202..bcf2e843b09 100644 --- a/src/test/test-serialize.c +++ b/src/test/test-serialize.c @@ -195,4 +195,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-sleep.c b/src/test/test-sleep.c index f56e7e0167f..5aebcdd9356 100644 --- a/src/test/test-sleep.c +++ b/src/test/test-sleep.c @@ -125,4 +125,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro); diff --git a/src/test/test-stat-util.c b/src/test/test-stat-util.c index 2965ee679f4..7f633ab2593 100644 --- a/src/test/test-stat-util.c +++ b/src/test/test-stat-util.c @@ -241,4 +241,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-time-util.c b/src/test/test-time-util.c index f21d8b77947..554693834bf 100644 --- a/src/test/test-time-util.c +++ b/src/test/test-time-util.c @@ -607,4 +607,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-unit-file.c b/src/test/test-unit-file.c index 6c9f245c7e5..cc08a4ae4ba 100644 --- a/src/test/test-unit-file.c +++ b/src/test/test-unit-file.c @@ -107,4 +107,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro); diff --git a/src/test/test-unit-name.c b/src/test/test-unit-name.c index 1f65407e5f4..8cd0e0b4a11 100644 --- a/src/test/test-unit-name.c +++ b/src/test/test-unit-name.c @@ -856,4 +856,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro); diff --git a/src/test/test-unit-serialize.c b/src/test/test-unit-serialize.c index 5d39176db21..3ef15f3b1ee 100644 --- a/src/test/test-unit-serialize.c +++ b/src/test/test-unit-serialize.c @@ -60,4 +60,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_DEBUG, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_DEBUG, intro); diff --git a/src/test/test-utf8.c b/src/test/test-utf8.c index 1b31d1f852d..7337b81227e 100644 --- a/src/test/test-utf8.c +++ b/src/test/test-utf8.c @@ -236,4 +236,4 @@ static int intro(void) { return EXIT_SUCCESS; } -DEFINE_CUSTOM_TEST_MAIN(LOG_INFO, intro, test_nop); +DEFINE_TEST_MAIN_WITH_INTRO(LOG_INFO, intro);