From: Eduardo Habkost <ehabkost@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>,
qemu-devel@nongnu.org, Cleber Rosa <crosa@redhat.com>
Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: [Qemu-devel] [PULL 7/8] BootLinuxConsoleTest: Run kerneltests BusyBox on Malta
Date: Fri, 7 Jun 2019 18:15:43 -0300 [thread overview]
Message-ID: <20190607211544.7964-8-ehabkost@redhat.com> (raw)
In-Reply-To: <20190607211544.7964-1-ehabkost@redhat.com>
From: Philippe Mathieu-Daudé <f4bug@amsat.org>
This tests boots a Linux kernel on a Malta machine up to a
busybox shell on the serial console. Few commands are executed
before halting the machine (via reboot).
We use the initrd cpio image from the kerneltests project:
https://kerneltests.org/
If MIPS is a target being built, "make check-acceptance" will
automatically include this test by the use of the "arch:mips" tags.
Alternatively, this test can be run using:
$ avocado --show=console run -t arch:mips tests/acceptance/boot_linux_console.py
[...]
console: Boot successful.
[...]
console: / # uname -a
console: Linux buildroot 4.5.0-2-4kc-malta #1 Debian 4.5.5-1 (2016-05-29) mips GNU/Linux
console: / # reboot
console: / # reboot: Restarting system
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-Id: <20190520231910.12184-4-f4bug@amsat.org>
Acked-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
tests/acceptance/boot_linux_console.py | 49 ++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 5d8380a23b..32159503e9 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -11,6 +11,7 @@
import os
import logging
import lzma
+import gzip
import shutil
from avocado_qemu import Test
@@ -49,6 +50,11 @@ class BootLinuxConsole(Test):
fail = 'Failure message found in console: %s' % failure_message
self.fail(fail)
+ def exec_command_and_wait_for_pattern(self, command, success_message):
+ command += '\n'
+ self.vm.console_socket.sendall(command.encode())
+ self.wait_for_console_pattern(success_message)
+
def extract_from_deb(self, deb, path):
"""
Extracts a file from a deb package into the test workdir
@@ -140,6 +146,49 @@ class BootLinuxConsole(Test):
console_pattern = 'Kernel command line: %s' % kernel_command_line
self.wait_for_console_pattern(console_pattern)
+ def test_mips_malta_cpio(self):
+ """
+ :avocado: tags=arch:mips
+ :avocado: tags=machine:malta
+ :avocado: tags=endian:big
+ """
+ deb_url = ('http://snapshot.debian.org/archive/debian/'
+ '20160601T041800Z/pool/main/l/linux/'
+ 'linux-image-4.5.0-2-4kc-malta_4.5.5-1_mips.deb')
+ deb_hash = 'a3c84f3e88b54e06107d65a410d1d1e8e0f340f8'
+ deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash)
+ kernel_path = self.extract_from_deb(deb_path,
+ '/boot/vmlinux-4.5.0-2-4kc-malta')
+ initrd_url = ('https://github.com/groeck/linux-build-test/raw/'
+ '8584a59ed9e5eb5ee7ca91f6d74bbb06619205b8/rootfs/'
+ 'mips/rootfs.cpio.gz')
+ initrd_hash = 'bf806e17009360a866bf537f6de66590de349a99'
+ initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash)
+ initrd_path = self.workdir + "rootfs.cpio"
+
+ with gzip.open(initrd_path_gz, 'rb') as f_in:
+ with open(initrd_path, 'wb') as f_out:
+ shutil.copyfileobj(f_in, f_out)
+
+ self.vm.set_machine('malta')
+ self.vm.set_console()
+ kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE
+ + 'console=ttyS0 console=tty '
+ + 'rdinit=/sbin/init noreboot')
+ self.vm.add_args('-kernel', kernel_path,
+ '-initrd', initrd_path,
+ '-append', kernel_command_line,
+ '-no-reboot')
+ self.vm.launch()
+ self.wait_for_console_pattern('Boot successful.')
+
+ self.exec_command_and_wait_for_pattern('cat /proc/cpuinfo',
+ 'BogoMIPS')
+ self.exec_command_and_wait_for_pattern('uname -a',
+ 'Debian')
+ self.exec_command_and_wait_for_pattern('reboot',
+ 'reboot: Restarting system')
+
def do_test_mips_malta32el_nanomips(self, kernel_url, kernel_hash):
kernel_path_xz = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
kernel_path = self.workdir + "kernel"
--
2.18.0.rc1.1.g3f1ff2140
next prev parent reply other threads:[~2019-06-07 21:24 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-07 21:15 [Qemu-devel] [PULL 0/8] Python queue, 2019-06-07 Eduardo Habkost
2019-06-07 21:15 ` [Qemu-devel] [PULL 1/8] tests/boot_linux_console: Let extract_from_deb handle various compressions Eduardo Habkost
2019-06-07 21:15 ` [Qemu-devel] [PULL 2/8] Deprecate Python 2 support Eduardo Habkost
2019-06-07 21:15 ` [Qemu-devel] [PULL 3/8] configure: Require python3 >= 3.5 Eduardo Habkost
2019-06-07 21:15 ` [Qemu-devel] [PULL 4/8] BootLinuxConsoleTest: Do not log empty lines Eduardo Habkost
2019-06-07 21:15 ` [Qemu-devel] [PULL 5/8] BootLinuxConsoleTest: Test the SmartFusion2 board Eduardo Habkost
2019-06-07 21:15 ` [Qemu-devel] [PULL 6/8] BootLinuxConsoleTest: Test nanoMIPS kernels on the I7200 CPU Eduardo Habkost
2019-06-07 21:15 ` Eduardo Habkost [this message]
2019-06-07 21:15 ` [Qemu-devel] [PULL 8/8] travis: Make check-acceptance job more verbose Eduardo Habkost
2019-06-10 21:03 ` Wainer dos Santos Moschetta
2019-06-10 12:58 ` [Qemu-devel] [PULL 0/8] Python queue, 2019-06-07 Peter Maydell
2019-06-10 13:11 ` Eduardo Habkost
2019-06-10 13:21 ` Peter Maydell
2019-06-10 16:57 ` [Qemu-devel] Ubuntu Trusty as supported build platform (was Re: [PULL 0/8] Python queue, 2019-06-07) Eduardo Habkost
2019-06-10 17:12 ` [Qemu-devel] [PULL 0/8] Python queue, 2019-06-07 Daniel P. Berrangé
2019-06-10 17:15 ` Peter Maydell
2019-06-10 17:30 ` Daniel P. Berrangé
2019-06-10 17:38 ` Peter Maydell
2019-06-10 17:40 ` Daniel P. Berrangé
2019-06-11 15:50 ` Peter Maydell
2019-06-11 16:03 ` Eduardo Habkost
2019-06-11 16:07 ` Peter Maydell
2019-06-11 17:12 ` Eduardo Habkost
2019-09-17 13:57 ` Kevin Wolf
2019-09-17 21:48 ` Eduardo Habkost
2019-09-17 23:10 ` John Snow
2019-09-17 23:37 ` Eduardo Habkost
2019-09-18 7:50 ` Kevin Wolf
2019-07-01 22:25 ` [Qemu-devel] Python 2 in tests/vm (was Re: [PULL 0/8] Python queue, 2019-06-07) Eduardo Habkost
2019-09-17 23:31 ` Eduardo Habkost
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190607211544.7964-8-ehabkost@redhat.com \
--to=ehabkost@redhat.com \
--cc=crosa@redhat.com \
--cc=f4bug@amsat.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.