xref: /openbmc/qemu/tests/avocado/ppc_pseries.py (revision 6016b7b4)
1# Test that Linux kernel boots on ppc machines and check the console
2#
3# Copyright (c) 2018, 2020 Red Hat, Inc.
4#
5# This work is licensed under the terms of the GNU GPL, version 2 or
6# later.  See the COPYING file in the top-level directory.
7
8from avocado.utils import archive
9from avocado_qemu import QemuSystemTest
10from avocado_qemu import wait_for_console_pattern
11
12class pseriesMachine(QemuSystemTest):
13
14    timeout = 90
15    KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
16    panic_message = 'Kernel panic - not syncing'
17
18    def test_ppc64_pseries(self):
19        """
20        :avocado: tags=arch:ppc64
21        :avocado: tags=machine:pseries
22        """
23        kernel_url = ('https://archives.fedoraproject.org/pub/archive'
24                      '/fedora-secondary/releases/29/Everything/ppc64le/os'
25                      '/ppc/ppc64/vmlinuz')
26        kernel_hash = '3fe04abfc852b66653b8c3c897a59a689270bc77'
27        kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
28
29        self.vm.set_console()
30        kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=hvc0'
31        self.vm.add_args('-kernel', kernel_path,
32                         '-append', kernel_command_line)
33        self.vm.launch()
34        console_pattern = 'Kernel command line: %s' % kernel_command_line
35        wait_for_console_pattern(self, console_pattern, self.panic_message)
36