Message ID | 20191104151323.9883-3-crosa@redhat.com |
---|---|
State | New |
Headers | show |
Series | Acceptance test: Add "boot_linux" acceptance test | expand |
On 11/4/19 4:13 PM, Cleber Rosa wrote: > Currently a test can describe the target architecture binary that it > should primarily be run with, be setting a single tag value. > > The same approach is expected to be done with other QEMU aspects to be > tested, for instance, the machine type and accelerator, so let's > generalize the logic into a utility method. > > Signed-off-by: Cleber Rosa <crosa@redhat.com> > --- > tests/acceptance/avocado_qemu/__init__.py | 19 +++++++++++++------ > 1 file changed, 13 insertions(+), 6 deletions(-) > > diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py > index 9a57c020d8..e676d9c4e7 100644 > --- a/tests/acceptance/avocado_qemu/__init__.py > +++ b/tests/acceptance/avocado_qemu/__init__.py > @@ -100,14 +100,21 @@ def exec_command_and_wait_for_pattern(test, command, > > > class Test(avocado.Test): > + def _get_unique_tag_val(self, tag_name): > + """ > + Gets a tag value, if unique for a key 'Get'? > + """ > + vals = self.tags.get(tag_name, []) > + if len(vals) == 1: > + return vals.pop() > + return None > + > def setUp(self): > self._vms = {} > - arches = self.tags.get('arch', []) > - if len(arches) == 1: > - arch = arches.pop() > - else: > - arch = None > - self.arch = self.params.get('arch', default=arch) > + > + self.arch = self.params.get('arch', > + default=self._get_unique_tag_val('arch')) > + > default_qemu_bin = pick_default_qemu_bin(arch=self.arch) > self.qemu_bin = self.params.get('qemu_bin', > default=default_qemu_bin) > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
On Fri, Nov 08, 2019 at 02:14:58PM +0100, Philippe Mathieu-Daudé wrote: > On 11/4/19 4:13 PM, Cleber Rosa wrote: > > Currently a test can describe the target architecture binary that it > > should primarily be run with, be setting a single tag value. > > > > The same approach is expected to be done with other QEMU aspects to be > > tested, for instance, the machine type and accelerator, so let's > > generalize the logic into a utility method. > > > > Signed-off-by: Cleber Rosa <crosa@redhat.com> > > --- > > tests/acceptance/avocado_qemu/__init__.py | 19 +++++++++++++------ > > 1 file changed, 13 insertions(+), 6 deletions(-) > > > > diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py > > index 9a57c020d8..e676d9c4e7 100644 > > --- a/tests/acceptance/avocado_qemu/__init__.py > > +++ b/tests/acceptance/avocado_qemu/__init__.py > > @@ -100,14 +100,21 @@ def exec_command_and_wait_for_pattern(test, command, > > class Test(avocado.Test): > > + def _get_unique_tag_val(self, tag_name): > > + """ > > + Gets a tag value, if unique for a key > > 'Get'? > Not sure what's better, I was thinking along the lines that *this method* gets (one) a tag value... But you may be right. - Cleber.
diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py index 9a57c020d8..e676d9c4e7 100644 --- a/tests/acceptance/avocado_qemu/__init__.py +++ b/tests/acceptance/avocado_qemu/__init__.py @@ -100,14 +100,21 @@ def exec_command_and_wait_for_pattern(test, command, class Test(avocado.Test): + def _get_unique_tag_val(self, tag_name): + """ + Gets a tag value, if unique for a key + """ + vals = self.tags.get(tag_name, []) + if len(vals) == 1: + return vals.pop() + return None + def setUp(self): self._vms = {} - arches = self.tags.get('arch', []) - if len(arches) == 1: - arch = arches.pop() - else: - arch = None - self.arch = self.params.get('arch', default=arch) + + self.arch = self.params.get('arch', + default=self._get_unique_tag_val('arch')) + default_qemu_bin = pick_default_qemu_bin(arch=self.arch) self.qemu_bin = self.params.get('qemu_bin', default=default_qemu_bin)
Currently a test can describe the target architecture binary that it should primarily be run with, be setting a single tag value. The same approach is expected to be done with other QEMU aspects to be tested, for instance, the machine type and accelerator, so let's generalize the logic into a utility method. Signed-off-by: Cleber Rosa <crosa@redhat.com> --- tests/acceptance/avocado_qemu/__init__.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-)