All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cleber Rosa <crosa@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Beraldo Leal" <bleal@redhat.com>,
	"Fabien Chouteau" <chouteau@adacore.com>,
	"KONRAD Frederic" <frederic.konrad@adacore.com>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Willian Rampazzo" <wrampazz@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	qemu-ppc@nongnu.org,
	"Aleksandar Rikalo" <aleksandar.rikalo@rt-rk.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>,
	"Eduardo Habkost" <ehabkost@redhat.com>
Subject: [PATCH v7 2/8] Acceptance tests: introduce utility method for tags unique vals
Date: Mon,  4 Nov 2019 10:13:17 -0500	[thread overview]
Message-ID: <20191104151323.9883-3-crosa@redhat.com> (raw)
In-Reply-To: <20191104151323.9883-1-crosa@redhat.com>

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
+        """
+        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)
-- 
2.21.0



  parent reply	other threads:[~2019-11-04 15:18 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-04 15:13 [PATCH v7 0/8] Acceptance test: Add "boot_linux" acceptance test Cleber Rosa
2019-11-04 15:13 ` [PATCH v7 1/8] Acceptance test x86_cpu_model_versions: use default vm Cleber Rosa
2019-11-04 18:22   ` Philippe Mathieu-Daudé
2019-11-04 15:13 ` Cleber Rosa [this message]
2019-11-08 13:14   ` [PATCH v7 2/8] Acceptance tests: introduce utility method for tags unique vals Philippe Mathieu-Daudé
2019-11-11 21:44     ` Cleber Rosa
2019-11-04 15:13 ` [PATCH v7 3/8] Acceptance tests: use avocado tags for machine type Cleber Rosa
2019-11-08 13:20   ` Philippe Mathieu-Daudé
2019-11-11 21:49     ` Cleber Rosa
2019-11-12 18:15       ` Philippe Mathieu-Daudé
2019-11-12  1:59     ` Cleber Rosa
2019-11-12 18:15       ` Philippe Mathieu-Daudé
2019-11-04 15:13 ` [PATCH v7 4/8] Acceptance tests: use relative location for tests Cleber Rosa
2019-11-04 18:26   ` Philippe Mathieu-Daudé
2019-11-11 22:11     ` Cleber Rosa
2019-11-12 18:17       ` Philippe Mathieu-Daudé
2019-11-07 18:52   ` Wainer dos Santos Moschetta
2019-11-04 15:13 ` [PATCH v7 5/8] Acceptance tests: keep a stable reference to the QEMU build dir Cleber Rosa
2019-11-07 19:22   ` Wainer dos Santos Moschetta
2019-11-11 22:38     ` Cleber Rosa
2019-11-15 21:36     ` Cleber Rosa
2019-11-04 15:13 ` [PATCH v7 6/8] Acceptance tests: add the build directory to the system PATH Cleber Rosa
2019-11-07 19:46   ` Wainer dos Santos Moschetta
2019-11-11 22:49     ` Cleber Rosa
2019-11-12 14:00       ` Wainer dos Santos Moschetta
2019-11-15 23:17         ` Cleber Rosa
2019-11-08 13:13   ` Philippe Mathieu-Daudé
2019-11-15 23:19     ` Cleber Rosa
2019-11-04 15:13 ` [PATCH v7 7/8] Acceptance tests: depend on qemu-img Cleber Rosa
2019-11-07 20:31   ` Wainer dos Santos Moschetta
2019-11-15 23:45     ` Cleber Rosa
2019-11-04 15:13 ` [PATCH v7 8/8] Acceptance test: add "boot_linux" tests Cleber Rosa
2019-11-08 19:42   ` Wainer dos Santos Moschetta
2019-11-15 23:47     ` Cleber Rosa
2019-11-12 18:20   ` Philippe Mathieu-Daudé
2019-11-15 23:48     ` Cleber Rosa
2019-12-03 19:19   ` Alex Bennée
2019-11-04 19:54 ` [PATCH v7 0/8] Acceptance test: Add "boot_linux" acceptance test no-reply
2019-11-07 18:38 ` Wainer dos Santos Moschetta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191104151323.9883-3-crosa@redhat.com \
    --to=crosa@redhat.com \
    --cc=aleksandar.rikalo@rt-rk.com \
    --cc=aurelien@aurel32.net \
    --cc=bleal@redhat.com \
    --cc=chouteau@adacore.com \
    --cc=ehabkost@redhat.com \
    --cc=frederic.konrad@adacore.com \
    --cc=hpoussin@reactos.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=wainersm@redhat.com \
    --cc=wrampazz@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.