qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 2/5] tests/acceptance: Make pick_default_qemu_bin() more g


From: Wainer dos Santos Moschetta
Subject: Re: [PATCH v3 2/5] tests/acceptance: Make pick_default_qemu_bin() more generic
Date: Wed, 17 Mar 2021 10:32:33 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

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_")




reply via email to

[Prev in Thread] Current Thread [Next in Thread]