qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 10/15] qemu_iotests: extent QMP socket timeout when using


From: Max Reitz
Subject: Re: [PATCH v3 10/15] qemu_iotests: extent QMP socket timeout when using valgrind
Date: Fri, 30 Apr 2021 15:02:42 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1

On 14.04.21 19:03, Emanuele Giuseppe Esposito wrote:
As with gdbserver, valgrind delays the test execution, so
the default QMP socket timeout timeout too soon.

I’m curious: The default timeouts should be long enough for slow systems, too, though (e.g. heavily-loaded CI systems). I would expect that valgrind is used on developer systems where there is more leeway, so the timeouts should still work.

But in practice, thinking about that doesn’t matter. If valgrind leads to a timeout being hit, that wouldn’t be nice. OTOH, if you run valgrind to debug a test/qemu, you don’t particularly care about the timeouts anyway.

So in principle, this patch sounds good to me, it’s just that it’s based on patch 5, which I don’t fully agree with.

Max

Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
  python/qemu/machine.py        | 2 +-
  tests/qemu-iotests/iotests.py | 4 ++--
  2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/python/qemu/machine.py b/python/qemu/machine.py
index d6142271c2..dce96e1858 100644
--- a/python/qemu/machine.py
+++ b/python/qemu/machine.py
@@ -410,7 +410,7 @@ def _launch(self) -> None:
                                         shell=False,
                                         close_fds=False)
- if 'gdbserver' in self._wrapper:
+        if 'gdbserver' in self._wrapper or 'valgrind' in self._wrapper:
              self._qmp_timer = None
          self._post_launch()
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index a2e8604674..94597433fa 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -489,7 +489,7 @@ def log(msg: Msg,
class Timeout:
      def __init__(self, seconds, errmsg="Timeout"):
-        if qemu_gdb:
+        if qemu_gdb or qemu_valgrind:
              self.seconds = 3000
          else:
              self.seconds = seconds
@@ -700,7 +700,7 @@ def qmp_to_opts(self, obj):
          return ','.join(output_list)
def get_qmp_events(self, wait: bool = False) -> List[QMPMessage]:
-        if qemu_gdb:
+        if qemu_gdb or qemu_valgrind:
              wait = 0.0
          return super().get_qmp_events(wait=wait)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]