[ CCUnit project page ] |  | [ CCUnit home page ]

Data Structures | Typedefs | Functions

# Creating TestSuite

Collaboration diagram for Creating TestSuite:

## Data Structures
struct | CCUnitTestSuite
| A `Composite` class of Tests. More...
## Typedefs
typedef struct CCUnitTestSuite | CCUnitTestSuite
| A `Composite` class of Tests.
## Functions
CCUnitTestSuite * | ccunit_suite (const char *name)
| Create a test suite from test source file.
int | main (int ac, char **av)
| To generate a test suite making source code.
int | ccunit_makeSuite (int ac, char **av)
| Generate a code to creating test suite code from the test func source codes.
int | ccunit_va_makeSuite (const char *prg,...)
| Generate a code to creating test suite code from the test func source codes.
CCUnitTestSuite * | ccunit_newTestSuite (const char *name)
| Constructs an empty TestSuite.
void | ccunit_deleteTestSuite (CCUnitTestSuite *suite)
| Destructs test suite.
void | ccunit_addTest (CCUnitTestSuite *suite, CCUnitTest *test)
| Adds a test to the suite.
void | ccunit_addTestSuite (CCUnitTestSuite *suite, CCUnitTestSuite *testSuite)
| Adds a test suite to the suite.
void | ccunit_addTestCase (CCUnitTestSuite *suite, CCUnitTestCase *testCase)
| Adds a test case to the suite.

## Detailed Description

See also:
  MakeSuite

## Typedef Documentation

typedef struct CCUnitTestSuite CCUnitTestSuite

A `Composite` class of Tests.

It runs a collection of test case or suite. Here is an example.

     CCUnitTestSuite* suite = ccunit_newTestSuite ("a test suite");
     ccunit_addTestCase (suite, TESTCASE);
     ccunit_addTestSuite (suite, TESTSUITE);

See also:
  CCUnitTest, CCUnitTestCase.

## Function Documentation

void ccunit_addTest | ( | CCUnitTestSuite * | suite,
|  | CCUnitTest * | test |
| ) |  |  | `[inline]`

Adds a test to the suite.

Parameters:

  | suite | test suite.
  | test | test to add.

void ccunit_addTestCase | ( | CCUnitTestSuite * | suite,
|  | CCUnitTestCase * | testCase |
| ) |  |  | `[inline]`

Adds a test case to the suite.

Parameters:

  | suite | test suite.
  | testCase | test case to add.

void ccunit_addTestSuite | ( | CCUnitTestSuite * | suite,
|  | CCUnitTestSuite * | testSuite |
| ) |  |  | `[inline]`

Adds a test suite to the suite.

Parameters:

  | suite | test suite.
  | testSuite | test to add.

void ccunit_deleteTestSuite | ( | CCUnitTestSuite * | suite | ) | `[inline]`

Destructs test suite.

Parameters:

  | suite | deleting suite.

int ccunit_makeSuite | ( | int | ac,
|  | char ** | av |
| ) |  |  |

Generate a code to creating test suite code from the test func source codes.

Parameters:

  | ac | arg count.
  | av | array of arg string.

     av[] = { PRORGNAME, [OPTIONS]..., FILES... }
     OPTIONS:
          --output OUTFILE
          -o OUTFILE
              output file name (default stdout)
          --function FUNCTION
          -f FUNCTION
              creating function name
          --verbose
          -v
              output verbose message
          --debug
          -d
              output debug message
          --version
          -V
              print version
          --help
          -h
              print this message
     FILES: the special name '-' means input from stdin.

To generate a code, the test case source codes must be formatted by following pseudo-BNF:

     SOURCEFILE ::= [SUITE]... | TESTCASE...

     SUITE ::= SUITE_HEADER
               [ any-C-code ]...
               TESTCASE...
               SUITE_END

     SUITE_HEADER ::= JAVADOC_COMMENT_BEGIN 'test suite:' SUITE_NAME COMMENT_END
     SUITE_END ::= JAVADOC_COMMENT_BEGIN 'end test suite' wsp string COMMENT_END

     TESTCASE ::= TESTCASE_HEADER
                 [TESTCASE_CODE]...
                 [TESTFUNC]...
                 TESTCASE_END

     TESTCASE_HEADER ::= JAVADOC_COMMENT_BEGIN
                        'test case:' TESTCASE_NAME
                        COMMENT_END
     TESTCASE_CODE ::= any C language codes.

     TESTFUNC ::= [ FUNC_DESC ] 'void ' FUNC_PREFIX[A-Za-z0-9_]* '()' FUNC_BODY

     FUNC_PREFIX ::= 'test' | 'setUp' | 'tearDown' | 'setup_setUp' | 'setup_tearDown'

     TESTCASE_END ::= JAVADOC_COMMENT_BEGIN 'end test case ' [string] COMMENT_END

     FUNC_DESC ::= JAVADOC_COMMENT_BEGIN string COMMENT_END

     FUNC_BODY ::= '{' C language codes... '}'

     JAVADOC_COMMENT_BEGIN ::= '/' '*' '*'
     COMMENT_END ::= '*' '/'

Returns:
  0 if succeeded, else error occured.

Referenced by main().

Here is the caller graph for this function:

CCUnitTestSuite * ccunit_newTestSuite | ( | const char * | name | ) | `[inline]`

Constructs an empty TestSuite.

Parameters:

  | name | test suite name.

Returns:
  new test suite.

CCUnitTestSuite* ccunit_suite | ( | const char * | name | ) |

Create a test suite from test source file.

Parameters:

  | name | test suite name.

Returns:
  new test suite.

int ccunit_va_makeSuite | ( | const char * | prg,
|  |  | ... |
| ) |  |  |

Generate a code to creating test suite code from the test func source codes.

Parameters:

  | prg | program name
  | ... | arguments. The last arg must be NULL.

Returns:
  0 if succeeded, else error occured.

See also:
  ccunit_makeSuite

int main | ( | int | ac,
|  | char ** | av |
| ) |  |  |

To generate a test suite making source code.

See also:
  ccunit_makeSuite

References ccunit_makeSuite().

Here is the call graph for this function:

| hosts this site. |  | Send comments to: CCUnit Developer |