tests/functional: Add hvf_available() helper

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-id: 20250623121845.7214-26-philmd@linaro.org
[PMM: tweaks to satisfy the python linter CI job]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2025-07-01 17:22:27 +01:00
parent f4b5fbeff6
commit 767df742fb
3 changed files with 20 additions and 3 deletions

View file

@ -23,13 +23,19 @@ import textwrap
from typing import Optional from typing import Optional
# pylint: disable=import-error # pylint: disable=import-error
from .accel import kvm_available, list_accel, tcg_available from .accel import (
hvf_available,
kvm_available,
list_accel,
tcg_available,
)
__all__ = ( __all__ = (
'VerboseProcessError', 'VerboseProcessError',
'add_visual_margin', 'add_visual_margin',
'get_info_usernet_hostfwd_port', 'get_info_usernet_hostfwd_port',
'hvf_available',
'kvm_available', 'kvm_available',
'list_accel', 'list_accel',
'tcg_available', 'tcg_available',

View file

@ -82,3 +82,12 @@ def tcg_available(qemu_bin: str) -> bool:
@param qemu_bin (str): path to the QEMU binary @param qemu_bin (str): path to the QEMU binary
""" """
return 'tcg' in list_accel(qemu_bin) return 'tcg' in list_accel(qemu_bin)
def hvf_available(qemu_bin: str) -> bool:
"""
Check if HVF is available.
@param qemu_bin (str): path to the QEMU binary
"""
return 'hvf' in list_accel(qemu_bin)

View file

@ -23,7 +23,7 @@ import unittest
import uuid import uuid
from qemu.machine import QEMUMachine from qemu.machine import QEMUMachine
from qemu.utils import kvm_available, tcg_available from qemu.utils import hvf_available, kvm_available, tcg_available
from .archive import archive_extract from .archive import archive_extract
from .asset import Asset from .asset import Asset
@ -317,7 +317,9 @@ class QemuSystemTest(QemuBaseTest):
:type accelerator: str :type accelerator: str
""" """
checker = {'tcg': tcg_available, checker = {'tcg': tcg_available,
'kvm': kvm_available}.get(accelerator) 'kvm': kvm_available,
'hvf': hvf_available,
}.get(accelerator)
if checker is None: if checker is None:
self.skipTest("Don't know how to check for the presence " self.skipTest("Don't know how to check for the presence "
"of accelerator %s" % accelerator) "of accelerator %s" % accelerator)