qemu-iotests: extend QMP socket timeout when using valgrind

As with gdbserver, valgrind delays the test execution, so
the default QMP socket timeout and the generic class
Timeout in iotests.py timeouts too soon.

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-12-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
This commit is contained in:
Emanuele Giuseppe Esposito 2021-08-09 11:01:09 +02:00 committed by Hanna Reitz
parent a9b4c6bb64
commit d0c34326c8
1 changed files with 3 additions and 3 deletions

View File

@ -488,13 +488,13 @@ class Timeout:
self.seconds = seconds self.seconds = seconds
self.errmsg = errmsg self.errmsg = errmsg
def __enter__(self): def __enter__(self):
if qemu_gdb: if qemu_gdb or qemu_valgrind:
return self return self
signal.signal(signal.SIGALRM, self.timeout) signal.signal(signal.SIGALRM, self.timeout)
signal.setitimer(signal.ITIMER_REAL, self.seconds) signal.setitimer(signal.ITIMER_REAL, self.seconds)
return self return self
def __exit__(self, exc_type, value, traceback): def __exit__(self, exc_type, value, traceback):
if qemu_gdb: if qemu_gdb or qemu_valgrind:
return False return False
signal.setitimer(signal.ITIMER_REAL, 0) signal.setitimer(signal.ITIMER_REAL, 0)
return False return False
@ -590,7 +590,7 @@ class VM(qtest.QEMUQtestMachine):
def __init__(self, path_suffix=''): def __init__(self, path_suffix=''):
name = "qemu%s-%d" % (path_suffix, os.getpid()) 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, super().__init__(qemu_prog, qemu_opts, wrapper=qemu_gdb,
name=name, name=name,
base_temp_dir=test_dir, base_temp_dir=test_dir,