diff --git a/test/test_runner.c b/test/test_runner.c index cde5ede..16efadb 100644 --- a/test/test_runner.c +++ b/test/test_runner.c @@ -3,6 +3,9 @@ #include #include + +typedef Suite *(*suite_func)(void); + extern Suite *bitvec_suite(void); extern Suite *bcd_suite(void); extern Suite *hex_suite(void); @@ -13,27 +16,34 @@ extern Suite *logging_suite(void); extern Suite *threadqueue_suite(void); extern Suite *buffer_suite(void); +static suite_func suites[] = { + bitvec_suite, + bcd_suite, + hex_suite, + container_of_suite, + read_file_suite, + pack_suite, + logging_suite, + threadqueue_suite, + buffer_suite +}; + int main (int argc, char *argv[]) { int xml_output = argc > 1 && strcmp(argv[1], "--xml") == 0; int number_failed = 0; + size_t i; SRunner *sr = srunner_create (NULL); if (xml_output) srunner_set_xml(sr, "result.xml"); - srunner_add_suite(sr, bitvec_suite()); - srunner_add_suite(sr, bcd_suite()); - srunner_add_suite(sr, hex_suite()); - srunner_add_suite(sr, container_of_suite()); - srunner_add_suite(sr, read_file_suite()); - srunner_add_suite(sr, pack_suite()); - srunner_add_suite(sr, logging_suite()); - srunner_add_suite(sr, threadqueue_suite()); - srunner_add_suite(sr, buffer_suite()); + for(i = 0; i < sizeof suites/sizeof suites[0]; i++) { + srunner_add_suite(sr, suites[i]()); + } srunner_run_all (sr, CK_VERBOSE); number_failed = srunner_ntests_failed (sr);