tests/functional: Convert the ppc64 replay avocado tests

Put the tests into a separate file now (since in the functional
framework, each file is run with one specific qemu-system-* binary).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20250218152744.228335-7-thuth@redhat.com>
This commit is contained in:
Thomas Huth 2025-02-18 16:27:36 +01:00
parent 52ec5f5199
commit 221620b79e
3 changed files with 51 additions and 45 deletions

View file

@ -242,39 +242,6 @@ class ReplayKernelNormal(ReplayKernelBase):
self.run_rr(uncompressed_kernel, kernel_command_line, console_pattern, shift=9,
args=('-nodefaults', ))
def test_ppc64_pseries(self):
"""
:avocado: tags=arch:ppc64
:avocado: tags=machine:pseries
:avocado: tags=accel:tcg
"""
kernel_url = ('https://archives.fedoraproject.org/pub/archive'
'/fedora-secondary/releases/29/Everything/ppc64le/os'
'/ppc/ppc64/vmlinuz')
kernel_hash = '3fe04abfc852b66653b8c3c897a59a689270bc77'
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=hvc0'
console_pattern = 'VFS: Cannot open root device'
self.run_rr(kernel_path, kernel_command_line, console_pattern)
def test_ppc64_powernv(self):
"""
:avocado: tags=arch:ppc64
:avocado: tags=machine:powernv
:avocado: tags=accel:tcg
"""
kernel_url = ('https://archives.fedoraproject.org/pub/archive'
'/fedora-secondary/releases/29/Everything/ppc64le/os'
'/ppc/ppc64/vmlinuz')
kernel_hash = '3fe04abfc852b66653b8c3c897a59a689270bc77'
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + \
'console=tty0 console=hvc0'
console_pattern = 'VFS: Cannot open root device'
self.run_rr(kernel_path, kernel_command_line, console_pattern)
def test_m68k_q800(self):
"""
:avocado: tags=arch:m68k
@ -340,15 +307,3 @@ class ReplayKernelNormal(ReplayKernelBase):
'/qac-best-of-multiarch/download/day17.tar.xz')
file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
self.do_test_advcal_2018(file_path, 'ballerina.bin')
def test_ppc64_e500(self):
"""
:avocado: tags=arch:ppc64
:avocado: tags=machine:ppce500
:avocado: tags=cpu:e5500
"""
tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
tar_url = ('https://qemu-advcal.gitlab.io'
'/qac-best-of-multiarch/download/day19.tar.xz')
file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
self.do_test_advcal_2018(file_path, 'uImage')

View file

@ -41,6 +41,7 @@ test_timeouts = {
'ppc64_hv' : 1000,
'ppc64_powernv' : 480,
'ppc64_pseries' : 480,
'ppc64_replay' : 210,
'ppc64_tuxrun' : 420,
'ppc64_mac99' : 120,
'riscv64_tuxrun' : 120,
@ -214,6 +215,7 @@ tests_ppc64_system_thorough = [
'ppc64_hv',
'ppc64_powernv',
'ppc64_pseries',
'ppc64_replay',
'ppc64_tuxrun',
'ppc64_mac99',
]

View file

@ -0,0 +1,49 @@
#!/usr/bin/env python3
#
# Replay test that boots a Linux kernel on ppc64 machines
# and checks the console
#
# SPDX-License-Identifier: GPL-2.0-or-later
from qemu_test import Asset
from replay_kernel import ReplayKernelBase
class Ppc64Replay(ReplayKernelBase):
ASSET_DAY19 = Asset(
('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/'
'day19.tar.xz'),
'20b1bb5a8488c664defbb5d283addc91a05335a936c63b3f5ff7eee74b725755')
def test_ppc64_e500(self):
self.set_machine('ppce500')
self.cpu = 'e5500'
kernel_path = self.archive_extract(self.ASSET_DAY19,
member='day19/uImage')
self.run_rr(kernel_path, self.REPLAY_KERNEL_COMMAND_LINE,
'QEMU advent calendar')
ASSET_KERNEL = Asset(
('https://archives.fedoraproject.org/pub/archive/fedora-secondary/'
'releases/29/Everything/ppc64le/os/ppc/ppc64/vmlinuz'),
'383c2f5c23bc0d9d32680c3924d3fd7ee25cc5ef97091ac1aa5e1d853422fc5f')
def test_ppc64_pseries(self):
self.set_machine('pseries')
kernel_path = self.ASSET_KERNEL.fetch()
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=hvc0'
console_pattern = 'VFS: Cannot open root device'
self.run_rr(kernel_path, kernel_command_line, console_pattern)
def test_ppc64_powernv(self):
self.set_machine('powernv')
kernel_path = self.ASSET_KERNEL.fetch()
kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + \
'console=tty0 console=hvc0'
console_pattern = 'VFS: Cannot open root device'
self.run_rr(kernel_path, kernel_command_line, console_pattern)
if __name__ == '__main__':
ReplayKernelBase.main()