Commit 8c432921 authored by Thomas Huth's avatar Thomas Huth
Browse files

tests/acceptance: Add a test for the sun4u sparc64 machine



We can use the image from the advent calendar 2018 to test the sun4u
machine. It's not using the "QEMU advent calendar" string, so we can
not use the do_test_advcal_2018() from boot_linux_console.py, thus
let's also put it into a separate file to also be able to add an
entry to the MAINTAINERS file.

Message-Id: <20200704173519.26087-1-thuth@redhat.com>
Tested-by: default avatarMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
parent c7aab58b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1319,6 +1319,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/acceptance/machine_sparc64_sun4u.py

Sun4v
M: Artyom Tarasenko <atar4qemu@gmail.com>
+36 −0
Original line number Diff line number Diff line
# 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://www.qemu-advent-calendar.org'
                   '/2018/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')