Back to home page

Enduro/X

 
 

    


0001 #ifndef REPORTER_HEADER
0002 #define REPORTER_HEADER
0003 
0004 #include <stdarg.h>
0005 #include <cgreen/breadcrumb.h>
0006 
0007 #ifdef __cplusplus
0008 namespace cgreen {
0009     extern "C" {
0010 #endif
0011 
0012 typedef struct TestReporter_ TestReporter;
0013 struct TestReporter_ {
0014     void (*destroy)(TestReporter *reporter);
0015     void (*start_suite)(TestReporter *reporter, const char *name, const int count);
0016     void (*start_test)(TestReporter *reporter, const char *name);
0017     void (*show_pass)(TestReporter *reporter, const char *file, int line, const char *message, va_list arguments);
0018     void (*show_fail)(TestReporter *reporter, const char *file, int line, const char *message, va_list arguments);
0019     void (*show_incomplete)(TestReporter *reporter, const char *file, int line, const char *message, va_list arguments);
0020     void (*assert_true)(TestReporter *reporter, const char *file, int line, int result, const char * message, ...);
0021     void (*finish_test)(TestReporter *reporter, const char *file, int line, const char *message);
0022     void (*finish_suite)(TestReporter *reporter, const char *file, int line);
0023     int passes;
0024     int failures;
0025     int exceptions;
0026     CgreenBreadcrumb *breadcrumb;
0027     int ipc;
0028     void *memo;
0029     void *options;
0030 };
0031 
0032 typedef void TestReportMemo;
0033 
0034 struct TestContext_ {
0035     TestReporter *reporter;
0036 };
0037 
0038 typedef struct TestContext_ TestContext;
0039 
0040 TestReporter *create_reporter(void);
0041 TestReporter *get_test_reporter(void);
0042 void set_reporter_options(TestReporter *reporter, void *options);
0043 void setup_reporting(TestReporter *reporter);
0044 void destroy_reporter(TestReporter *reporter);
0045 void destroy_memo(TestReportMemo *memo);
0046 void reporter_start(TestReporter *reporter, const char *name);
0047 void reporter_start_suite(TestReporter *reporter, const char *name,
0048     const int count);
0049 void reporter_finish(TestReporter *reporter, const char *filename, int line, const char *message);
0050 void reporter_finish_suite(TestReporter *reporter, const char *filename, int line);
0051 void add_reporter_result(TestReporter *reporter, int result);
0052 void send_reporter_exception_notification(TestReporter *reporter);
0053 void send_reporter_completion_notification(TestReporter *reporter);
0054 
0055 #ifdef __cplusplus
0056     }
0057 }
0058 #endif
0059 
0060 #endif