1#!/usr/bin/env python3
2#
3# Functional test for testing the q800 m68k machine
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 qemu_test import LinuxKernelTest, Asset
9
10class Q800MachineTest(LinuxKernelTest):
11
12    ASSET_KERNEL = Asset(
13        ('https://snapshot.debian.org/'
14         'archive/debian-ports/20191021T083923Z/pool-m68k/main/l/linux/'
15         'kernel-image-5.3.0-1-m68k-di_5.3.7-1_m68k.udeb'),
16        '949e50d74d4b9bc15d26c06d402717b7a4c0e32ff8100014f5930d8024de7b73')
17
18    def test_m68k_q800(self):
19        self.set_machine('q800')
20
21        deb_path = self.ASSET_KERNEL.fetch()
22        kernel_path = self.extract_from_deb(deb_path,
23                                            '/boot/vmlinux-5.3.0-1-m68k')
24
25        self.vm.set_console()
26        kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE +
27                               'console=ttyS0 vga=off')
28        self.vm.add_args('-kernel', kernel_path,
29                         '-append', kernel_command_line)
30        self.vm.launch()
31        console_pattern = 'Kernel command line: %s' % kernel_command_line
32        self.wait_for_console_pattern(console_pattern)
33        console_pattern = 'No filesystem could mount root'
34        self.wait_for_console_pattern(console_pattern)
35
36if __name__ == '__main__':
37    LinuxKernelTest.main()
38