summaryrefslogtreecommitdiff
path: root/runner
diff options
context:
space:
mode:
authorPiotr Kira <piotr.kira@intel.com>2023-11-30 16:09:23 +0100
committerKamil Konieczny <kamil.konieczny@linux.intel.com>2023-12-06 14:51:55 +0100
commit4c3f2b9a77ce4a583bf829eb88ed732f6a4fe140 (patch)
treeea9c10e2e08373aae8057531b6dc27c9a4717fb1 /runner
parentd5b226de5da39b050c4d19f40caf52b0cd791b4e (diff)
runner/resultgen: Fix subtest runtimes
Runtimes for single subtest are not included in results json object after switching to socket communication. Make times for both subtests and dynamic subtests when using comms. v2: added GitLab issue number, added Petri to Cc (Kamil) reformat so it could be applied (Kamil) Cc: Petri Latvala <adrinael@adrinael.net> Fixes: 9d889fa6b8f0 ("runner: Use socket communications") Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/132 Signed-off-by: Piotr Kira <piotr.kira@intel.com> Signed-off-by: Kamil Konieczny <kamil.konieczny@linux.intel.com> Reviewed-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Diffstat (limited to 'runner')
-rw-r--r--runner/resultgen.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/runner/resultgen.c b/runner/resultgen.c
index b00bb6ba5..63f5b26d7 100644
--- a/runner/resultgen.c
+++ b/runner/resultgen.c
@@ -1262,6 +1262,9 @@ struct comms_context
char *subtestresult;
char *dynamicsubtestresult;
+ double subtest_execution_time;
+ double dynamic_subtest_execution_time;
+
char *cmdline;
int exitcode;
@@ -1321,6 +1324,7 @@ static void comms_finish_subtest(struct comms_context *context)
if (context->subtestresult == NULL)
context->subtestresult = strdup("incomplete");
set_result(context->current_test, context->subtestresult);
+ add_runtime(context->current_test, context->subtest_execution_time);
free(context->subtestresult);
context->subtestresult = NULL;
@@ -1343,6 +1347,7 @@ static void comms_finish_dynamic_subtest(struct comms_context *context)
if (context->dynamicsubtestresult == NULL)
context->dynamicsubtestresult = strdup("incomplete");
set_result(context->current_dynamic_subtest, context->dynamicsubtestresult);
+ add_runtime(context->current_dynamic_subtest, context->dynamic_subtest_execution_time);
free(context->dynamicsubtestresult);
context->dynamicsubtestresult = NULL;
@@ -1617,6 +1622,7 @@ static bool comms_handle_subtest_result(const struct runnerpacket *packet,
strlen(helper.subtestresult.result),
&mappedresult, NULL);
context->subtestresult = strdup(mappedresult);
+ context->subtest_execution_time = strtod(helper.subtestresult.timeused, NULL);
}
context->state = STATE_BETWEEN_SUBTESTS;
@@ -1757,6 +1763,7 @@ static bool comms_handle_dynamic_subtest_result(const struct runnerpacket *packe
strlen(helper.dynamicsubtestresult.result),
&mappedresult, NULL);
context->dynamicsubtestresult = strdup(mappedresult);
+ context->dynamic_subtest_execution_time = strtod(helper.dynamicsubtestresult.timeused, NULL);
}
context->state = STATE_BETWEEN_DYNAMIC_SUBTESTS;