From 05c25bd7469f96a3256ac89f1e84503571bb8f96 Mon Sep 17 00:00:00 2001 From: Thomas Bernard Date: Mon, 17 Feb 2020 00:50:19 +0100 Subject: [PATCH] improve test-report.xml output --- src/tests/testmain.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/tests/testmain.c b/src/tests/testmain.c index 85967e16..85e299cd 100644 --- a/src/tests/testmain.c +++ b/src/tests/testmain.c @@ -32,6 +32,7 @@ #include #include #include +#include #if defined(WIN32) #include #endif @@ -212,26 +213,42 @@ int main(int argc, char * * argv) fprintf(xml, "\n", TEST_COUNT); for (i = 0; i < (int)TEST_COUNT; i++) { - fprintf(xml, " \n", tests[i].test_name, "GrafX2"); if (fail_early && fail > 0) + { + fprintf(xml, " \n", tests[i].test_name, "GrafX2"); fprintf(xml, " \n"); + } else { + long t; + struct timeval t0, t1; printf("Testing %s :\n", tests[i].test_name); errmsg[0] = '\0'; + gettimeofday(&t0, NULL); r[i] = tests[i].test_func(errmsg); + gettimeofday(&t1, NULL); + t = t1.tv_sec - t0.tv_sec; + if ((t1.tv_usec - t0.tv_usec) > 500000) + t++; + else if ((t1.tv_usec - t0.tv_usec) < -500000) + t--; + fprintf(xml, " \n"); printf(ESC_GREEN "OK" ESC_RESET "\n"); + } else { fprintf(stderr, ESC_RED "%s" ESC_RESET "\n", errmsg); printf(ESC_RED "FAILED" ESC_RESET "\n"); fail++; - fprintf(xml, " \n", + fprintf(xml, ">\n \n", errmsg); + fprintf(xml, " \n"); } } - fprintf(xml, " \n"); } fprintf(xml, "\n"); fclose(xml);