qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v1 2/2] tests/vm: pass --genisoimage to basevm script


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH v1 2/2] tests/vm: pass --genisoimage to basevm script
Date: Fri, 15 May 2020 19:32:51 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 5/15/20 7:28 PM, Alex Bennée wrote:
If we have an alternative to genisoimage we really need to tell the
script about it as well so it can use it. It will still default to
genisoimage in case it is run outside our build machinery.

Maybe worth mentioning it is a follow-up to commit 39d87c8c0c1.


Signed-off-by: Alex Bennée <address@hidden>
---
  tests/vm/Makefile.include |  1 +
  tests/vm/basevm.py        | 16 ++++++++++------
  2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/tests/vm/Makefile.include b/tests/vm/Makefile.include
index 1bf9693d195..74ab522c55d 100644
--- a/tests/vm/Makefile.include
+++ b/tests/vm/Makefile.include
@@ -56,6 +56,7 @@ $(IMAGES_DIR)/%.img:  $(SRC_PATH)/tests/vm/% \
        $(call quiet-command, \
                $(PYTHON) $< \
                $(if $(V)$(DEBUG), --debug) \
+               $(if $(GENISOIMAGE),--genisoimage $(GENISOIMAGE)) \
                --image "$@" \
                --force \
                --build-image $@, \
diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py
index 756ccf7acae..a2d4054d72b 100644
--- a/tests/vm/basevm.py
+++ b/tests/vm/basevm.py
@@ -61,8 +61,9 @@ class BaseVM(object):
      # 4 is arbitrary, but greater than 2,
      # since we found we need to wait more than twice as long.
      tcg_ssh_timeout_multiplier = 4
-    def __init__(self, debug=False, vcpus=None):
+    def __init__(self, debug=False, vcpus=None, genisoimage=None):
          self._guest = None
+        self._genisoimage = genisoimage
          self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-",
                                                           suffix=".tmp",
                                                           dir="."))
@@ -381,12 +382,12 @@ class BaseVM(object):
              udata.writelines(["apt:\n",
                                "  proxy: %s" % proxy])
          udata.close()
-        subprocess.check_call(["genisoimage", "-output", "cloud-init.iso",
+        subprocess.check_call([self._genisoimage, "-output", "cloud-init.iso",
                                 "-volid", "cidata", "-joliet", "-rock",
                                 "user-data", "meta-data"],
-                               cwd=cidir,
-                               stdin=self._devnull, stdout=self._stdout,
-                               stderr=self._stdout)
+                              cwd=cidir,
+                              stdin=self._devnull, stdout=self._stdout,
+                              stderr=self._stdout)
return os.path.join(cidir, "cloud-init.iso") @@ -424,6 +425,8 @@ def parse_args(vmcls):
                        help="Interactively run command")
      parser.add_option("--snapshot", "-s", action="store_true",
                        help="run tests with a snapshot")
+    parser.add_option("--genisoimage", default="genisoimage",
+                      help="iso imaging tool")
      parser.disable_interspersed_args()
      return parser.parse_args()
@@ -435,7 +438,8 @@ def main(vmcls):
              return 1
          logging.basicConfig(level=(logging.DEBUG if args.debug
                                     else logging.WARN))
-        vm = vmcls(debug=args.debug, vcpus=args.jobs)
+        vm = vmcls(debug=args.debug, vcpus=args.jobs,
+                   genisoimage=args.genisoimage)
          if args.build_image:
              if os.path.exists(args.image) and not args.force:
                  sys.stderr.writelines(["Image file exists: %s\n" % args.image,


Reviewed-by: Philippe Mathieu-Daudé <address@hidden>




reply via email to

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