diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-05-17 10:02:42 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-05-17 10:02:42 -0400 |
commit | 4941015cd05ff771249b65e7ecab07a20ab1a5a3 (patch) | |
tree | d4ab901e4694317711b3fd5c4068048c1d3516c2 /include/junitxml.h | |
parent | 029ddc1fdf4002b23a8471ad8f762a843059e141 (diff) | |
download | ohmycal-4941015cd05ff771249b65e7ecab07a20ab1a5a3.tar.gz |
junitxml: add missing "error" type
Diffstat (limited to 'include/junitxml.h')
-rw-r--r-- | include/junitxml.h | 67 |
1 files changed, 49 insertions, 18 deletions
diff --git a/include/junitxml.h b/include/junitxml.h index 430b627..290ce6f 100644 --- a/include/junitxml.h +++ b/include/junitxml.h @@ -1,54 +1,86 @@ -// @file junitxml.h +/// @file junitxml.h #ifndef OMC_JUNITXML_H #define OMC_JUNITXML_H #include <libxml/xmlreader.h> +#define JUNIT_RESULT_STATE_NONE 0 +#define JUNIT_RESULT_STATE_FAILURE 1 +#define JUNIT_RESULT_STATE_SKIPPED 2 +#define JUNIT_RESULT_STATE_ERROR 2 + +/** + * Represents a failed test case + */ struct JUNIT_Failure { + /// Error text + char *message; +}; + +/** + * Represents a test case error + */ +struct JUNIT_Error { + /// Error text char *message; }; +/** + * Represents a skipped test case + */ struct JUNIT_Skipped { + /// Type of skip event char *type; + /// Reason text char *message; }; -#define JUNIT_RESULT_STATE_NONE 0 -#define JUNIT_RESULT_STATE_FAILURE 1 -#define JUNIT_RESULT_STATE_SKIPPED 2 +/** + * Represents a junit test case + */ struct JUNIT_Testcase { + /// Class name char *classname; + /// Name of test char *name; + /// Test duration in fractional seconds float time; + /// Standard output message char *message; + /// Result type int tc_result_state_type; + /// Type container for result (there can only be one) union tc_state_ptr { struct JUNIT_Failure *failure; struct JUNIT_Skipped *skipped; - } result_state; + struct JUNIT_Error *error; + } result_state; ///< Result data }; +/** + * Represents a junit test suite + */ struct JUNIT_Testsuite { - //< Test suite name + /// Test suite name char *name; - //< Total number of test terminated due to an error + /// Total number of test terminated due to an error int errors; - //< Total number of failed tests + /// Total number of failed tests int failures; - //< Total number of skipped tests + /// Total number of skipped tests int skipped; - //< Total number of tests + /// Total number of tests int tests; - //< Total duration in fractional seconds + /// Total duration in fractional seconds float time; - //< Timestamp + /// Timestamp char *timestamp; - //< Test runner host name + /// Test runner host name char *hostname; - //< Array of test cases + /// Array of test cases struct JUNIT_Testcase **testcase; - //< Total number of test cases in use + /// Total number of test cases in use size_t _tc_inuse; - //< Total number of test cases allocated + /// Total number of test cases allocated size_t _tc_alloc; }; @@ -68,6 +100,7 @@ struct JUNIT_Testsuite { * for (size_t i = 0; i < testsuite->_tc_inuse; i++) { * // Check result state (one of) * // JUNIT_RESULT_STATE_FAILURE + * // JUNIT_RESULT_STATE_ERROR * // JUNIT_RESULT_STATE_SKIPPED * struct JUNIT_Testcase testcase = testsuite->testcase[i]; * if (testcase->tc_result_state_type) { @@ -86,8 +119,6 @@ struct JUNIT_Testsuite { * } else { * // handle error * } - * - * * ~~~ * * @param filename path to junit XML file |