tests/functional: Convert the xlnx_versal_virt avocado test

A straight-forward conversion of the xlnx_versal_virt boot
test to the functional framework.

Message-ID: <20241206102358.1186644-2-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Thomas Huth 2024-12-06 11:23:51 +01:00
parent cd28b8db0a
commit 490d25e6c5
4 changed files with 39 additions and 27 deletions

View file

@ -1025,6 +1025,7 @@ F: hw/display/dpcd.c
F: include/hw/display/dpcd.h
F: docs/system/arm/xlnx-versal-virt.rst
F: docs/system/arm/xlnx-zcu102.rst
F: tests/functional/test_aarch64_xlnx_versal.py
Xilinx Versal OSPI
M: Francisco Iglesias <francisco.iglesias@amd.com>

View file

@ -116,33 +116,6 @@ class BootLinuxConsole(LinuxKernelTest):
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)
def test_aarch64_xlnx_versal_virt(self):
"""
:avocado: tags=arch:aarch64
:avocado: tags=machine:xlnx-versal-virt
:avocado: tags=device:pl011
:avocado: tags=device:arm_gicv3
:avocado: tags=accel:tcg
"""
images_url = ('http://ports.ubuntu.com/ubuntu-ports/dists/'
'bionic-updates/main/installer-arm64/'
'20101020ubuntu543.19/images/')
kernel_url = images_url + 'netboot/ubuntu-installer/arm64/linux'
kernel_hash = 'e167757620640eb26de0972f578741924abb3a82'
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
initrd_url = images_url + 'netboot/ubuntu-installer/arm64/initrd.gz'
initrd_hash = 'cab5cb3fcefca8408aa5aae57f24574bfce8bdb9'
initrd_path = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
self.vm.set_console()
self.vm.add_args('-m', '2G',
'-accel', 'tcg',
'-kernel', kernel_path,
'-initrd', initrd_path)
self.vm.launch()
self.wait_for_console_pattern('Checked W+X mappings: passed')
def test_arm_virt(self):
"""
:avocado: tags=arch:arm

View file

@ -58,6 +58,7 @@ tests_aarch64_system_thorough = [
'aarch64_sbsaref_freebsd',
'aarch64_tuxrun',
'aarch64_virt',
'aarch64_xlnx_versal',
'multiprocess',
]

View file

@ -0,0 +1,37 @@
#!/usr/bin/env python3
#
# Functional test that boots a Linux kernel and checks the console
#
# SPDX-License-Identifier: GPL-2.0-or-later
from qemu_test import LinuxKernelTest, Asset
class XlnxVersalVirtMachine(LinuxKernelTest):
ASSET_KERNEL = Asset(
('http://ports.ubuntu.com/ubuntu-ports/dists/bionic-updates/main/'
'installer-arm64/20101020ubuntu543.19/images/netboot/'
'ubuntu-installer/arm64/linux'),
'ce54f74ab0b15cfd13d1a293f2d27ffd79d8a85b7bb9bf21093ae9513864ac79')
ASSET_INITRD = Asset(
('http://ports.ubuntu.com/ubuntu-ports/dists/bionic-updates/main/'
'installer-arm64/20101020ubuntu543.19/images/netboot/'
'/ubuntu-installer/arm64/initrd.gz'),
'e7a5e716b6f516d8be315c06e7331aaf16994fe4222e0e7cfb34bc015698929e')
def test_aarch64_xlnx_versal_virt(self):
self.set_machine('xlnx-versal-virt')
kernel_path = self.ASSET_KERNEL.fetch()
initrd_path = self.ASSET_INITRD.fetch()
self.vm.set_console()
self.vm.add_args('-m', '2G',
'-accel', 'tcg',
'-kernel', kernel_path,
'-initrd', initrd_path)
self.vm.launch()
self.wait_for_console_pattern('Checked W+X mappings: passed')
if __name__ == '__main__':
LinuxKernelTest.main()