mirror of
https://github.com/qemu/qemu.git
synced 2024-11-23 10:53:37 +08:00
tests/functional: Convert some avocado tests that needed avocado.utils.archive
Instead of using the "archive" module from avocado.utils, switch these tests to use the new wrapper function that is based on the "tarfile" module instead. Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20240830133841.142644-20-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
850a1951b7
commit
e3fc99b164
@ -733,7 +733,7 @@ S: Odd Fixes
|
||||
F: include/hw/arm/digic.h
|
||||
F: hw/*/digic*
|
||||
F: include/hw/*/digic*
|
||||
F: tests/avocado/machine_arm_canona1100.py
|
||||
F: tests/functional/test_arm_canona1100.py
|
||||
F: docs/system/arm/digic.rst
|
||||
|
||||
Goldfish RTC
|
||||
@ -1430,7 +1430,7 @@ L: qemu-ppc@nongnu.org
|
||||
S: Orphan
|
||||
F: hw/ppc/ppc440_bamboo.c
|
||||
F: hw/pci-host/ppc4xx_pci.c
|
||||
F: tests/avocado/ppc_bamboo.py
|
||||
F: tests/functional/test_ppc_bamboo.py
|
||||
|
||||
e500
|
||||
L: qemu-ppc@nongnu.org
|
||||
@ -1716,7 +1716,7 @@ F: include/hw/pci-host/sabre.h
|
||||
F: hw/pci-bridge/simba.c
|
||||
F: include/hw/pci-bridge/simba.h
|
||||
F: pc-bios/openbios-sparc64
|
||||
F: tests/avocado/machine_sparc64_sun4u.py
|
||||
F: tests/functional/test_sparc64_sun4u.py
|
||||
|
||||
Sun4v
|
||||
M: Artyom Tarasenko <atar4qemu@gmail.com>
|
||||
|
@ -1,36 +0,0 @@
|
||||
# Functional test that boots a Linux kernel and checks the console
|
||||
#
|
||||
# Copyright (c) 2020 Red Hat, Inc.
|
||||
#
|
||||
# Author:
|
||||
# Thomas Huth <thuth@redhat.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.
|
||||
|
||||
import os
|
||||
|
||||
from avocado_qemu import wait_for_console_pattern
|
||||
from avocado.utils import archive
|
||||
from boot_linux_console import LinuxKernelTest
|
||||
|
||||
class Sun4uMachine(LinuxKernelTest):
|
||||
"""Boots the Linux kernel and checks that the console is operational"""
|
||||
|
||||
timeout = 90
|
||||
|
||||
def test_sparc64_sun4u(self):
|
||||
"""
|
||||
:avocado: tags=arch:sparc64
|
||||
:avocado: tags=machine:sun4u
|
||||
"""
|
||||
tar_url = ('https://qemu-advcal.gitlab.io'
|
||||
'/qac-best-of-multiarch/download/day23.tar.xz')
|
||||
tar_hash = '142db83cd974ffadc4f75c8a5cad5bcc5722c240'
|
||||
file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
|
||||
archive.extract(file_path, self.workdir)
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-kernel', self.workdir + '/day23/vmlinux',
|
||||
'-append', self.KERNEL_COMMON_COMMAND_LINE)
|
||||
self.vm.launch()
|
||||
wait_for_console_pattern(self, 'Starting logging: OK')
|
@ -26,6 +26,10 @@ tests_generic_linuxuser = [
|
||||
tests_generic_bsduser = [
|
||||
]
|
||||
|
||||
tests_arm_system_thorough = [
|
||||
'arm_canona1100',
|
||||
]
|
||||
|
||||
tests_avr_system_thorough = [
|
||||
'avr_mega2560',
|
||||
]
|
||||
@ -44,6 +48,11 @@ tests_ppc_system_quick = [
|
||||
|
||||
tests_ppc_system_thorough = [
|
||||
'ppc_405',
|
||||
'ppc_bamboo',
|
||||
]
|
||||
|
||||
tests_sparc64_system_thorough = [
|
||||
'sparc64_sun4u',
|
||||
]
|
||||
|
||||
tests_x86_64_system_quick = [
|
||||
|
30
tests/avocado/machine_arm_canona1100.py → tests/functional/test_arm_canona1100.py
Normal file → Executable file
30
tests/avocado/machine_arm_canona1100.py → tests/functional/test_arm_canona1100.py
Normal file → Executable file
@ -1,3 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# Functional test that boots the canon-a1100 machine with firmware
|
||||
#
|
||||
# Copyright (c) 2020 Red Hat, Inc.
|
||||
@ -8,28 +10,30 @@
|
||||
# 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
|
||||
from avocado.utils import archive
|
||||
from qemu_test import QemuSystemTest, Asset
|
||||
from qemu_test import wait_for_console_pattern
|
||||
from qemu_test.utils import archive_extract
|
||||
|
||||
class CanonA1100Machine(QemuSystemTest):
|
||||
"""Boots the barebox firmware and checks that the console is operational"""
|
||||
|
||||
timeout = 90
|
||||
|
||||
ASSET_BIOS = Asset(('https://qemu-advcal.gitlab.io'
|
||||
'/qac-best-of-multiarch/download/day18.tar.xz'),
|
||||
'28e71874ce985be66b7fd1345ed88cb2523b982f899c8d2900d6353054a1be49')
|
||||
|
||||
def test_arm_canona1100(self):
|
||||
"""
|
||||
:avocado: tags=arch:arm
|
||||
:avocado: tags=machine:canon-a1100
|
||||
:avocado: tags=device:pflash_cfi02
|
||||
"""
|
||||
tar_url = ('https://qemu-advcal.gitlab.io'
|
||||
'/qac-best-of-multiarch/download/day18.tar.xz')
|
||||
tar_hash = '068b5fc4242b29381acee94713509f8a876e9db6'
|
||||
file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
|
||||
archive.extract(file_path, self.workdir)
|
||||
self.set_machine('canon-a1100')
|
||||
|
||||
file_path = self.ASSET_BIOS.fetch()
|
||||
archive_extract(file_path, dest_dir=self.workdir,
|
||||
member="day18/barebox.canon-a1100.bin")
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-bios',
|
||||
self.workdir + '/day18/barebox.canon-a1100.bin')
|
||||
self.vm.launch()
|
||||
wait_for_console_pattern(self, 'running /env/bin/init')
|
||||
|
||||
if __name__ == '__main__':
|
||||
QemuSystemTest.main()
|
33
tests/avocado/ppc_bamboo.py → tests/functional/test_ppc_bamboo.py
Normal file → Executable file
33
tests/avocado/ppc_bamboo.py → tests/functional/test_ppc_bamboo.py
Normal file → Executable file
@ -1,3 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# Test that Linux kernel boots on the ppc bamboo board and check the console
|
||||
#
|
||||
# Copyright (c) 2021 Red Hat
|
||||
@ -5,30 +7,26 @@
|
||||
# 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.utils import archive
|
||||
from avocado_qemu import QemuSystemTest
|
||||
from avocado_qemu import wait_for_console_pattern
|
||||
from avocado_qemu import exec_command_and_wait_for_pattern
|
||||
from qemu_test.utils import archive_extract
|
||||
from qemu_test import QemuSystemTest, Asset
|
||||
from qemu_test import wait_for_console_pattern
|
||||
from qemu_test import exec_command_and_wait_for_pattern
|
||||
|
||||
class BambooMachine(QemuSystemTest):
|
||||
|
||||
timeout = 90
|
||||
|
||||
ASSET_IMAGE = Asset(
|
||||
('http://landley.net/aboriginal/downloads/binaries/'
|
||||
'system-image-powerpc-440fp.tar.gz'),
|
||||
'c12b58f841c775a0e6df4832a55afe6b74814d1565d08ddeafc1fb949a075c5e')
|
||||
|
||||
def test_ppc_bamboo(self):
|
||||
"""
|
||||
:avocado: tags=arch:ppc
|
||||
:avocado: tags=machine:bamboo
|
||||
:avocado: tags=cpu:440epb
|
||||
:avocado: tags=device:rtl8139
|
||||
:avocado: tags=accel:tcg
|
||||
"""
|
||||
self.set_machine('bamboo')
|
||||
self.require_accelerator("tcg")
|
||||
self.require_netdev('user')
|
||||
tar_url = ('http://landley.net/aboriginal/downloads/binaries/'
|
||||
'system-image-powerpc-440fp.tar.gz')
|
||||
tar_hash = '53e5f16414b195b82d2c70272f81c2eedb39bad9'
|
||||
file_path = self.fetch_asset(tar_url, asset_hash=tar_hash)
|
||||
archive.extract(file_path, self.workdir)
|
||||
file_path = self.ASSET_IMAGE.fetch()
|
||||
archive_extract(file_path, self.workdir)
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-kernel', self.workdir +
|
||||
'/system-image-powerpc-440fp/linux',
|
||||
@ -40,3 +38,6 @@ class BambooMachine(QemuSystemTest):
|
||||
exec_command_and_wait_for_pattern(self, 'ping 10.0.2.2',
|
||||
'10.0.2.2 is alive!')
|
||||
exec_command_and_wait_for_pattern(self, 'halt', 'System Halted')
|
||||
|
||||
if __name__ == '__main__':
|
||||
QemuSystemTest.main()
|
41
tests/functional/test_sparc64_sun4u.py
Executable file
41
tests/functional/test_sparc64_sun4u.py
Executable file
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# Functional test that boots a Linux kernel and checks the console
|
||||
#
|
||||
# Copyright (c) 2020 Red Hat, Inc.
|
||||
#
|
||||
# Author:
|
||||
# Thomas Huth <thuth@redhat.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.
|
||||
|
||||
import os
|
||||
|
||||
from qemu_test import QemuSystemTest, Asset
|
||||
from qemu_test import wait_for_console_pattern
|
||||
from qemu_test.utils import archive_extract
|
||||
|
||||
class Sun4uMachine(QemuSystemTest):
|
||||
"""Boots the Linux kernel and checks that the console is operational"""
|
||||
|
||||
timeout = 90
|
||||
|
||||
ASSET_IMAGE = Asset(
|
||||
('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/'
|
||||
'day23.tar.xz'),
|
||||
'a3ed92450704af244178351afd0e769776e7decb298e95a63abfd9a6e3f6c854')
|
||||
|
||||
def test_sparc64_sun4u(self):
|
||||
self.set_machine('sun4u')
|
||||
file_path = self.ASSET_IMAGE.fetch()
|
||||
kernel_name = 'day23/vmlinux'
|
||||
archive_extract(file_path, self.workdir, kernel_name)
|
||||
self.vm.set_console()
|
||||
self.vm.add_args('-kernel', os.path.join(self.workdir, kernel_name),
|
||||
'-append', 'printk.time=0')
|
||||
self.vm.launch()
|
||||
wait_for_console_pattern(self, 'Starting logging: OK')
|
||||
|
||||
if __name__ == '__main__':
|
||||
QemuSystemTest.main()
|
Loading…
Reference in New Issue
Block a user