Message ID | 20210408195237.3489296-7-wainersm@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/acceptance: Handle tests with "cpu" tag | expand |
On Thu, Apr 08, 2021 at 04:52:36PM -0300, Wainer dos Santos Moschetta wrote: > 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> > --- > tests/acceptance/avocado_qemu/__init__.py | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py > index 7f8e703757..5314ce70eb 100644 > --- a/tests/acceptance/avocado_qemu/__init__.py > +++ b/tests/acceptance/avocado_qemu/__init__.py > @@ -240,6 +240,22 @@ def get_vm(self, *args, name=None): > 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 arg not in self.vm.args: > + self.vm.args.extend([arg, value]) > + else: > + idx = self.vm.args.index(arg) > + self.vm.args[idx + 1] = value > + This assumes that the arg will have a value, but that's not always the case. And, even if you were to pass an empty string, the logic would overwrite the next (unrelated) arg. Regards, - Cleber.
diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py index 7f8e703757..5314ce70eb 100644 --- a/tests/acceptance/avocado_qemu/__init__.py +++ b/tests/acceptance/avocado_qemu/__init__.py @@ -240,6 +240,22 @@ def get_vm(self, *args, name=None): 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 arg not in self.vm.args: + self.vm.args.extend([arg, value]) + else: + idx = self.vm.args.index(arg) + self.vm.args[idx + 1] = value + def tearDown(self): for vm in self._vms.values(): vm.shutdown()
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> --- tests/acceptance/avocado_qemu/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)