tests/functional: Convert the m68k Q800 Avocado test into a functional test

Just had to update the asset checksum to use SHA256 instead of SHA1,
but apart from that it is a pretty much straightforward conversion.

Message-ID: <20240906180549.792832-3-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Thomas Huth 2024-09-06 20:05:37 +02:00
parent 8720471efd
commit c7f3663c60
4 changed files with 40 additions and 25 deletions

View File

@ -1310,6 +1310,7 @@ F: include/hw/m68k/q800-glue.h
F: include/hw/misc/djmemc.h
F: include/hw/misc/iosb.h
F: include/hw/audio/asc.h
F: tests/functional/test_m68k_q800.py
virt
M: Laurent Vivier <laurent@vivier.eu>

View File

@ -1325,30 +1325,6 @@ class BootLinuxConsole(LinuxKernelTest):
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)
def test_m68k_q800(self):
"""
:avocado: tags=arch:m68k
:avocado: tags=machine:q800
"""
deb_url = ('https://snapshot.debian.org/archive/debian-ports'
'/20191021T083923Z/pool-m68k/main'
'/l/linux/kernel-image-5.3.0-1-m68k-di_5.3.7-1_m68k.udeb')
deb_hash = '044954bb9be4160a3ce81f8bc1b5e856b75cccd1'
deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
kernel_path = self.extract_from_deb(deb_path,
'/boot/vmlinux-5.3.0-1-m68k')
self.vm.set_console()
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
'console=ttyS0 vga=off')
self.vm.add_args('-kernel', kernel_path,
'-append', kernel_command_line)
self.vm.launch()
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)
console_pattern = 'No filesystem could mount root'
self.wait_for_console_pattern(console_pattern)
def do_test_advcal_2018(self, day, tar_hash, kernel_name, console=0):
tar_url = ('https://qemu-advcal.gitlab.io'
'/qac-best-of-multiarch/download/day' + day + '.tar.xz')

View File

@ -57,7 +57,8 @@ tests_loongarch64_system_thorough = [
]
tests_m68k_system_thorough = [
'm68k_nextcube'
'm68k_nextcube',
'm68k_q800',
]
tests_microblaze_system_thorough = [

View File

@ -0,0 +1,37 @@
#!/usr/bin/env python3
#
# Functional test for testing the q800 m68k machine
#
# This work is licensed under the terms of the GNU GPL, version 2 or
# later. See the COPYING file in the top-level directory.
from qemu_test import LinuxKernelTest, Asset
class Q800MachineTest(LinuxKernelTest):
ASSET_KERNEL = Asset(
('https://snapshot.debian.org/'
'archive/debian-ports/20191021T083923Z/pool-m68k/main/l/linux/'
'kernel-image-5.3.0-1-m68k-di_5.3.7-1_m68k.udeb'),
'949e50d74d4b9bc15d26c06d402717b7a4c0e32ff8100014f5930d8024de7b73')
def test_m68k_q800(self):
self.set_machine('q800')
deb_path = self.ASSET_KERNEL.fetch()
kernel_path = self.extract_from_deb(deb_path,
'/boot/vmlinux-5.3.0-1-m68k')
self.vm.set_console()
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
'console=ttyS0 vga=off')
self.vm.add_args('-kernel', kernel_path,
'-append', kernel_command_line)
self.vm.launch()
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)
console_pattern = 'No filesystem could mount root'
self.wait_for_console_pattern(console_pattern)
if __name__ == '__main__':
LinuxKernelTest.main()