From 223fe6b79b62cb67b8edb572bb604a21fd70d263 Mon Sep 17 00:00:00 2001 From: Snaipe Date: Tue, 14 Apr 2015 17:00:42 +0200 Subject: [PATCH] [Issue #16] sources with no tests can now compile --- src/runner.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/runner.c b/src/runner.c index a47292d..4da3b28 100644 --- a/src/runner.c +++ b/src/runner.c @@ -38,8 +38,9 @@ IMPL_SECTION_LIMITS(struct criterion_test, criterion_tests); IMPL_SECTION_LIMITS(struct criterion_suite, crit_suites); -// This is here to make the test suite section non-empty -TestSuite(default); +// This is here to make the test suite & test sections non-empty +TestSuite(); +Test(,) {}; int cmp_suite(void *a, void *b) { struct criterion_suite *s1 = a, *s2 = b; @@ -71,7 +72,11 @@ struct criterion_test_set *criterion_init(void) { insert_ordered_set(suites, &css, sizeof (css)); } + size_t nb_tests = 0; FOREACH_TEST_SEC(test) { + if (!*test->category) + continue; + struct criterion_suite_set css = { .suite = { .name = test->category }, }; @@ -80,11 +85,9 @@ struct criterion_test_set *criterion_init(void) { s->tests = new_ordered_set(cmp_test, NULL); insert_ordered_set(s->tests, test, sizeof(*test)); + ++nb_tests; } - const size_t nb_tests = SECTION_END(criterion_tests) - - SECTION_START(criterion_tests); - return unique_ptr(struct criterion_test_set, { suites, nb_tests,