tests/avocado: Make pick_default_qemu_bin() more generic

Make pick_default_qemu_bin() generic to find qemu-system or
qemu-user binaries.

Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20211105143416.148332-3-f4bug@amsat.org>
This commit is contained in:
Philippe Mathieu-Daudé 2021-02-14 18:59:09 +01:00 committed by Philippe Mathieu-Daudé
parent 3982feb476
commit 9112d4fd49

View File

@ -45,7 +45,7 @@ def is_readable_executable_file(path):
return os.path.isfile(path) and os.access(path, os.R_OK | os.X_OK)
def pick_default_qemu_bin(arch=None):
def pick_default_qemu_bin(bin_prefix='qemu-system-', arch=None):
"""
Picks the path of a QEMU binary, starting either in the current working
directory or in the source tree root directory.
@ -64,7 +64,7 @@ def pick_default_qemu_bin(arch=None):
# qemu binary path does not match arch for powerpc, handle it
if 'ppc64le' in arch:
arch = 'ppc64'
qemu_bin_relative_path = "./qemu-system-%s" % arch
qemu_bin_relative_path = os.path.join(".", bin_prefix + arch)
if is_readable_executable_file(qemu_bin_relative_path):
return qemu_bin_relative_path
@ -179,14 +179,14 @@ class QemuBaseTest(avocado.Test):
return vals.pop()
return None
def setUp(self):
def setUp(self, bin_prefix):
self.arch = self.params.get('arch',
default=self._get_unique_tag_val('arch'))
self.cpu = self.params.get('cpu',
default=self._get_unique_tag_val('cpu'))
default_qemu_bin = pick_default_qemu_bin(arch=self.arch)
default_qemu_bin = pick_default_qemu_bin(bin_prefix, arch=self.arch)
self.qemu_bin = self.params.get('qemu_bin',
default=default_qemu_bin)
if self.qemu_bin is None:
@ -214,7 +214,7 @@ class Test(QemuBaseTest):
def setUp(self):
self._vms = {}
super().setUp()
super().setUp('qemu-system-')
self.machine = self.params.get('machine',
default=self._get_unique_tag_val('machine'))