tests/functional: Convert the mac ppc Avocado tests

The g3beige and mac99 tests use the same asset, so put them together
in a new test_ppc_mac.py file.

Message-ID: <20240919185749.71222-7-thuth@redhat.com>
Acked-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Thomas Huth 2024-09-19 20:57:46 +02:00
parent 53a62fdeb2
commit 12c0b40798
4 changed files with 41 additions and 30 deletions

View File

@ -1474,6 +1474,7 @@ F: include/hw/ppc/mac_dbdma.h
F: include/hw/pci-host/uninorth.h
F: include/hw/input/adb*
F: pc-bios/qemu_vga.ndrv
F: tests/functional/test_ppc_mac.py
Old World (g3beige)
M: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
@ -1489,6 +1490,7 @@ F: include/hw/intc/heathrow_pic.h
F: include/hw/input/adb*
F: include/hw/pci-host/grackle.h
F: pc-bios/qemu_vga.ndrv
F: tests/functional/test_ppc_mac.py
PReP
M: Hervé Poussineau <hpoussin@reactos.org>

View File

@ -965,36 +965,6 @@ class BootLinuxConsole(LinuxKernelTest):
"""
self.do_test_ppc64_powernv('P10')
def test_ppc_g3beige(self):
"""
:avocado: tags=arch:ppc
:avocado: tags=machine:g3beige
:avocado: tags=accel:tcg
"""
# TODO: g3beige works with kvm_pr but we don't have a
# reliable way ATM (e.g. looking at /proc/modules) to detect
# whether we're running kvm_hv or kvm_pr. For now let's
# disable this test if we don't have TCG support.
self.require_accelerator("tcg")
tar_hash = 'e0b872a5eb8fdc5bed19bd43ffe863900ebcedfc'
self.vm.add_args('-M', 'graphics=off')
self.do_test_advcal_2018('15', tar_hash, 'invaders.elf')
def test_ppc_mac99(self):
"""
:avocado: tags=arch:ppc
:avocado: tags=machine:mac99
:avocado: tags=accel:tcg
"""
# TODO: mac99 works with kvm_pr but we don't have a
# reliable way ATM (e.g. looking at /proc/modules) to detect
# whether we're running kvm_hv or kvm_pr. For now let's
# disable this test if we don't have TCG support.
self.require_accelerator("tcg")
tar_hash = 'e0b872a5eb8fdc5bed19bd43ffe863900ebcedfc'
self.vm.add_args('-M', 'graphics=off')
self.do_test_advcal_2018('15', tar_hash, 'invaders.elf')
# This test has a 6-10% failure rate on various hosts that look
# like issues with a buggy kernel. As a result we don't want it
# gating releases on Gitlab.

View File

@ -106,6 +106,7 @@ tests_ppc_system_thorough = [
'ppc_40p',
'ppc_amiga',
'ppc_bamboo',
'ppc_mac',
'ppc_mpc8544ds',
'ppc_virtex_ml507',
]

View File

@ -0,0 +1,38 @@
#!/usr/bin/env python3
#
# Boot Linux kernel on a mac99 and g3beige ppc machine and check the console
#
# SPDX-License-Identifier: GPL-2.0-or-later
from qemu_test import LinuxKernelTest, Asset
from qemu_test.utils import archive_extract
class MacTest(LinuxKernelTest):
ASSET_DAY15 = Asset(
'https://www.qemu-advent-calendar.org/2018/download/day15.tar.xz',
'03e0757c131d2959decf293a3572d3b96c5a53587165bf05ce41b2818a2bccd5')
def do_day15_test(self):
# mac99 also works with kvm_pr but we don't have a reliable way at
# the moment (e.g. by looking at /proc/modules) to detect whether
# we're running kvm_hv or kvm_pr. For now let's disable this test
# if we don't have TCG support.
self.require_accelerator("tcg")
file_path = self.ASSET_DAY15.fetch()
archive_extract(file_path, self.workdir)
self.vm.add_args('-M', 'graphics=off')
self.launch_kernel(self.workdir + '/day15/invaders.elf',
wait_for='QEMU advent calendar')
def test_ppc_g3beige(self):
self.set_machine('g3beige')
self.do_day15_test()
def test_ppc_mac99(self):
self.set_machine('mac99')
self.do_day15_test()
if __name__ == '__main__':
LinuxKernelTest.main()