Message ID | 20200129212345.20547-14-philmd@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | tests/acceptance/virtio_seg_max_adjust: Restrict it to Linux/X86 | expand |
On 29/01/2020 21:23, Philippe Mathieu-Daudé wrote: > Since QEMU binaries can be built with various configurations, > the list of devices linked in can vary. > Add a helper to query the list of devices built into a > QEMU binary. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Liam Merwick <liam.merwick@oracle.com> > --- > python/qemu/binutils.py | 9 +++++++++ > tests/acceptance/core_scripts.py | 8 ++++++++ > 2 files changed, 17 insertions(+) > > diff --git a/python/qemu/binutils.py b/python/qemu/binutils.py > index bba203bc8d..9633ba8efd 100644 > --- a/python/qemu/binutils.py > +++ b/python/qemu/binutils.py > @@ -96,3 +96,12 @@ def binary_get_accels(qemu_bin): > ''' > accel_types = binary_get_qom_implementations(qemu_bin, "accel", False) > return [a.strip("-accel") for a in accel_types] > + > +def binary_get_devices(qemu_bin): > + ''' > + Get list of devices supported by a QEMU binary > + > + @param qemu_bin (str): path to the QEMU binary > + @return list of devices supported by the binary > + ''' > + return binary_get_qom_implementations(qemu_bin, "device", False) > diff --git a/tests/acceptance/core_scripts.py b/tests/acceptance/core_scripts.py > index 7380f2f49b..a62eb2e46b 100644 > --- a/tests/acceptance/core_scripts.py > +++ b/tests/acceptance/core_scripts.py > @@ -18,6 +18,7 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) > from avocado_qemu import Test > from qemu.binutils import binary_get_accels > from qemu.binutils import binary_get_arch > +from qemu.binutils import binary_get_devices > from qemu.binutils import binary_get_machines > from qemu.binutils import binary_get_qom_implementations > from qemu.binutils import binary_get_version > @@ -69,3 +70,10 @@ class PythonQemuCoreScripts(Test): > self.assertNotIn("accel", accels) > # qtest is always available > self.assertIn("qtest", accels) > + > + def test_get_devices(self): > + logger = logging.getLogger('core') > + devices = binary_get_devices(self.qemu_bin) > + for d in devices: > + logger.debug('device: {}'.format(d)) > + self.assertIn("migration", devices) >
diff --git a/python/qemu/binutils.py b/python/qemu/binutils.py index bba203bc8d..9633ba8efd 100644 --- a/python/qemu/binutils.py +++ b/python/qemu/binutils.py @@ -96,3 +96,12 @@ def binary_get_accels(qemu_bin): ''' accel_types = binary_get_qom_implementations(qemu_bin, "accel", False) return [a.strip("-accel") for a in accel_types] + +def binary_get_devices(qemu_bin): + ''' + Get list of devices supported by a QEMU binary + + @param qemu_bin (str): path to the QEMU binary + @return list of devices supported by the binary + ''' + return binary_get_qom_implementations(qemu_bin, "device", False) diff --git a/tests/acceptance/core_scripts.py b/tests/acceptance/core_scripts.py index 7380f2f49b..a62eb2e46b 100644 --- a/tests/acceptance/core_scripts.py +++ b/tests/acceptance/core_scripts.py @@ -18,6 +18,7 @@ sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python')) from avocado_qemu import Test from qemu.binutils import binary_get_accels from qemu.binutils import binary_get_arch +from qemu.binutils import binary_get_devices from qemu.binutils import binary_get_machines from qemu.binutils import binary_get_qom_implementations from qemu.binutils import binary_get_version @@ -69,3 +70,10 @@ class PythonQemuCoreScripts(Test): self.assertNotIn("accel", accels) # qtest is always available self.assertIn("qtest", accels) + + def test_get_devices(self): + logger = logging.getLogger('core') + devices = binary_get_devices(self.qemu_bin) + for d in devices: + logger.debug('device: {}'.format(d)) + self.assertIn("migration", devices)
Since QEMU binaries can be built with various configurations, the list of devices linked in can vary. Add a helper to query the list of devices built into a QEMU binary. Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> --- python/qemu/binutils.py | 9 +++++++++ tests/acceptance/core_scripts.py | 8 ++++++++ 2 files changed, 17 insertions(+)