diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-12-22 18:07:29 -0500 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-12-22 18:07:29 -0500 |
commit | 4f7d8227615695c1bc8d7f9c6938df88fe084941 (patch) | |
tree | 0be42610274130a9b33c4391a116ca0d75dbdcd5 | |
parent | bc4853908d5d34e382f1fd7439625161a3d38f2c (diff) | |
download | stasis-4f7d8227615695c1bc8d7f9c6938df88fe084941.tar.gz |
indexer: Keep test reporting simple for now
-rw-r--r-- | src/cli/stasis_indexer/junitxml_report.c | 74 |
1 files changed, 41 insertions, 33 deletions
diff --git a/src/cli/stasis_indexer/junitxml_report.c b/src/cli/stasis_indexer/junitxml_report.c index a4e4626..15adec3 100644 --- a/src/cli/stasis_indexer/junitxml_report.c +++ b/src/cli/stasis_indexer/junitxml_report.c @@ -38,30 +38,35 @@ int indexer_junitxml_report(struct Delivery ctx[], const size_t nelem) { size_t no_printable_data = 0; size_t delivery_count = get_latest_rc(latest, latest_count); + for (size_t f = 0; f < strlist_count(file_listing); f++) { + char *filename = strlist_item(file_listing, f); for (size_t p = 0; p < strlist_count(platforms); p++) { char *platform = strlist_item(platforms, p); for (size_t a = 0; a < strlist_count(archs); a++) { char *arch = strlist_item(archs, a); - fprintf(indexfp, "## %s-%s\n\n", platform, arch); + //fprintf(indexfp, "## %s-%s\n\n", platform, arch); for (size_t d = 0; d < latest_count; d++) { struct Delivery *current = &ctx[d]; + if (!endswith(filename, ".xml") || !strstr(current->system.arch, arch) || + !strstr(current->system.platform[DELIVERY_PLATFORM_RELEASE], platform)) { + continue; + } + /* - if (current->meta.rc == (int) d + 1) { + if (current->meta.rc == (int) d + 1 && strcmp(current->system.arch, arch) != 0 && strcmp(current->system.platform[DELIVERY_PLATFORM_RELEASE], platform) != 0) { continue; } */ + if (!strstr(filename, current->info.release_name)) { + continue; + } fprintf(indexfp, "### %s\n", current->info.release_name); fprintf(indexfp, "\n|Suite|Duration|Total|Pass|Fail |Skip |Error |\n"); fprintf(indexfp, "|:----|:------:|:-----:|:----:|:------:|:---:|:----:|\n"); - for (size_t f = 0; f < strlist_count(file_listing); f++) { - char *filename = strlist_item(file_listing, f); - if (!endswith(filename, ".xml")) { - continue; - } char pattern[PATH_MAX] = {0}; snprintf(pattern, sizeof(pattern) - 1, "*%s*", current->info.release_name); @@ -70,10 +75,12 @@ int indexer_junitxml_report(struct Delivery ctx[], const size_t nelem) { struct JUNIT_Testsuite *testsuite = junitxml_testsuite_read(filename); if (testsuite) { if (globals.verbose) { - printf("%s: duration: %0.4f, total: %d, passed: %d, failed: %d, skipped: %d, errors: %d\n", filename, - testsuite->time, testsuite->tests, - testsuite->passed, testsuite->failures, - testsuite->skipped, testsuite->errors); + printf( + "%s: duration: %0.4f, total: %d, passed: %d, failed: %d, skipped: %d, errors: %d\n", + filename, + testsuite->time, testsuite->tests, + testsuite->passed, testsuite->failures, + testsuite->skipped, testsuite->errors); } char *bname_tmp = strdup(filename); @@ -106,26 +113,27 @@ int indexer_junitxml_report(struct Delivery ctx[], const size_t nelem) { for (size_t i = 0; i < testsuite->_tc_inuse; i++) { //if (testsuite->testcase[i]->tc_result_state_type) { - const char *type_str = NULL; - const int state = testsuite->testcase[i]->tc_result_state_type; - const char *message = NULL; - if (state == JUNIT_RESULT_STATE_FAILURE) { - message = testsuite->testcase[i]->result_state.failure->message; - type_str = "[FAILED]"; - } else if (state == JUNIT_RESULT_STATE_ERROR) { - message = testsuite->testcase[i]->result_state.error->message; - type_str = "[ERROR]"; - } else if (state == JUNIT_RESULT_STATE_SKIPPED) { - message = testsuite->testcase[i]->result_state.skipped->message; - type_str = "[SKIPPED]"; - } else { - message = testsuite->testcase[i]->message ? testsuite->testcase[i]->message : ""; - type_str = "[PASSED]"; - } - fprintf(resultfp, "### %s %s :: %s\n", type_str, - testsuite->testcase[i]->classname, testsuite->testcase[i]->name); - fprintf(resultfp, "\nDuration: %0.04fs\n", testsuite->testcase[i]->time); - fprintf(resultfp, "\n```\n%s\n```\n", message); + const char *type_str = NULL; + const int state = testsuite->testcase[i]->tc_result_state_type; + const char *message = NULL; + if (state == JUNIT_RESULT_STATE_FAILURE) { + message = testsuite->testcase[i]->result_state.failure->message; + type_str = "[FAILED]"; + } else if (state == JUNIT_RESULT_STATE_ERROR) { + message = testsuite->testcase[i]->result_state.error->message; + type_str = "[ERROR]"; + } else if (state == JUNIT_RESULT_STATE_SKIPPED) { + message = testsuite->testcase[i]->result_state.skipped->message; + type_str = "[SKIPPED]"; + } else { + message = testsuite->testcase[i]->message ? testsuite->testcase[i]->message + : ""; + type_str = "[PASSED]"; + } + fprintf(resultfp, "### %s %s :: %s\n", type_str, + testsuite->testcase[i]->classname, testsuite->testcase[i]->name); + fprintf(resultfp, "\nDuration: %0.04fs\n", testsuite->testcase[i]->time); + fprintf(resultfp, "\n```\n%s\n```\n", message); //} } junitxml_testsuite_free(&testsuite); @@ -140,12 +148,12 @@ int indexer_junitxml_report(struct Delivery ctx[], const size_t nelem) { no_printable_data = 1; } } - } } fprintf(indexfp, "\n"); no_printable_data = 0; } - fprintf(indexfp, "\n"); + } + fprintf(indexfp, "\n"); } guard_strlist_free(&archs); guard_strlist_free(&platforms); |