Skip to content

Commit

Permalink
acpi/tests/avocado/bits: wait for 200 seconds for SHUTDOWN event from…
Browse files Browse the repository at this point in the history
… bits VM

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>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20240117042556.3360190-1-anisinha@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 7ef4c41)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
  • Loading branch information
ani-sinha authored and Michael Tokarev committed Jan 24, 2024
1 parent 003d0c7 commit 5e4e438
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions tests/avocado/acpi-bits.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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()

0 comments on commit 5e4e438

Please sign in to comment.