return suite;
}
+CCUnitTestSuite* ccunit_newTestSuiteFromDfn (const CCUnitTestSuiteDfn* sdp)
+{
+ CCUnitTestSuite* suite = ccunit_newTestSuite (sdp->name);
+ CCUnitTestDfn** tdpp;
+ for (tdpp = (CCUnitTestDfn**)sdp->tests; *tdpp; tdpp ++)
+ {
+ const CCUnitTestDfn* tdp = *tdpp;
+ if (tdp->type == ccunitTypeSuite)
+ {
+ CCUnitTestSuite* sp;
+ sp = ccunit_newTestSuiteFromDfn ((CCUnitTestSuiteDfn*)tdp);
+ }
+ else if (tdp->type == ccunitTypeFixture)
+ {
+ const CCUnitTestFixtureDfn* fdp = (CCUnitTestFixtureDfn*)tdp;
+ CCUnitTestFixture* fp;
+ CCUnitTestCase* cd;
+ fp = ccunit_newTestFixture (fdp->name, fdp->setUp, fdp->tearDown,
+ fdp->ctor, fdp->dtor);
+ ccunit_addTestFixture (suite, fp);
+ for (cd = (CCUnitTestCase*)fdp->testCases; cd->name; cd ++)
+ {
+ CCUnitTestCase* cp;
+ cp = ccunit_newTestCase (cd->name, cd->desc, cd->runTest);
+ ccunit_addTestCase (fp, cp);
+ }
+ }
+ }
+ return suite;
+}
+
inline void ccunit_deleteTestSuite (CCUnitTestSuite* suite)
{
ccunit_deleteTest (&suite->test);