[PATCH v2] acpi/tests/avocado/bits: wait for 200 seconds for SHUTDOWN event from bits VM

Ani Sinha posted 1 patch 10 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240117042556.3360190-1-anisinha@redhat.com
Maintainers: Ani Sinha <anisinha@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Cleber Rosa <crosa@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>
tests/avocado/acpi-bits.py | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
[PATCH v2] acpi/tests/avocado/bits: wait for 200 seconds for SHUTDOWN event from bits VM
Posted by Ani Sinha 10 months, 2 weeks ago
By default, the timeout to receive any specified event from the QEMU VM is 60
seconds set by the python avocado test framework. Please see event_wait() and
events_wait() in python/qemu/machine/machine.py. If the matching event is not
triggered within that interval, an asyncio.TimeoutError is generated. Since the
timeout for the bits avocado test is 200 secs, we need to make event_wait()
timeout of the same value as well so that an early timeout is not triggered by
the avocado framework.

CC: peter.maydell@linaro.org
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2077
Signed-off-by: Ani Sinha <anisinha@redhat.com>
---
 tests/avocado/acpi-bits.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

changelog:
v2: cosmetic comment updates in code and patch description.

diff --git a/tests/avocado/acpi-bits.py b/tests/avocado/acpi-bits.py
index 68b9e98d4e..efe4f52ee0 100644
--- a/tests/avocado/acpi-bits.py
+++ b/tests/avocado/acpi-bits.py
@@ -54,6 +54,8 @@
 deps = ["xorriso", "mformat"] # dependent tools needed in the test setup/box.
 supported_platforms = ['x86_64'] # supported test platforms.
 
+# default timeout of 120 secs is sometimes not enough for bits test.
+BITS_TIMEOUT = 200
 
 def which(tool):
     """ looks up the full path for @tool, returns None if not found
@@ -133,7 +135,7 @@ class AcpiBitsTest(QemuBaseTest): #pylint: disable=too-many-instance-attributes
 
     """
     # in slower systems the test can take as long as 3 minutes to complete.
-    timeout = 200
+    timeout = BITS_TIMEOUT
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -400,7 +402,8 @@ def test_acpi_smbios_bits(self):
 
         # biosbits has been configured to run all the specified test suites
         # in batch mode and then automatically initiate a vm shutdown.
-        # Rely on avocado's unit test timeout.
-        self._vm.event_wait('SHUTDOWN')
+        # Set timeout to BITS_TIMEOUT for SHUTDOWN event from bits VM at par
+        # with the avocado test timeout.
+        self._vm.event_wait('SHUTDOWN', timeout=BITS_TIMEOUT)
         self._vm.wait(timeout=None)
         self.parse_log()
-- 
2.39.2
Re: [PATCH v2] acpi/tests/avocado/bits: wait for 200 seconds for SHUTDOWN event from bits VM
Posted by Daniel P. Berrangé 10 months, 2 weeks ago
On Wed, Jan 17, 2024 at 09:55:56AM +0530, Ani Sinha wrote:
> By default, the timeout to receive any specified event from the QEMU VM is 60
> seconds set by the python avocado test framework. Please see event_wait() and
> events_wait() in python/qemu/machine/machine.py. If the matching event is not
> triggered within that interval, an asyncio.TimeoutError is generated. Since the
> timeout for the bits avocado test is 200 secs, we need to make event_wait()
> timeout of the same value as well so that an early timeout is not triggered by
> the avocado framework.
> 
> CC: peter.maydell@linaro.org
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2077
> Signed-off-by: Ani Sinha <anisinha@redhat.com>
> ---
>  tests/avocado/acpi-bits.py | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> changelog:
> v2: cosmetic comment updates in code and patch description.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Re: [PATCH v2] acpi/tests/avocado/bits: wait for 200 seconds for SHUTDOWN event from bits VM
Posted by Peter Maydell 10 months, 1 week ago
On Wed, 17 Jan 2024 at 09:43, Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> On Wed, Jan 17, 2024 at 09:55:56AM +0530, Ani Sinha wrote:
> > By default, the timeout to receive any specified event from the QEMU VM is 60
> > seconds set by the python avocado test framework. Please see event_wait() and
> > events_wait() in python/qemu/machine/machine.py. If the matching event is not
> > triggered within that interval, an asyncio.TimeoutError is generated. Since the
> > timeout for the bits avocado test is 200 secs, we need to make event_wait()
> > timeout of the same value as well so that an early timeout is not triggered by
> > the avocado framework.
> >
> > CC: peter.maydell@linaro.org
> > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2077
> > Signed-off-by: Ani Sinha <anisinha@redhat.com>
> > ---
> >  tests/avocado/acpi-bits.py | 9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> >
> > changelog:
> > v2: cosmetic comment updates in code and patch description.
>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

Thanks; I've applied this directly. Hopefully it will deal with
this intermittent for good.

-- PMM