def __init__(self, read, dut):
super(IDFRecvThread, self).__init__(read, dut)
self.exceptions = _queue.Queue()
- self.performances = _queue.Queue()
+ self.performance_items = _queue.Queue()
def collect_performance(self, comp_data):
matches = self.PERFORMANCE_PATTERN.findall(comp_data)
for match in matches:
Utility.console_log("[Performance][{}]: {}".format(match[0], match[1]),
color="orange")
- self.performances.put((match[0], match[1]))
+ self.performance_items.put((match[0], match[1]))
def detect_exception(self, comp_data):
for pattern in self.EXCEPTION_PATTERNS:
super(IDFDUT, self).__init__(name, port, log_file, app, **kwargs)
self.allow_dut_exception = allow_dut_exception
self.exceptions = _queue.Queue()
- self.performances = _queue.Queue()
+ self.performance_items = _queue.Queue()
@classmethod
def get_mac(cls, app, port):
def stop_receive(self):
if self.receive_thread:
- for name in ["performances", "exceptions"]:
+ for name in ["performance_items", "exceptions"]:
source_queue = getattr(self.receive_thread, name)
dest_queue = getattr(self, name)
self._queue_copy(source_queue, dest_queue)
:return: a list of performance items.
"""
- return self._get_from_queue("performances")
+ return self._get_from_queue("performance_items")
def close(self):
super(IDFDUT, self).close()
Utility.console_log("Download finished, start running test cases", "O")
for one_case in case_config[ut_config]:
+ performance_items = []
# create junit report test case
junit_test_case = TinyFW.JunitReport.create_test_case("[{}] {}".format(ut_config, one_case["name"]))
try:
run_one_normal_case(dut, one_case, junit_test_case)
+ performance_items = dut.get_performance_items()
except TestCaseFailed:
failed_cases.append(one_case["name"])
except Exception as e:
junit_test_case.add_failure_info("Unexpected exception: " + str(e))
failed_cases.append(one_case["name"])
finally:
+ TinyFW.JunitReport.update_performance(performance_items)
TinyFW.JunitReport.test_case_finish(junit_test_case)
# raise exception if any case fails
if not result:
junit_test_case.add_failure_info(output)
+
+ # collect performances from DUTs
+ performance_items = []
+ for dut_name in duts:
+ performance_items.extend(duts[dut_name].get_performance_items())
+ TinyFW.JunitReport.update_performance(performance_items)
+
return result
dut.start_app()
for one_case in case_config[ut_config]:
+ performance_items = []
junit_test_case = TinyFW.JunitReport.create_test_case("[{}] {}".format(ut_config, one_case["name"]))
try:
run_one_multiple_stage_case(dut, one_case, junit_test_case)
+ performance_items = dut.get_performance_items()
except TestCaseFailed:
failed_cases.append(one_case["name"])
except Exception as e:
junit_test_case.add_failure_info("Unexpected exception: " + str(e))
failed_cases.append(one_case["name"])
finally:
+ TinyFW.JunitReport.update_performance(performance_items)
TinyFW.JunitReport.test_case_finish(junit_test_case)
# raise exception if any case fails