[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 06/29] python/qemu: Add binutils::binary_get_arch()
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 06/29] python/qemu: Add binutils::binary_get_arch() |
Date: |
Wed, 29 Jan 2020 22:23:22 +0100 |
Add a helper to query the architecture of a QEMU binary.
We simply send the 'query-target' command over a QMP socket.
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
python/qemu/binutils.py | 15 +++++++++++++++
tests/acceptance/core_scripts.py | 11 +++++++++++
2 files changed, 26 insertions(+)
diff --git a/python/qemu/binutils.py b/python/qemu/binutils.py
index 96b200eef4..905d393ba5 100644
--- a/python/qemu/binutils.py
+++ b/python/qemu/binutils.py
@@ -36,3 +36,18 @@ def binary_get_version(qemu_bin):
LOG.info(res)
vm.shutdown()
return res['qemu']
+
+def binary_get_arch(qemu_bin):
+ '''
+ Get target architecture for a QEMU binary
+
+ @param qemu_bin (str): path to the QEMU binary
+ @return binary target architecture
+ '''
+ with QEMUMachine(qemu_bin) as vm:
+ vm.set_machine('none')
+ vm.launch()
+ res = vm.command('query-target')
+ LOG.info(res)
+ vm.shutdown()
+ return res['arch']
diff --git a/tests/acceptance/core_scripts.py b/tests/acceptance/core_scripts.py
index 3f253337cd..93dd822368 100644
--- a/tests/acceptance/core_scripts.py
+++ b/tests/acceptance/core_scripts.py
@@ -16,6 +16,7 @@ import logging
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
from avocado_qemu import Test
+from qemu.binutils import binary_get_arch
from qemu.binutils import binary_get_version
@@ -29,3 +30,13 @@ class PythonQemuCoreScripts(Test):
self.assertGreaterEqual(version['major'], 0)
if version['major'] == 0:
self.assertGreaterEqual(version['minor'], 14)
+
+ def test_get_arch_x86(self):
+ """
+ :avocado: tags=arch:i386
+ :avocado: tags=arch:x86_64
+ """
+ logger = logging.getLogger('core')
+ a = binary_get_arch(self.qemu_bin)
+ logger.debug('arch: {}'.format(a))
+ self.assertIn(a, ['i386', 'x86_64'])
--
2.21.1
- Re: [PATCH v2 02/29] accel/accel: Make TYPE_ACCEL abstract, (continued)
[PATCH v2 05/29] tests/acceptance: Restrict X86CPUModelAliases test to QEMU >= 4.1, Philippe Mathieu-Daudé, 2020/01/29
[PATCH v2 06/29] python/qemu: Add binutils::binary_get_arch(),
Philippe Mathieu-Daudé <=
[PATCH v2 07/29] tests/acceptance: Use the 'arch' tag to verify QEMU binary target, Philippe Mathieu-Daudé, 2020/01/29
[PATCH v2 08/29] python/qemu: Add binutils::binary_get_machines(), Philippe Mathieu-Daudé, 2020/01/29
[PATCH v2 10/29] python/qemu: Add binutils::binary_get_qom_implementations(), Philippe Mathieu-Daudé, 2020/01/29
[PATCH v2 09/29] tests/acceptance: Use 'machine' tag to check if available in QEMU binary, Philippe Mathieu-Daudé, 2020/01/29
[PATCH v2 11/29] python/qemu: Add binutils::binary_get_accels(), Philippe Mathieu-Daudé, 2020/01/29
[PATCH v2 12/29] python/qemu/accel: Use binutils::binary_get_accels(), Philippe Mathieu-Daudé, 2020/01/29