20.08.2020 17:23, Dr. David Alan Gilbert wrote:
* Eric Blake (ebl...@redhat.com) wrote:
On 8/18/20 8:32 AM, Max Reitz wrote:
Signed-off-by: Max Reitz <mre...@redhat.com>
---
tests/qemu-iotests/iotests.py | 4 ++++
1 file changed, 4 insertions(+)
Reviewed-by: Eric Blake <ebl...@redhat.com>
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 717b5b652c..ee93cf22db 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -833,6 +833,10 @@ class VM(qtest.QEMUQtestMachine):
'Found node %s under %s (but expected %s)' % \
(node['name'], path, expected_node)
+ def wait_for_runstate(self, runstate: str) -> None:
+ while self.qmp('query-status')['return']['status'] != runstate:
+ time.sleep(0.2)
This looks like it could inf-loop if we have a bug where the status never
changes as expected; but I guess CI bots have timeouts at higher layers that
would detect if such a bug sneaks in.
Although it might be useful to make sure when such a timeout lands, you
know which state you thought you were waiting for.
Dave
Timeout class is defined in iotests.py, so we can simply insert something like
... , timeout=60) -> None:
with Timeout(timeout, f"Timeout waiting for '{runstate}' runstate"):
...
--
Best regards,
Vladimir