Message ID | 20210315230838.2973103-3-f4bug@amsat.org |
---|---|
State | New |
Headers | show |
Series | tests/acceptance: Add bFLT loader linux-user test | expand |
Hi, On 3/15/21 8:08 PM, Philippe Mathieu-Daudé wrote: > Make pick_default_qemu_bin() generic to find qemu-system or > qemu-user binaries. > > Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > --- > tests/acceptance/avocado_qemu/__init__.py | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py > index 4f814047176..08b3fa1124f 100644 > --- a/tests/acceptance/avocado_qemu/__init__.py > +++ b/tests/acceptance/avocado_qemu/__init__.py > @@ -48,7 +48,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_fmt, arch=None): I suggest that bin_fmt defaults to "qemu-system-%" (or "qemu-system-", see below) so that you don't need to change the existing callers. > """ > Picks the path of a QEMU binary, starting either in the current working > directory or in the source tree root directory. > @@ -67,7 +67,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_fmt % arch) Above construct fails (unless I missed something): >>> bin_fmt="qemu-system-%" >>> arch="aarch64" >>> qemu_bin_relative_path = os.path.join(".", bin_fmt % arch) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: incomplete format Instead it could be "bin_prefix" where the value is either "qemu-system-" or "qemu-", then "arch" is just appended. > if is_readable_executable_file(qemu_bin_relative_path): > return qemu_bin_relative_path > > @@ -187,14 +187,14 @@ def require_accelerator(self, accelerator): > self.cancel("%s accelerator does not seem to be " > "available" % accelerator) > > - def setUp(self): > + def setUp(self, bin_fmt): > self.arch = self.params.get('arch', > default=self._get_unique_tag_val('arch')) > > self.machine = self.params.get('machine', > default=self._get_unique_tag_val('machine')) > > - default_qemu_bin = pick_default_qemu_bin(arch=self.arch) > + default_qemu_bin = pick_default_qemu_bin(bin_fmt, arch=self.arch) > self.qemu_bin = self.params.get('qemu_bin', > default=default_qemu_bin) > if self.qemu_bin is None: > @@ -217,7 +217,7 @@ def fetch_asset(self, name, > class Test(QemuBaseTest): > def setUp(self): > self._vms = {} > - super(Test, self).setUp() > + super(Test, self).setUp("qemu-system-%s") > > def _new_vm(self, *args): > self._sd = tempfile.TemporaryDirectory(prefix="avo_qemu_sock_")
diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py index 4f814047176..08b3fa1124f 100644 --- a/tests/acceptance/avocado_qemu/__init__.py +++ b/tests/acceptance/avocado_qemu/__init__.py @@ -48,7 +48,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_fmt, arch=None): """ Picks the path of a QEMU binary, starting either in the current working directory or in the source tree root directory. @@ -67,7 +67,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_fmt % arch) if is_readable_executable_file(qemu_bin_relative_path): return qemu_bin_relative_path @@ -187,14 +187,14 @@ def require_accelerator(self, accelerator): self.cancel("%s accelerator does not seem to be " "available" % accelerator) - def setUp(self): + def setUp(self, bin_fmt): self.arch = self.params.get('arch', default=self._get_unique_tag_val('arch')) self.machine = self.params.get('machine', default=self._get_unique_tag_val('machine')) - default_qemu_bin = pick_default_qemu_bin(arch=self.arch) + default_qemu_bin = pick_default_qemu_bin(bin_fmt, arch=self.arch) self.qemu_bin = self.params.get('qemu_bin', default=default_qemu_bin) if self.qemu_bin is None: @@ -217,7 +217,7 @@ def fetch_asset(self, name, class Test(QemuBaseTest): def setUp(self): self._vms = {} - super(Test, self).setUp() + super(Test, self).setUp("qemu-system-%s") def _new_vm(self, *args): self._sd = tempfile.TemporaryDirectory(prefix="avo_qemu_sock_")
Make pick_default_qemu_bin() generic to find qemu-system or qemu-user binaries. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- tests/acceptance/avocado_qemu/__init__.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)