in lisa/runners/legacy_runner.py [0:0]
def _set_completed_results(self, completed_cases: List[Dict[str, str]]) -> None:
new_completed_cases = completed_cases[:]
not_matched_results = [
x
for x in self._results
if x.status not in [TestStatus.QUEUED, TestStatus.RUNNING]
]
# remove existing completed case
for completed_case in completed_cases:
for result in not_matched_results:
if self._is_matched_infomation(result, completed_case):
new_completed_cases.remove(completed_case)
not_matched_results.remove(result)
break
if not_matched_results:
self.log.error(
f"not matched should be empty, but {not_matched_results}, "
f"parsed completed cases: {[completed_cases]}"
)
# set new completed case information
running_results = [x for x in self._results if x.status == TestStatus.RUNNING]
not_matched_cases = new_completed_cases[:]
for completed_case in new_completed_cases:
for result in running_results:
if self._is_matched_infomation(result, completed_case):
# complete a case
self._set_result(
result,
information=completed_case,
)
# every running result just match one
running_results.remove(result)
not_matched_cases.remove(completed_case)
break
if not_matched_cases:
self.log.error(
f"found unmatched completed results: {not_matched_cases}, "
f"running results: {running_results}"
)