tests/functional: Convert some tests that download files via fetch_asset()
Now that we've got the Asset class with pre-caching, we can convert some Avocado tests that use fetch_asset() for downloading their required files. Message-ID: <20240830133841.142644-18-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
34b17c0a65
commit
4c0a2df81c
10
MAINTAINERS
10
MAINTAINERS
@ -222,7 +222,7 @@ S: Maintained
|
|||||||
F: docs/system/target-avr.rst
|
F: docs/system/target-avr.rst
|
||||||
F: gdb-xml/avr-cpu.xml
|
F: gdb-xml/avr-cpu.xml
|
||||||
F: target/avr/
|
F: target/avr/
|
||||||
F: tests/avocado/machine_avr6.py
|
F: tests/functional/test_avr_mega2560.py
|
||||||
|
|
||||||
CRIS TCG CPUs
|
CRIS TCG CPUs
|
||||||
M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
M: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
||||||
@ -266,7 +266,7 @@ M: Song Gao <gaosong@loongson.cn>
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
F: target/loongarch/
|
F: target/loongarch/
|
||||||
F: tests/tcg/loongarch64/
|
F: tests/tcg/loongarch64/
|
||||||
F: tests/avocado/machine_loongarch.py
|
F: tests/functional/test_loongarch64_virt.py
|
||||||
|
|
||||||
M68K TCG CPUs
|
M68K TCG CPUs
|
||||||
M: Laurent Vivier <laurent@vivier.eu>
|
M: Laurent Vivier <laurent@vivier.eu>
|
||||||
@ -1397,7 +1397,7 @@ F: hw/mips/loongson3_virt.c
|
|||||||
F: include/hw/intc/loongson_ipi_common.h
|
F: include/hw/intc/loongson_ipi_common.h
|
||||||
F: include/hw/intc/loongson_ipi.h
|
F: include/hw/intc/loongson_ipi.h
|
||||||
F: include/hw/intc/loongson_liointc.h
|
F: include/hw/intc/loongson_liointc.h
|
||||||
F: tests/avocado/machine_mips_loongson3v.py
|
F: tests/functional/test_mips64el_loongson3v.py
|
||||||
|
|
||||||
Boston
|
Boston
|
||||||
M: Paul Burton <paulburton@kernel.org>
|
M: Paul Burton <paulburton@kernel.org>
|
||||||
@ -1423,7 +1423,7 @@ PowerPC Machines
|
|||||||
L: qemu-ppc@nongnu.org
|
L: qemu-ppc@nongnu.org
|
||||||
S: Orphan
|
S: Orphan
|
||||||
F: hw/ppc/ppc405*
|
F: hw/ppc/ppc405*
|
||||||
F: tests/avocado/ppc_405.py
|
F: tests/functional/test_ppc_405.py
|
||||||
|
|
||||||
Bamboo
|
Bamboo
|
||||||
L: qemu-ppc@nongnu.org
|
L: qemu-ppc@nongnu.org
|
||||||
@ -2495,7 +2495,7 @@ R: Sriram Yagnaraman <sriram.yagnaraman@ericsson.com>
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
F: docs/system/devices/igb.rst
|
F: docs/system/devices/igb.rst
|
||||||
F: hw/net/igb*
|
F: hw/net/igb*
|
||||||
F: tests/avocado/netdev-ethtool.py
|
F: tests/functional/test_netdev_ethtool.py
|
||||||
F: tests/qtest/igb-test.c
|
F: tests/qtest/igb-test.c
|
||||||
F: tests/qtest/libqos/igb.c
|
F: tests/qtest/libqos/igb.c
|
||||||
|
|
||||||
|
0
tests/avocado/machine_arm_n8x0.py
Normal file → Executable file
0
tests/avocado/machine_arm_n8x0.py
Normal file → Executable file
@ -1,39 +0,0 @@
|
|||||||
# Functional tests for the Generic Loongson-3 Platform.
|
|
||||||
#
|
|
||||||
# Copyright (c) 2021 Jiaxun Yang <jiaxun.yang@flygoat.com>
|
|
||||||
#
|
|
||||||
# This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
||||||
# See the COPYING file in the top-level directory.
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
import os
|
|
||||||
import time
|
|
||||||
|
|
||||||
from avocado import skipUnless
|
|
||||||
from avocado_qemu import QemuSystemTest
|
|
||||||
from avocado_qemu import wait_for_console_pattern
|
|
||||||
|
|
||||||
class MipsLoongson3v(QemuSystemTest):
|
|
||||||
timeout = 60
|
|
||||||
|
|
||||||
@skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
|
|
||||||
def test_pmon_serial_console(self):
|
|
||||||
"""
|
|
||||||
:avocado: tags=arch:mips64el
|
|
||||||
:avocado: tags=endian:little
|
|
||||||
:avocado: tags=machine:loongson3-virt
|
|
||||||
:avocado: tags=cpu:Loongson-3A1000
|
|
||||||
:avocado: tags=device:liointc
|
|
||||||
:avocado: tags=device:goldfish_rtc
|
|
||||||
"""
|
|
||||||
|
|
||||||
pmon_hash = '7c8b45dd81ccfc55ff28f5aa267a41c3'
|
|
||||||
pmon_path = self.fetch_asset('https://github.com/loongson-community/pmon/'
|
|
||||||
'releases/download/20210112/pmon-3avirt.bin',
|
|
||||||
asset_hash=pmon_hash, algorithm='md5')
|
|
||||||
|
|
||||||
self.vm.set_console()
|
|
||||||
self.vm.add_args('-bios', pmon_path)
|
|
||||||
self.vm.launch()
|
|
||||||
wait_for_console_pattern(self, 'CPU GODSON3 BogoMIPS:')
|
|
@ -11,6 +11,7 @@ endif
|
|||||||
|
|
||||||
# Timeouts for individual tests that can be slow e.g. with debugging enabled
|
# Timeouts for individual tests that can be slow e.g. with debugging enabled
|
||||||
test_timeouts = {
|
test_timeouts = {
|
||||||
|
'netdev_ethtool' : 180,
|
||||||
}
|
}
|
||||||
|
|
||||||
tests_generic_system = [
|
tests_generic_system = [
|
||||||
@ -19,16 +20,32 @@ tests_generic_system = [
|
|||||||
'version',
|
'version',
|
||||||
]
|
]
|
||||||
|
|
||||||
tests_ppc_quick = [
|
|
||||||
'ppc_74xx',
|
|
||||||
]
|
|
||||||
|
|
||||||
tests_generic_linuxuser = [
|
tests_generic_linuxuser = [
|
||||||
]
|
]
|
||||||
|
|
||||||
tests_generic_bsduser = [
|
tests_generic_bsduser = [
|
||||||
]
|
]
|
||||||
|
|
||||||
|
tests_avr_system_thorough = [
|
||||||
|
'avr_mega2560',
|
||||||
|
]
|
||||||
|
|
||||||
|
tests_loongarch64_system_thorough = [
|
||||||
|
'loongarch64_virt',
|
||||||
|
]
|
||||||
|
|
||||||
|
tests_mips64el_system_thorough = [
|
||||||
|
'mips64el_loongson3v',
|
||||||
|
]
|
||||||
|
|
||||||
|
tests_ppc_system_quick = [
|
||||||
|
'ppc_74xx',
|
||||||
|
]
|
||||||
|
|
||||||
|
tests_ppc_system_thorough = [
|
||||||
|
'ppc_405',
|
||||||
|
]
|
||||||
|
|
||||||
tests_x86_64_system_quick = [
|
tests_x86_64_system_quick = [
|
||||||
'cpu_queries',
|
'cpu_queries',
|
||||||
'mem_addr_space',
|
'mem_addr_space',
|
||||||
@ -37,6 +54,7 @@ tests_x86_64_system_quick = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
tests_x86_64_system_thorough = [
|
tests_x86_64_system_thorough = [
|
||||||
|
'netdev_ethtool',
|
||||||
]
|
]
|
||||||
|
|
||||||
precache_all = []
|
precache_all = []
|
||||||
|
22
tests/avocado/machine_avr6.py → tests/functional/test_avr_mega2560.py
Normal file → Executable file
22
tests/avocado/machine_avr6.py → tests/functional/test_avr_mega2560.py
Normal file → Executable file
@ -1,3 +1,4 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
#
|
#
|
||||||
# QEMU AVR integration tests
|
# QEMU AVR integration tests
|
||||||
#
|
#
|
||||||
@ -19,26 +20,24 @@
|
|||||||
|
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from avocado_qemu import QemuSystemTest
|
from qemu_test import QemuSystemTest, Asset
|
||||||
|
|
||||||
class AVR6Machine(QemuSystemTest):
|
class AVR6Machine(QemuSystemTest):
|
||||||
timeout = 5
|
timeout = 5
|
||||||
|
|
||||||
|
ASSET_ROM = Asset(('https://github.com/seharris/qemu-avr-tests'
|
||||||
|
'/raw/36c3e67b8755dcf/free-rtos/Demo'
|
||||||
|
'/AVR_ATMega2560_GCC/demo.elf'),
|
||||||
|
'ee4833bd65fc69e84a79ed1c608affddbd499a60e63acf87d9113618401904e4')
|
||||||
|
|
||||||
def test_freertos(self):
|
def test_freertos(self):
|
||||||
"""
|
|
||||||
:avocado: tags=arch:avr
|
|
||||||
:avocado: tags=machine:arduino-mega-2560-v3
|
|
||||||
"""
|
|
||||||
"""
|
"""
|
||||||
https://github.com/seharris/qemu-avr-tests/raw/master/free-rtos/Demo/AVR_ATMega2560_GCC/demo.elf
|
https://github.com/seharris/qemu-avr-tests/raw/master/free-rtos/Demo/AVR_ATMega2560_GCC/demo.elf
|
||||||
constantly prints out 'ABCDEFGHIJKLMNOPQRSTUVWXABCDEFGHIJKLMNOPQRSTUVWX'
|
constantly prints out 'ABCDEFGHIJKLMNOPQRSTUVWXABCDEFGHIJKLMNOPQRSTUVWX'
|
||||||
"""
|
"""
|
||||||
rom_url = ('https://github.com/seharris/qemu-avr-tests'
|
rom_path = self.ASSET_ROM.fetch()
|
||||||
'/raw/36c3e67b8755dcf/free-rtos/Demo'
|
|
||||||
'/AVR_ATMega2560_GCC/demo.elf')
|
|
||||||
rom_hash = '7eb521f511ca8f2622e0a3c5e8dd686efbb911d4'
|
|
||||||
rom_path = self.fetch_asset(rom_url, asset_hash=rom_hash)
|
|
||||||
|
|
||||||
|
self.set_machine('arduino-mega-2560-v3')
|
||||||
self.vm.add_args('-bios', rom_path)
|
self.vm.add_args('-bios', rom_path)
|
||||||
self.vm.add_args('-nographic')
|
self.vm.add_args('-nographic')
|
||||||
self.vm.launch()
|
self.vm.launch()
|
||||||
@ -48,3 +47,6 @@ class AVR6Machine(QemuSystemTest):
|
|||||||
|
|
||||||
self.assertIn('ABCDEFGHIJKLMNOPQRSTUVWXABCDEFGHIJKLMNOPQRSTUVWX',
|
self.assertIn('ABCDEFGHIJKLMNOPQRSTUVWXABCDEFGHIJKLMNOPQRSTUVWX',
|
||||||
self.vm.get_log())
|
self.vm.get_log())
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
QemuSystemTest.main()
|
46
tests/avocado/machine_loongarch.py → tests/functional/test_loongarch64_virt.py
Normal file → Executable file
46
tests/avocado/machine_loongarch.py → tests/functional/test_loongarch64_virt.py
Normal file → Executable file
@ -1,3 +1,5 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
#
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
#
|
#
|
||||||
# LoongArch virt test.
|
# LoongArch virt test.
|
||||||
@ -5,15 +7,28 @@
|
|||||||
# Copyright (c) 2023 Loongson Technology Corporation Limited
|
# Copyright (c) 2023 Loongson Technology Corporation Limited
|
||||||
#
|
#
|
||||||
|
|
||||||
from avocado_qemu import QemuSystemTest
|
from qemu_test import QemuSystemTest, Asset
|
||||||
from avocado_qemu import exec_command_and_wait_for_pattern
|
from qemu_test import exec_command_and_wait_for_pattern
|
||||||
from avocado_qemu import wait_for_console_pattern
|
from qemu_test import wait_for_console_pattern
|
||||||
|
|
||||||
class LoongArchMachine(QemuSystemTest):
|
class LoongArchMachine(QemuSystemTest):
|
||||||
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
|
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
|
||||||
|
|
||||||
timeout = 120
|
timeout = 120
|
||||||
|
|
||||||
|
ASSET_KERNEL = Asset(
|
||||||
|
('https://github.com/yangxiaojuan-loongson/qemu-binary/'
|
||||||
|
'releases/download/2024-05-30/vmlinuz.efi'),
|
||||||
|
'08b88a45f48a5fd92260bae895be4e5175be2397481a6f7821b9f39b2965b79e')
|
||||||
|
ASSET_INITRD = Asset(
|
||||||
|
('https://github.com/yangxiaojuan-loongson/qemu-binary/'
|
||||||
|
'releases/download/2024-05-30/ramdisk'),
|
||||||
|
'03d6fb6f8ee64ecac961120a0bdacf741f17b3bee2141f17fa01908c8baf176a')
|
||||||
|
ASSET_BIOS = Asset(
|
||||||
|
('https://github.com/yangxiaojuan-loongson/qemu-binary/'
|
||||||
|
'releases/download/2024-05-30/QEMU_EFI.fd'),
|
||||||
|
'937c1e7815e2340150c194a9f8f0474259038a3d7b8845ed62cc08163c46bea1')
|
||||||
|
|
||||||
def wait_for_console_pattern(self, success_message, vm=None):
|
def wait_for_console_pattern(self, success_message, vm=None):
|
||||||
wait_for_console_pattern(self, success_message,
|
wait_for_console_pattern(self, success_message,
|
||||||
failure_message='Kernel panic - not syncing',
|
failure_message='Kernel panic - not syncing',
|
||||||
@ -21,25 +36,11 @@ class LoongArchMachine(QemuSystemTest):
|
|||||||
|
|
||||||
def test_loongarch64_devices(self):
|
def test_loongarch64_devices(self):
|
||||||
|
|
||||||
"""
|
self.set_machine('virt')
|
||||||
:avocado: tags=arch:loongarch64
|
|
||||||
:avocado: tags=machine:virt
|
|
||||||
"""
|
|
||||||
|
|
||||||
kernel_url = ('https://github.com/yangxiaojuan-loongson/qemu-binary/'
|
kernel_path = self.ASSET_KERNEL.fetch()
|
||||||
'releases/download/2024-05-30/vmlinuz.efi')
|
initrd_path = self.ASSET_INITRD.fetch()
|
||||||
kernel_hash = '951b485b16e3788b6db03a3e1793c067009e31a2'
|
bios_path = self.ASSET_BIOS.fetch()
|
||||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
|
||||||
|
|
||||||
initrd_url = ('https://github.com/yangxiaojuan-loongson/qemu-binary/'
|
|
||||||
'releases/download/2024-05-30/ramdisk')
|
|
||||||
initrd_hash = 'c67658d9b2a447ce7db2f73ba3d373c9b2b90ab2'
|
|
||||||
initrd_path = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
|
|
||||||
|
|
||||||
bios_url = ('https://github.com/yangxiaojuan-loongson/qemu-binary/'
|
|
||||||
'releases/download/2024-05-30/QEMU_EFI.fd')
|
|
||||||
bios_hash = ('f4d0966b5117d4cd82327c050dd668741046be69')
|
|
||||||
bios_path = self.fetch_asset(bios_url, asset_hash=bios_hash)
|
|
||||||
|
|
||||||
self.vm.set_console()
|
self.vm.set_console()
|
||||||
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
|
kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
|
||||||
@ -56,3 +57,6 @@ class LoongArchMachine(QemuSystemTest):
|
|||||||
self.wait_for_console_pattern('Run /sbin/init as init process')
|
self.wait_for_console_pattern('Run /sbin/init as init process')
|
||||||
exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo',
|
exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo',
|
||||||
'processor : 3')
|
'processor : 3')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
QemuSystemTest.main()
|
39
tests/functional/test_mips64el_loongson3v.py
Executable file
39
tests/functional/test_mips64el_loongson3v.py
Executable file
@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
#
|
||||||
|
# Functional tests for the Generic Loongson-3 Platform.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 Jiaxun Yang <jiaxun.yang@flygoat.com>
|
||||||
|
#
|
||||||
|
# This work is licensed under the terms of the GNU GPL, version 2 or later.
|
||||||
|
# See the COPYING file in the top-level directory.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
|
from unittest import skipUnless
|
||||||
|
from qemu_test import QemuSystemTest, Asset
|
||||||
|
from qemu_test import wait_for_console_pattern
|
||||||
|
|
||||||
|
class MipsLoongson3v(QemuSystemTest):
|
||||||
|
timeout = 60
|
||||||
|
|
||||||
|
ASSET_PMON = Asset(
|
||||||
|
('https://github.com/loongson-community/pmon/'
|
||||||
|
'releases/download/20210112/pmon-3avirt.bin'),
|
||||||
|
'fcdf6bb2cb7885a4a62f31fcb0d5e368bac7b6cea28f40c6dfa678af22fea20a')
|
||||||
|
|
||||||
|
@skipUnless(os.getenv('QEMU_TEST_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
|
||||||
|
def test_pmon_serial_console(self):
|
||||||
|
self.set_machine('loongson3-virt')
|
||||||
|
|
||||||
|
pmon_path = self.ASSET_PMON.fetch()
|
||||||
|
|
||||||
|
self.vm.set_console()
|
||||||
|
self.vm.add_args('-bios', pmon_path)
|
||||||
|
self.vm.launch()
|
||||||
|
wait_for_console_pattern(self, 'CPU GODSON3 BogoMIPS:')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
QemuSystemTest.main()
|
51
tests/avocado/netdev-ethtool.py → tests/functional/test_netdev_ethtool.py
Normal file → Executable file
51
tests/avocado/netdev-ethtool.py → tests/functional/test_netdev_ethtool.py
Normal file → Executable file
@ -1,3 +1,5 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
#
|
||||||
# ethtool tests for emulated network devices
|
# ethtool tests for emulated network devices
|
||||||
#
|
#
|
||||||
# This test leverages ethtool's --test sequence to validate network
|
# This test leverages ethtool's --test sequence to validate network
|
||||||
@ -5,39 +7,33 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-late
|
# SPDX-License-Identifier: GPL-2.0-or-late
|
||||||
|
|
||||||
from avocado import skip
|
from unittest import skip
|
||||||
from avocado_qemu import QemuSystemTest
|
from qemu_test import QemuSystemTest, Asset
|
||||||
from avocado_qemu import wait_for_console_pattern
|
from qemu_test import wait_for_console_pattern
|
||||||
|
|
||||||
class NetDevEthtool(QemuSystemTest):
|
class NetDevEthtool(QemuSystemTest):
|
||||||
"""
|
|
||||||
:avocado: tags=arch:x86_64
|
|
||||||
:avocado: tags=machine:q35
|
|
||||||
"""
|
|
||||||
|
|
||||||
# Runs in about 17s under KVM, 19s under TCG, 25s under GCOV
|
# Runs in about 17s under KVM, 19s under TCG, 25s under GCOV
|
||||||
timeout = 45
|
timeout = 45
|
||||||
|
|
||||||
# Fetch assets from the netdev-ethtool subdir of my shared test
|
# Fetch assets from the netdev-ethtool subdir of my shared test
|
||||||
# images directory on fileserver.linaro.org.
|
# images directory on fileserver.linaro.org.
|
||||||
def get_asset(self, name, sha1):
|
ASSET_BASEURL = ('https://fileserver.linaro.org/s/kE4nCFLdQcoBF9t/'
|
||||||
base_url = ('https://fileserver.linaro.org/s/'
|
'download?path=%2Fnetdev-ethtool&files=')
|
||||||
'kE4nCFLdQcoBF9t/download?'
|
ASSET_BZIMAGE = Asset(
|
||||||
'path=%2Fnetdev-ethtool&files=' )
|
ASSET_BASEURL + "bzImage",
|
||||||
url = base_url + name
|
"ed62ee06ea620b1035747f3f66a5e9fc5d3096b29f75562ada888b04cd1c4baf")
|
||||||
# use explicit name rather than failing to neatly parse the
|
ASSET_ROOTFS = Asset(
|
||||||
# URL into a unique one
|
ASSET_BASEURL + "rootfs.squashfs",
|
||||||
return self.fetch_asset(name=name, locations=(url), asset_hash=sha1)
|
"8f0207e3c4d40832ae73c1a927e42ca30ccb1e71f047acb6ddb161ba422934e6")
|
||||||
|
|
||||||
def common_test_code(self, netdev, extra_args=None):
|
def common_test_code(self, netdev, extra_args=None):
|
||||||
|
self.set_machine('q35')
|
||||||
|
|
||||||
# This custom kernel has drivers for all the supported network
|
# This custom kernel has drivers for all the supported network
|
||||||
# devices we can emulate in QEMU
|
# devices we can emulate in QEMU
|
||||||
kernel = self.get_asset("bzImage",
|
kernel = self.ASSET_BZIMAGE.fetch()
|
||||||
"33469d7802732d5815226166581442395cb289e2")
|
rootfs = self.ASSET_ROOTFS.fetch()
|
||||||
|
|
||||||
rootfs = self.get_asset("rootfs.squashfs",
|
|
||||||
"9793cea7021414ae844bda51f558bd6565b50cdc")
|
|
||||||
|
|
||||||
append = 'printk.time=0 console=ttyS0 '
|
append = 'printk.time=0 console=ttyS0 '
|
||||||
append += 'root=/dev/sr0 rootfstype=squashfs '
|
append += 'root=/dev/sr0 rootfstype=squashfs '
|
||||||
@ -68,15 +64,9 @@ class NetDevEthtool(QemuSystemTest):
|
|||||||
self.vm.kill()
|
self.vm.kill()
|
||||||
|
|
||||||
def test_igb(self):
|
def test_igb(self):
|
||||||
"""
|
|
||||||
:avocado: tags=device:igb
|
|
||||||
"""
|
|
||||||
self.common_test_code("igb")
|
self.common_test_code("igb")
|
||||||
|
|
||||||
def test_igb_nomsi(self):
|
def test_igb_nomsi(self):
|
||||||
"""
|
|
||||||
:avocado: tags=device:igb
|
|
||||||
"""
|
|
||||||
self.common_test_code("igb", "pci=nomsi")
|
self.common_test_code("igb", "pci=nomsi")
|
||||||
|
|
||||||
# It seems the other popular cards we model in QEMU currently fail
|
# It seems the other popular cards we model in QEMU currently fail
|
||||||
@ -88,14 +78,11 @@ class NetDevEthtool(QemuSystemTest):
|
|||||||
|
|
||||||
@skip("Incomplete reg 0x00178 support")
|
@skip("Incomplete reg 0x00178 support")
|
||||||
def test_e1000(self):
|
def test_e1000(self):
|
||||||
"""
|
|
||||||
:avocado: tags=device:e1000
|
|
||||||
"""
|
|
||||||
self.common_test_code("e1000")
|
self.common_test_code("e1000")
|
||||||
|
|
||||||
@skip("Incomplete reg 0x00178 support")
|
@skip("Incomplete reg 0x00178 support")
|
||||||
def test_i82550(self):
|
def test_i82550(self):
|
||||||
"""
|
|
||||||
:avocado: tags=device:i82550
|
|
||||||
"""
|
|
||||||
self.common_test_code("i82550")
|
self.common_test_code("i82550")
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
QemuSystemTest.main()
|
29
tests/avocado/ppc_405.py → tests/functional/test_ppc_405.py
Normal file → Executable file
29
tests/avocado/ppc_405.py → tests/functional/test_ppc_405.py
Normal file → Executable file
@ -1,3 +1,5 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
#
|
||||||
# Test that the U-Boot firmware boots on ppc 405 machines and check the console
|
# Test that the U-Boot firmware boots on ppc 405 machines and check the console
|
||||||
#
|
#
|
||||||
# Copyright (c) 2021 Red Hat, Inc.
|
# Copyright (c) 2021 Red Hat, Inc.
|
||||||
@ -5,20 +7,21 @@
|
|||||||
# This work is licensed under the terms of the GNU GPL, version 2 or
|
# This work is licensed under the terms of the GNU GPL, version 2 or
|
||||||
# later. See the COPYING file in the top-level directory.
|
# later. See the COPYING file in the top-level directory.
|
||||||
|
|
||||||
from avocado.utils import archive
|
from qemu_test import QemuSystemTest, Asset
|
||||||
from avocado_qemu import QemuSystemTest
|
from qemu_test import wait_for_console_pattern
|
||||||
from avocado_qemu import wait_for_console_pattern
|
from qemu_test import exec_command_and_wait_for_pattern
|
||||||
from avocado_qemu import exec_command_and_wait_for_pattern
|
|
||||||
|
|
||||||
class Ppc405Machine(QemuSystemTest):
|
class Ppc405Machine(QemuSystemTest):
|
||||||
|
|
||||||
timeout = 90
|
timeout = 90
|
||||||
|
|
||||||
|
ASSET_UBOOT = Asset(
|
||||||
|
('https://gitlab.com/huth/u-boot/-/raw/taihu-2021-10-09/'
|
||||||
|
'u-boot-taihu.bin'),
|
||||||
|
'a076bb6cdeaafa406330e51e074b66d8878d9036d67d4caa0137be03ee4c112c')
|
||||||
|
|
||||||
def do_test_ppc405(self):
|
def do_test_ppc405(self):
|
||||||
uboot_url = ('https://gitlab.com/huth/u-boot/-/raw/'
|
file_path = self.ASSET_UBOOT.fetch()
|
||||||
'taihu-2021-10-09/u-boot-taihu.bin')
|
|
||||||
uboot_hash = ('3208940e908a5edc7c03eab072c60f0dcfadc2ab');
|
|
||||||
file_path = self.fetch_asset(uboot_url, asset_hash=uboot_hash)
|
|
||||||
self.vm.set_console(console_index=1)
|
self.vm.set_console(console_index=1)
|
||||||
self.vm.add_args('-bios', file_path)
|
self.vm.add_args('-bios', file_path)
|
||||||
self.vm.launch()
|
self.vm.launch()
|
||||||
@ -26,11 +29,9 @@ class Ppc405Machine(QemuSystemTest):
|
|||||||
exec_command_and_wait_for_pattern(self, 'reset', 'AMCC PowerPC 405EP')
|
exec_command_and_wait_for_pattern(self, 'reset', 'AMCC PowerPC 405EP')
|
||||||
|
|
||||||
def test_ppc_ref405ep(self):
|
def test_ppc_ref405ep(self):
|
||||||
"""
|
|
||||||
:avocado: tags=arch:ppc
|
|
||||||
:avocado: tags=machine:ref405ep
|
|
||||||
:avocado: tags=cpu:405ep
|
|
||||||
:avocado: tags=accel:tcg
|
|
||||||
"""
|
|
||||||
self.require_accelerator("tcg")
|
self.require_accelerator("tcg")
|
||||||
|
self.set_machine('ref405ep')
|
||||||
self.do_test_ppc405()
|
self.do_test_ppc405()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
QemuSystemTest.main()
|
Loading…
Reference in New Issue
Block a user