tests/functional: Convert the Avocado arm tuxrun tests

Move the tests to a new file so that they can be run via
qemu-system-arm in the functional framework.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20241011131937.377223-7-thuth@redhat.com>
This commit is contained in:
Thomas Huth 2024-10-11 15:19:23 +02:00
parent a7a9f513fb
commit de9f57a6e8
4 changed files with 73 additions and 56 deletions

View File

@ -987,6 +987,7 @@ F: hw/arm/virt*
F: include/hw/arm/virt.h
F: docs/system/arm/virt.rst
F: tests/functional/test_aarch64_virt.py
F: tests/functional/test_arm_tuxrun.py
Xilinx Zynq
M: Edgar E. Iglesias <edgar.iglesias@gmail.com>

View File

@ -223,62 +223,6 @@ class TuxRunBaselineTest(QemuSystemTest):
"e6ffd8813c8a335bc15728f2835f90539c84be7f8f5f691a8b01451b47fb4bd7"}
self.common_tuxrun(csums=sums)
def test_armv5(self):
"""
:avocado: tags=arch:arm
:avocado: tags=cpu:arm926
:avocado: tags=machine:versatilepb
:avocado: tags=tuxboot:armv5
:avocado: tags=image:zImage
:avocado: tags=console:ttyAMA0
:avocado: tags=shutdown:nowait
"""
sums = { "rootfs.ext4.zst" :
"17177afa74e7294da0642861f08c88ca3c836764299a54bf6d1ce276cb9712a5",
"versatile-pb.dtb" :
"0bc0c0b0858cefd3c32b385c0d66d97142ded29472a496f4f490e42fc7615b25",
"zImage" :
"c95af2f27647c12265d75e9df44c22ff5228c59855f54aaa70f41ec2842e3a4d" }
self.common_tuxrun(csums=sums,
drive="virtio-blk-pci",
dt="versatile-pb.dtb")
def test_armv7(self):
"""
:avocado: tags=arch:arm
:avocado: tags=cpu:cortex-a15
:avocado: tags=machine:virt
:avocado: tags=tuxboot:armv7
:avocado: tags=image:zImage
:avocado: tags=console:ttyAMA0
:avocado: tags=shutdown:nowait
"""
sums = { "rootfs.ext4.zst" :
"ab1fbbeaddda1ffdd45c9405a28cd5370c20f23a7cbc809cc90dc9f243a8eb5a",
"zImage" :
"4c7a22e9f15875bec06bd2a29d822496571eb297d4f22694099ffcdb19077572" }
self.common_tuxrun(csums=sums)
def test_armv7be(self):
"""
:avocado: tags=arch:arm
:avocado: tags=cpu:cortex-a15
:avocado: tags=endian:big
:avocado: tags=machine:virt
:avocado: tags=tuxboot:armv7be
:avocado: tags=image:zImage
:avocado: tags=console:ttyAMA0
:avocado: tags=shutdown:nowait
"""
sums = {"rootfs.ext4.zst" :
"42ed46dd2d59986206c5b1f6cf35eab58fe3fd20c96b41aaa16b32f3f90a9835",
"zImage" :
"7facc62082b57af12015b08f7fdbaf2f123ba07a478367853ae12b219afc9f2f" }
self.common_tuxrun(csums=sums)
def test_i386(self):
"""
:avocado: tags=arch:i386

View File

@ -16,6 +16,7 @@ test_timeouts = {
'aarch64_virt' : 360,
'acpi_bits' : 240,
'arm_raspi2' : 120,
'arm_tuxrun' : 120,
'mips_malta' : 120,
'netdev_ethtool' : 180,
'ppc_40p' : 240,
@ -54,6 +55,7 @@ tests_arm_system_thorough = [
'arm_integratorcp',
'arm_raspi2',
'arm_vexpress',
'arm_tuxrun',
]
tests_arm_linuxuser_thorough = [

View File

@ -0,0 +1,70 @@
#!/usr/bin/env python3
#
# Functional test that boots known good tuxboot images the same way
# that tuxrun (www.tuxrun.org) does. This tool is used by things like
# the LKFT project to run regression tests on kernels.
#
# Copyright (c) 2023 Linaro Ltd.
#
# Author:
# Alex Bennée <alex.bennee@linaro.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later
from qemu_test import Asset
from qemu_test.tuxruntest import TuxRunBaselineTest
class TuxRunArmTest(TuxRunBaselineTest):
ASSET_ARMV5_KERNEL = Asset(
'https://storage.tuxboot.com/20230331/armv5/zImage',
'c95af2f27647c12265d75e9df44c22ff5228c59855f54aaa70f41ec2842e3a4d')
ASSET_ARMV5_ROOTFS = Asset(
'https://storage.tuxboot.com/20230331/armv5/rootfs.ext4.zst',
'17177afa74e7294da0642861f08c88ca3c836764299a54bf6d1ce276cb9712a5')
ASSET_ARMV5_DTB = Asset(
'https://storage.tuxboot.com/20230331/armv5/versatile-pb.dtb',
'0bc0c0b0858cefd3c32b385c0d66d97142ded29472a496f4f490e42fc7615b25')
def test_armv5(self):
self.set_machine('versatilepb')
self.cpu='arm926'
self.console='ttyAMA0'
self.wait_for_shutdown=False
self.common_tuxrun(kernel_asset=self.ASSET_ARMV5_KERNEL,
rootfs_asset=self.ASSET_ARMV5_ROOTFS,
dtb_asset=self.ASSET_ARMV5_DTB,
drive="virtio-blk-pci")
ASSET_ARMV7_KERNEL = Asset(
'https://storage.tuxboot.com/20230331/armv7/zImage',
'4c7a22e9f15875bec06bd2a29d822496571eb297d4f22694099ffcdb19077572')
ASSET_ARMV7_ROOTFS = Asset(
'https://storage.tuxboot.com/20230331/armv7/rootfs.ext4.zst',
'ab1fbbeaddda1ffdd45c9405a28cd5370c20f23a7cbc809cc90dc9f243a8eb5a')
def test_armv7(self):
self.set_machine('virt')
self.cpu='cortex-a15'
self.console='ttyAMA0'
self.wait_for_shutdown=False
self.common_tuxrun(kernel_asset=self.ASSET_ARMV7_KERNEL,
rootfs_asset=self.ASSET_ARMV7_ROOTFS)
ASSET_ARMV7BE_KERNEL = Asset(
'https://storage.tuxboot.com/20230331/armv7be/zImage',
'7facc62082b57af12015b08f7fdbaf2f123ba07a478367853ae12b219afc9f2f')
ASSET_ARMV7BE_ROOTFS = Asset(
'https://storage.tuxboot.com/20230331/armv7be/rootfs.ext4.zst',
'42ed46dd2d59986206c5b1f6cf35eab58fe3fd20c96b41aaa16b32f3f90a9835')
def test_armv7be(self):
self.set_machine('virt')
self.cpu='cortex-a15'
self.console='ttyAMA0'
self.wait_for_shutdown=False
self.common_tuxrun(kernel_asset=self.ASSET_ARMV7BE_KERNEL,
rootfs_asset=self.ASSET_ARMV7BE_ROOTFS)
if __name__ == '__main__':
TuxRunBaselineTest.main()