Include test and suite times in XML test output.
Change-Id: I5eb48e32bf00ee7f12ec9b0a1d368f97d0b36bb5
diff --git a/test/hftest/hftest.py b/test/hftest/hftest.py
index 77dd45d..25e1a86 100755
--- a/test/hftest/hftest.py
+++ b/test/hftest/hftest.py
@@ -31,6 +31,7 @@
import re
import subprocess
import sys
+import time
HFTEST_LOG_PREFIX = "[hftest] "
HFTEST_LOG_FAILURE_PREFIX = "Failure:"
@@ -466,16 +467,19 @@
tests_run = 0
tests_failed = 0
tests_skipped = 0
+ start_time = time.perf_counter()
for i in it:
sub_result = fn(i)
assert(sub_result.tests_run >= sub_result.tests_failed)
tests_run += sub_result.tests_run
tests_failed += sub_result.tests_failed
tests_skipped += sub_result.tests_skipped
+ elapsed_time = time.perf_counter() - start_time
xml_node.set("tests", str(tests_run + tests_skipped))
xml_node.set("failures", str(tests_failed))
xml_node.set("skipped", str(tests_skipped))
+ xml_node.set("time", str(elapsed_time))
return TestRunnerResult(tests_run, tests_failed, tests_skipped)
def is_passed_test(self, test_out):
@@ -530,10 +534,14 @@
test_xml.set("status", "run")
+ start_time = time.perf_counter()
out = self.driver.run(
log_name, "run {} {}".format(suite["name"], test["name"]),
test["is_long_running"] or self.force_long_running)
hftest_out = self.extract_hftest_lines(out)
+ elapsed_time = time.perf_counter() - start_time
+
+ test_xml.set("time", str(elapsed_time))
system_out_xml = ET.SubElement(test_xml, "system-out")
system_out_xml.text = out