void runTestCase(void* item, void* extraData) { TestCase testCase = (TestCase)item; TestSuite testSuite = (TestSuite)extraData; int result; if(!testSuite->onlyPrintFailing) { printTestName(testCase->name); } if(testCase->testCaseFunc != NULL) { if(testSuite->setup != NULL) { testSuite->setup(); } result = testCase->testCaseFunc(); if(result == 0) { if(!testSuite->onlyPrintFailing) { printTestSuccess(); } testSuite->numSuccess++; } else { printTestFail(); testSuite->numFail++; } if(testSuite->teardown != NULL) { testSuite->teardown(); } } else { if(!testSuite->onlyPrintFailing) { _printTestSkipped(); } testSuite->numSkips++; } }