[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/5] machine.py fix for ppc64 tests + avocado changes
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH 0/5] machine.py fix for ppc64 tests + avocado changes |
Date: |
Mon, 16 May 2022 13:53:16 -0300 |
Hello,
This series fixes a problem I'm having when running avocado tests in an
IBM Power9 ppc64 host, without firmware modifications that breaks the
default machine options of a pseries guest running KVM, and with
--disable-tcg. The problem is described in detail in patch 02.
The proposed fix consists of checking whether we're running a pseries
guest in the launch() method of machine.py. A simple fix, if we could
rely on the QEMUSystemTest self.machine attribute to be set all the time
a machine type is being set.
This is not the case for some tests, e.g. the empty_cpu_model.py test
that, instead of using 'tags=machine:none' to set the 'none' machine
type, it hardcodes '-machine none' via self.vm.add_args(). This doesn't
set self.machine in the QEMUSystemTest class, and then we're left
wondered whether the machine is being run with the binary defaults (i.e.
no machine were set) or if the machine were set manually and we need to
verify every -machine option to check it up. Which is not trivial by any
means: multiple machine options can be passed via avocado and you'll
have to parse a string using all known machine types to see if it was
set or not.
To fix the issue I needed to make the assumption that the machine type
will be set in a way that self.machine is also set (i.e. using the
avocado tag). Making this assumption for empty_cpu_model.py alone (patch
01) is enough for me to fix the issue I'm experiencing in patch 02.
I decided to make this assumption across the board in all tests that
were setting the machine type by hand instead of using an avocado tag.
So in the end, after this series, all avocado tests that sets a machine
type are now setting via "avocado: tags=machine:<type>" annotation.
Daniel Henrique Barboza (5):
avocado/empty_cpu_model.py: use machine:none tag
machine.py: add default pseries params in machine.py
avocado/multiprocess.py: use tags=machine:pc|virt
avocado/boot_linux.py: avocado tag fixes in BootLinuxAarch64
avocado/virtio-gpu.py: use tags=machine:pc
python/qemu/machine/machine.py | 13 +++++++++++++
tests/avocado/boot_linux.py | 7 +++----
tests/avocado/empty_cpu_model.py | 5 ++++-
tests/avocado/multiprocess.py | 14 ++++++++------
tests/avocado/virtio-gpu.py | 6 ++++--
5 files changed, 32 insertions(+), 13 deletions(-)
--
2.32.0
- [PATCH 0/5] machine.py fix for ppc64 tests + avocado changes,
Daniel Henrique Barboza <=
- [PATCH 1/5] avocado/empty_cpu_model.py: use machine:none tag, Daniel Henrique Barboza, 2022/05/16
- [PATCH 2/5] machine.py: add default pseries params in machine.py, Daniel Henrique Barboza, 2022/05/16
- [PATCH 3/5] avocado/multiprocess.py: use tags=machine:pc|virt, Daniel Henrique Barboza, 2022/05/16
- [PATCH 4/5] avocado/boot_linux.py: avocado tag fixes in BootLinuxAarch64, Daniel Henrique Barboza, 2022/05/16
- [PATCH 5/5] avocado/virtio-gpu.py: use tags=machine:pc, Daniel Henrique Barboza, 2022/05/16