Exemple #1
0
void CuSuiteDelete(CuSuite *testSuite) {
    unsigned int n;
    for (n = 0; n < MAX_TEST_CASES; n++) {
        if (testSuite->list[n]) {
            CuTestDelete(testSuite->list[n]);
        }
    }
    free(testSuite);

}
bool CuSuiteDelete (CuSuite_t *testSuite) {
    if (testSuite) {
        CuSize_t n = testSuite->totalcount;
        bool freereturn;
        CuTestOrSuitePtr_t *testlist = testSuite->testlist;

        //assert (NULL != testSuite);
        printf ("Removing testcases:\n");

        //n may be 0 but then the loop is not executed
        for (; n > 0; --n) {
            //We start with n=n_max and proceed to n=1. therefore index with n-1
            //We can assume here that n>0
            register CuTestOrSuitePtr_t *test = &testlist[n - 1];

            if (NULL != test->test) {
                if (test->isSuite) {
                    CuSuiteDelete (test->suite);
                }
                else {
                    printf ("%s\n", CuStringCStr (test->test->name) );
                    CuTestDelete (test->test);
                    //assert (NULL != testSuite->list);
                    //free(testSuite->list);
                }
            }
        }


        freereturn = CuFree (testlist);
        assert (freereturn);
        freereturn = CuReportDestroy (testSuite->report);
        assert (freereturn);
        freereturn = CuStringDelete (testSuite->name);
        assert (freereturn);
        freereturn = CuFree (testSuite);
        assert (freereturn);
        return EXIT_SUCCESS;
    }

    return EXIT_FAILURE;
}