OSDN Git Service

ctor/dtor is deleted.
authortsntsumi <tsntsumi@users.sourceforge.jp>
Wed, 1 Oct 2003 20:44:26 +0000 (20:44 +0000)
committertsntsumi <tsntsumi@users.sourceforge.jp>
Wed, 1 Oct 2003 20:44:26 +0000 (20:44 +0000)
A TEST SUITE key word is added.

src/ccunit/CCUnitReadSuite.c

index dd020fb..f4811f9 100644 (file)
@@ -618,6 +618,8 @@ static void readTestFixture (_CCUnitTestSuiteDef* suite, const char* cname)
   const char* name;
   char* doc;
   char* desc = NULL;
+  if (!suite)
+    return;
   fixture = newTestFixtureDef (cname);
   if (!fixture)
     return;
@@ -636,16 +638,6 @@ static void readTestFixture (_CCUnitTestSuiteDef* suite, const char* cname)
          setFixtureFunc (&fixture->tearDown, f);
          safe_free (desc);
        }
-      else if ((f = readTestCase ("void", "construct", desc)) != NULL)
-       {
-         setFixtureFunc (&fixture->ctor, f);
-         safe_free (desc);
-       }
-      else if ((f = readTestCase ("void", "destruct", desc)) != NULL)
-       {
-         setFixtureFunc (&fixture->dtor, f);
-         safe_free (desc);
-       }
       /* if test case function def, then read as test case. */
       else if ((f = readTestCase ("void", "test", desc)) != NULL)
        {
@@ -686,7 +678,7 @@ static void readSuite (_CCUnitTestSuiteDef* suite)
 {
   _CCUnitFuncDef* f;
   const char* name;
-  char* doc;
+  char* doc = NULL;
   char* desc = NULL;
   while (readline ())
     {
@@ -704,15 +696,27 @@ static void readSuite (_CCUnitTestSuiteDef* suite)
                          line.fname, line.lno, doc);
              safe_free (doc);
            }
+         else if ((name = getTestName (ccunitTypeSuite, doc)) != NULL)
+           {
+             _CCUnitTestSuiteDef* newSuite;
+             newSuite = ccunit_newTestSuiteDef (name);
+             if (!newSuite)
+               break;
+             addTestSuiteDef (suite, newSuite);
+             readSuite (newSuite);
+             safe_free (doc);
+           }
+         else if ((name = getEndOfTest (ccunitTypeSuite, doc)) != NULL)
+           {
+             break;
+           }
          safe_free (desc);
          desc = doc;
          doc = NULL;
        }
       else if ((f = readTestCase ("void", "test", desc)) != NULL
               || (f = readTestCase ("void", "setUp", desc)) != NULL
-              || (f = readTestCase ("void", "tearDown", desc)) != NULL
-              || (f = readTestCase ("void", "construct", desc)) != NULL
-              || (f = readTestCase ("void", "destruct", desc)) != NULL)
+              || (f = readTestCase ("void", "tearDown", desc)) != NULL)
        {
          ccunit_err ("%s:%lu: missing test fixture start comment '%s': ignored",
                      line.fname, line.lno, line.str);
@@ -722,6 +726,7 @@ static void readSuite (_CCUnitTestSuiteDef* suite)
       else
        ;
     }
+  safe_free (doc);
   safe_free (desc);
 }