Convert to a table of function pointers for the suites

This commit is contained in:
Nils O. Selåsdal
2012-12-27 23:11:13 +01:00
parent 86b5a81a90
commit 1b5645ae47
+19 -9
View File
@@ -3,6 +3,9 @@
#include <stdio.h> #include <stdio.h>
#include <check.h> #include <check.h>
typedef Suite *(*suite_func)(void);
extern Suite *bitvec_suite(void); extern Suite *bitvec_suite(void);
extern Suite *bcd_suite(void); extern Suite *bcd_suite(void);
extern Suite *hex_suite(void); extern Suite *hex_suite(void);
@@ -13,27 +16,34 @@ extern Suite *logging_suite(void);
extern Suite *threadqueue_suite(void); extern Suite *threadqueue_suite(void);
extern Suite *buffer_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 int
main (int argc, char *argv[]) main (int argc, char *argv[])
{ {
int xml_output = argc > 1 && strcmp(argv[1], "--xml") == 0; int xml_output = argc > 1 && strcmp(argv[1], "--xml") == 0;
int number_failed = 0; int number_failed = 0;
size_t i;
SRunner *sr = srunner_create (NULL); SRunner *sr = srunner_create (NULL);
if (xml_output) if (xml_output)
srunner_set_xml(sr, "result.xml"); 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); srunner_run_all (sr, CK_VERBOSE);
number_failed = srunner_ntests_failed (sr); number_failed = srunner_ntests_failed (sr);