]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
tests/acceptance: Add set_vm_arg() to the Test class
authorWainer dos Santos Moschetta <wainersm@redhat.com>
Fri, 30 Apr 2021 13:34:13 +0000 (10:34 -0300)
committerCleber Rosa <crosa@redhat.com>
Tue, 13 Jul 2021 17:35:26 +0000 (13:35 -0400)
The set_vm_arg method is added to avocado_qemu.Test class on this
change. Use that method to set (or replace) an argument to the list of
arguments given to the QEMU binary.

Suggested-by: Cleber Rosa <crosa@redhat.com>
Signed-off-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20210430133414.39905-7-wainersm@redhat.com>
Signed-off-by: Cleber Rosa <crosa@redhat.com>
tests/acceptance/avocado_qemu/__init__.py

index 3a218057b37ad77a8cb35542b1162613d81428f4..2c4fef3e1494e6c4cfced43c34a336e14152574b 100644 (file)
@@ -251,6 +251,27 @@ class Test(avocado.Test):
                 self._vms[name].set_machine(self.machine)
         return self._vms[name]
 
+    def set_vm_arg(self, arg, value):
+        """
+        Set an argument to list of extra arguments to be given to the QEMU
+        binary. If the argument already exists then its value is replaced.
+
+        :param arg: the QEMU argument, such as "-cpu" in "-cpu host"
+        :type arg: str
+        :param value: the argument value, such as "host" in "-cpu host"
+        :type value: str
+        """
+        if not arg or not value:
+            return
+        if arg not in self.vm.args:
+            self.vm.args.extend([arg, value])
+        else:
+            idx = self.vm.args.index(arg) + 1
+            if idx < len(self.vm.args):
+                self.vm.args[idx] = value
+            else:
+                self.vm.args.append(value)
+
     def tearDown(self):
         for vm in self._vms.values():
             vm.shutdown()