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 | |
| parent | 029ddc1fdf4002b23a8471ad8f762a843059e141 (diff) | |
| download | stasis-4941015cd05ff771249b65e7ecab07a20ab1a5a3.tar.gz | |
junitxml: add missing "error" type
Diffstat (limited to 'include')
| -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 | 
