Files
libucore/test/test_runner.c
T
2013-09-04 18:10:26 +02:00

75 lines
1.7 KiB
C

#include <stdlib.h>
#include <getopt.h>
#include <stdio.h>
#include <check.h>
typedef Suite *(*suite_func)(void);
extern Suite *bitvec_suite(void);
extern Suite *bcd_suite(void);
extern Suite *hex_suite(void);
extern Suite *container_of_suite(void);
extern Suite *read_file_suite(void);
extern Suite *pack_suite(void);
extern Suite *logging_suite(void);
extern Suite *threadqueue_suite(void);
extern Suite *buffer_suite(void);
extern Suite *clock_suite(void);
extern Suite *seq_suite(void);
extern Suite *sat_math_suite(void);
extern Suite *timers_suite(void);
extern Suite *mbuf_suite(void);
extern Suite *human_bytesz_suite(void);
extern Suite *dbuf_suite(void);
extern Suite *sprintb_suite(void);
extern Suite *strv_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,
clock_suite,
seq_suite,
sat_math_suite,
timers_suite,
mbuf_suite,
human_bytesz_suite,
dbuf_suite,
sprintb_suite,
strv_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");
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);
srunner_free (sr);
if (number_failed)
printf("ERROR: %d tests failed\n", number_failed);
return (number_failed != 0) ;
}