xref: /qemu/tests/functional/test_ppc64_replay.py (revision 3a0ff62431d297eadc7213cc5b2abda9d1bfce7a)
1#!/usr/bin/env python3
2#
3# Replay test that boots a Linux kernel on ppc64 machines
4# and checks the console
5#
6# SPDX-License-Identifier: GPL-2.0-or-later
7
8from qemu_test import Asset, skipFlakyTest
9from replay_kernel import ReplayKernelBase
10
11
12class Ppc64Replay(ReplayKernelBase):
13
14    ASSET_DAY19 = Asset(
15        ('https://qemu-advcal.gitlab.io/qac-best-of-multiarch/download/'
16         'day19.tar.xz'),
17        '20b1bb5a8488c664defbb5d283addc91a05335a936c63b3f5ff7eee74b725755')
18
19    @skipFlakyTest('https://gitlab.com/qemu-project/qemu/-/issues/2523')
20    def test_ppc64_e500(self):
21        self.set_machine('ppce500')
22        self.cpu = 'e5500'
23        kernel_path = self.archive_extract(self.ASSET_DAY19,
24                                           member='day19/uImage')
25        self.run_rr(kernel_path, self.REPLAY_KERNEL_COMMAND_LINE,
26                    'QEMU advent calendar')
27
28    ASSET_KERNEL = Asset(
29        ('https://archives.fedoraproject.org/pub/archive/fedora-secondary/'
30         'releases/29/Everything/ppc64le/os/ppc/ppc64/vmlinuz'),
31        '383c2f5c23bc0d9d32680c3924d3fd7ee25cc5ef97091ac1aa5e1d853422fc5f')
32
33    def test_ppc64_pseries(self):
34        self.set_machine('pseries')
35        kernel_path = self.ASSET_KERNEL.fetch()
36        kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + 'console=hvc0'
37        console_pattern = 'VFS: Cannot open root device'
38        self.run_rr(kernel_path, kernel_command_line, console_pattern)
39
40    def test_ppc64_powernv(self):
41        self.set_machine('powernv')
42        kernel_path = self.ASSET_KERNEL.fetch()
43        kernel_command_line = self.KERNEL_COMMON_COMMAND_LINE + \
44                              'console=tty0 console=hvc0'
45        console_pattern = 'VFS: Cannot open root device'
46        self.run_rr(kernel_path, kernel_command_line, console_pattern)
47
48
49if __name__ == '__main__':
50    ReplayKernelBase.main()
51