0001 #ifndef SUITE_INTERNAL_HEADER
0002 #define SUITE_INTERNAL_HEADER
0003
0004 #include "cgreen/unit.h"
0005
0006 #ifdef __cplusplus
0007 namespace cgreen {
0008 extern "C" {
0009 #endif
0010
0011
0012 enum {test_function, test_suite};
0013
0014 typedef struct TestSuite_ TestSuite;
0015
0016 typedef struct {
0017 int type;
0018 const char *name;
0019 union {
0020 CgreenTest *test;
0021 TestSuite *suite;
0022 } Runnable;
0023 } UnitTest;
0024
0025 struct TestSuite_ {
0026 const char *name;
0027 const char* filename;
0028 int line;
0029 UnitTest *tests;
0030 void (*setup)(void);
0031 void (*teardown)(void);
0032 int size;
0033 };
0034
0035 void do_nothing(void);
0036
0037 TestSuite *create_named_test_suite_(const char *name, const char *filename, int line);
0038 void add_test_(TestSuite *suite, const char *name, CgreenTest *test);
0039 void add_tests_(TestSuite *suite, const char *names, ...);
0040 void add_suite_(TestSuite *owner, const char *name, TestSuite *suite);
0041
0042 #ifdef __cplusplus
0043 }
0044 }
0045 #endif
0046
0047 #endif
0048