Similar to the BootLinuxConsoleX86_64 test: boot a Linux kernel on a Malta board and verify the serial is working.
This test can be run using: $ avocado run -t endian:big tests/acceptance Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- tests/acceptance/boot_linux_console.py | 38 ++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index 17dc8d58c1..72cf5e943c 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -46,3 +46,41 @@ class BootLinuxConsoleX86_64(Test): break if 'Kernel panic - not syncing' in msg: self.fail("Kernel panic reached") + + +class BootLinuxConsoleMips(Test): + """ + Boots a mips Linux kernel and checks that the console is operational + and the kernel command line is properly passed from QEMU to the kernel + + :avocado: enable + :avocado: tags=endian:big + :avocado: tags=arch:mips + :avocado: tags=board:malta + """ + + arch = "mips" + timeout = 60 + + def test(self): + kernel_url = ('http://people.debian.org/~aurel32/qemu/mips/' + 'vmlinux-3.2.0-4-4kc-malta') + kernel_hash = '592e384a4edc16dade52a6cd5c785c637bcbc9ad' + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) + + self.vm.set_machine('malta') + self.vm.set_console() + kernel_command_line = 'console=ttyS0 printk.time=0' + self.vm.add_args('-m', "64", + '-kernel', kernel_path, + '-append', kernel_command_line) + self.vm.launch() + console = self.vm.console_socket.makefile() + console_logger = logging.getLogger('console') + while True: + msg = console.readline() + console_logger.debug(msg.strip()) + if 'Kernel command line: %s' % kernel_command_line in msg: + break + if 'Kernel panic - not syncing' in msg: + self.fail("Kernel panic reached") -- 2.18.0.rc2