static int tpunit_detail_do_run() { TestFixture* f = *tpunit_detail_fixtures(); while(f) { printf("[--------------]\n"); tpunit_detail_do_methods(f->_before_classes); tpunit_detail_do_tests(f); tpunit_detail_do_methods(f->_after_classes); printf("[--------------]\n\n"); f = f->_next; } printf("[==============]\n"); printf("[ TEST RESULTS ] Passed: %i, Failed: %i\n", tpunit_detail_stats()._passes, tpunit_detail_stats()._failures); printf("[==============]\n"); return tpunit_detail_stats()._failures; }
static void tpunit_detail_do_tests(TestFixture* f) { method* t = f->_tests; while(t) { int _prev_assertions = tpunit_detail_stats()._assertions; int _prev_exceptions = tpunit_detail_stats()._exceptions; printf("[ RUN ] %s\n", t->_name); tpunit_detail_do_methods(f->_befores); tpunit_detail_do_method(t); tpunit_detail_do_methods(f->_afters); if(_prev_assertions == tpunit_detail_stats()._assertions && _prev_exceptions == tpunit_detail_stats()._exceptions) { printf("[ PASSED ] %s\n", t->_name); tpunit_detail_stats()._passes++; } else { printf("[ FAILED ] %s\n", t->_name); tpunit_detail_stats()._failures++; } t = t->_next; } }