Message ID | 20210520075236.44723-11-eesposit@redhat.com |
---|---|
State | New |
Headers | show |
Series | qemu_iotests: improve debugging options | expand |
20.05.2021 10:52, Emanuele Giuseppe Esposito wrote: > As with gdbserver, valgrind delays the test execution, so > the default QMP socket timeout timeout too soon. First, "Timeout" class is a generic class for timeouts, not relying to sockets. So, commit message lacks information about that we modify generic context-provider class and why we do it. > > Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> > --- > tests/qemu-iotests/iotests.py | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py > index 41462a80fc..5d75094ba6 100644 > --- a/tests/qemu-iotests/iotests.py > +++ b/tests/qemu-iotests/iotests.py > @@ -489,12 +489,12 @@ def __init__(self, seconds, errmsg="Timeout"): > self.seconds = seconds > self.errmsg = errmsg > def __enter__(self): > - if not qemu_gdb: > + if not (qemu_gdb or qemu_valgrind): > signal.signal(signal.SIGALRM, self.timeout) > signal.setitimer(signal.ITIMER_REAL, self.seconds) > return self > def __exit__(self, exc_type, value, traceback): > - if not qemu_gdb: > + if not (qemu_gdb or qemu_valgrind): If you follow my suggestion on 05, you'll have to modify only one line instead of two. > signal.setitimer(signal.ITIMER_REAL, 0) > return False > def timeout(self, signum, frame): > @@ -589,7 +589,7 @@ class VM(qtest.QEMUQtestMachine): > > def __init__(self, path_suffix=''): > name = "qemu%s-%d" % (path_suffix, os.getpid()) > - timer = 15.0 if not qemu_gdb else None > + timer = 15.0 if not (qemu_gdb or qemu_valgrind) else None > super().__init__(qemu_prog, qemu_opts, wrapper=qemu_gdb, > name=name, > test_dir=test_dir, > still it should work as intended: Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 41462a80fc..5d75094ba6 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -489,12 +489,12 @@ def __init__(self, seconds, errmsg="Timeout"): self.seconds = seconds self.errmsg = errmsg def __enter__(self): - if not qemu_gdb: + if not (qemu_gdb or qemu_valgrind): signal.signal(signal.SIGALRM, self.timeout) signal.setitimer(signal.ITIMER_REAL, self.seconds) return self def __exit__(self, exc_type, value, traceback): - if not qemu_gdb: + if not (qemu_gdb or qemu_valgrind): signal.setitimer(signal.ITIMER_REAL, 0) return False def timeout(self, signum, frame): @@ -589,7 +589,7 @@ class VM(qtest.QEMUQtestMachine): def __init__(self, path_suffix=''): name = "qemu%s-%d" % (path_suffix, os.getpid()) - timer = 15.0 if not qemu_gdb else None + timer = 15.0 if not (qemu_gdb or qemu_valgrind) else None super().__init__(qemu_prog, qemu_opts, wrapper=qemu_gdb, name=name, test_dir=test_dir,
As with gdbserver, valgrind delays the test execution, so the default QMP socket timeout timeout too soon. Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> --- tests/qemu-iotests/iotests.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)