From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
We are going to use do_run_test() in multiprocessing environment, where
we'll not be able to change original runner object.
Happily, the only thing we change is that last_elapsed and it's simple
to do it in run_tests() instead. All other accesses to self in
do_runt_test() and in run_test() are read-only.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20211203122223.2780098-3-vsementsov@virtuozzo.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Tested-by: John Snow <jsnow@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
tests/qemu-iotests/testrunner.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/testrunner.py b/tests/qemu-iotests/testrunner.py
index fa842252d3..a9f2feb58c 100644
@@ -287,7 +287,6 @@ def do_run_test(self, test: str) -> TestResult:
diff=diff, casenotrun=casenotrun)
else:
f_bad.unlink()
- self.last_elapsed.update(test, elapsed)
return TestResult(status='pass', elapsed=elapsed,
casenotrun=casenotrun)
@@ -353,6 +352,9 @@ def run_tests(self, tests: List[str]) -> bool:
print('\n'.join(res.diff))
elif res.status == 'not run':
notrun.append(name)
+ elif res.status == 'pass':
+ assert res.elapsed is not None
+ self.last_elapsed.update(t, res.elapsed)
sys.stdout.flush()
if res.interrupted:
--
2.33.1