tests/functional: Convert the riscv_opensbi avocado test into a standalone test

The avocado test defined test functions for both, riscv32 and riscv64.
Since we can run the whole file with multiple targets in the new
framework, we can now consolidate the functions so we have to only
define one function per machine now.

Message-ID: <20240821082748.65853-23-thuth@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Thomas Huth 2024-08-21 10:27:23 +02:00
parent 3fbb78cfdc
commit 6a564c8a18
4 changed files with 47 additions and 65 deletions

View File

@ -329,6 +329,7 @@ F: hw/intc/riscv*
F: include/hw/riscv/ F: include/hw/riscv/
F: linux-user/host/riscv32/ F: linux-user/host/riscv32/
F: linux-user/host/riscv64/ F: linux-user/host/riscv64/
F: tests/functional/test_riscv*
F: tests/tcg/riscv64/ F: tests/tcg/riscv64/
RISC-V XThead* extensions RISC-V XThead* extensions

View File

@ -1,63 +0,0 @@
# OpenSBI boot test for RISC-V machines
#
# Copyright (c) 2022, Ventana Micro
#
# 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 avocado_qemu import QemuSystemTest
from avocado_qemu import wait_for_console_pattern
class RiscvOpenSBI(QemuSystemTest):
"""
:avocado: tags=accel:tcg
"""
timeout = 5
def boot_opensbi(self):
self.vm.set_console()
self.vm.launch()
wait_for_console_pattern(self, 'Platform Name')
wait_for_console_pattern(self, 'Boot HART MEDELEG')
def test_riscv32_spike(self):
"""
:avocado: tags=arch:riscv32
:avocado: tags=machine:spike
"""
self.boot_opensbi()
def test_riscv64_spike(self):
"""
:avocado: tags=arch:riscv64
:avocado: tags=machine:spike
"""
self.boot_opensbi()
def test_riscv32_sifive_u(self):
"""
:avocado: tags=arch:riscv32
:avocado: tags=machine:sifive_u
"""
self.boot_opensbi()
def test_riscv64_sifive_u(self):
"""
:avocado: tags=arch:riscv64
:avocado: tags=machine:sifive_u
"""
self.boot_opensbi()
def test_riscv32_virt(self):
"""
:avocado: tags=arch:riscv32
:avocado: tags=machine:virt
"""
self.boot_opensbi()
def test_riscv64_virt(self):
"""
:avocado: tags=arch:riscv64
:avocado: tags=machine:virt
"""
self.boot_opensbi()

View File

@ -146,18 +146,26 @@ tests_ppc64_system_thorough = [
'ppc64_tuxrun', 'ppc64_tuxrun',
] ]
tests_rx_system_thorough = [ tests_riscv32_system_quick = [
'rx_gdbsim', 'riscv_opensbi',
] ]
tests_riscv32_system_thorough = [ tests_riscv32_system_thorough = [
'riscv32_tuxrun', 'riscv32_tuxrun',
] ]
tests_riscv64_system_quick = [
'riscv_opensbi',
]
tests_riscv64_system_thorough = [ tests_riscv64_system_thorough = [
'riscv64_tuxrun', 'riscv64_tuxrun',
] ]
tests_rx_system_thorough = [
'rx_gdbsim',
]
tests_s390x_system_thorough = [ tests_s390x_system_thorough = [
's390x_ccw_virtio', 's390x_ccw_virtio',
's390x_topology', 's390x_topology',

View File

@ -0,0 +1,36 @@
#!/usr/bin/env python3
#
# OpenSBI boot test for RISC-V machines
#
# Copyright (c) 2022, Ventana Micro
#
# 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 QemuSystemTest
from qemu_test import wait_for_console_pattern
class RiscvOpenSBI(QemuSystemTest):
timeout = 5
def boot_opensbi(self):
self.vm.set_console()
self.vm.launch()
wait_for_console_pattern(self, 'Platform Name')
wait_for_console_pattern(self, 'Boot HART MEDELEG')
def test_riscv_spike(self):
self.set_machine('spike')
self.boot_opensbi()
def test_riscv_sifive_u(self):
self.set_machine('sifive_u')
self.boot_opensbi()
def test_riscv_virt(self):
self.set_machine('virt')
self.boot_opensbi()
if __name__ == '__main__':
QemuSystemTest.main()