qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Fam Zheng" <fam@euphon.net>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"KONRAD Frederic" <frederic.konrad@adacore.com>,
	"Fabien Chouteau" <chouteau@adacore.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Kamil Rytarowski" <kamil@netbsd.org>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Cleber Rosa" <crosa@redhat.com>,
	"Aleksandar Rikalo" <aleksandar.rikalo@rt-rk.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Aurelien Jarno" <aurelien@aurel32.net>
Subject: [PATCH 26/26] tests/boot_linux_console: Run BusyBox on 5KEc 64-bit cpu
Date: Mon, 28 Oct 2019 08:34:41 +0100	[thread overview]
Message-ID: <20191028073441.6448-27-philmd@redhat.com> (raw)
In-Reply-To: <20191028073441.6448-1-philmd@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 Fedora 24 kernel extracted from the image at:
https://fedoraproject.org/wiki/Architectures/MIPS
and 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_ALLOW_UNTRUSTED_CODE=yes \
    avocado --show=console run -t arch:mips64el \
      tests/acceptance/boot_linux_console.py
  console: [    0.000000] Linux version 3.19.3.mtoman.20150408 (mtoman@debian-co3-1) (gcc version 5.0.0 20150316 (Red Hat 5.0.0-0.20) (GCC) ) #3 Wed Apr 8 14:32:50 UTC 2015
  console: [    0.000000] Early serial console at I/O port 0x3f8 (options '38400n8')
  console: [    0.000000] bootconsole [uart0] enabled
  console: [    0.000000] CPU0 revision is: 00018900 (MIPS 5KE)
  console: [    0.000000] Checking for the multiply/shift bug... no.
  console: [    0.000000] Checking for the daddiu bug... no.
  [...]
  console: Boot successful.
  console: cat /proc/cpuinfo
  console: / # cat /proc/cpuinfo
  console: system type            : MIPS Malta
  console: machine                        : Unknown
  console: processor              : 0
  console: cpu model              : MIPS 5KE V0.0
  console: : 1616.89
  console: wait instruction       : nouname -a
  console: microsecond timers     : yes
  console: tlb_entries            : 32
  console: extra interrupt vector : yes
  console: hardware watchpoint    : yes, count: 1, address/irw mask: [0x0ff8]
  console: isa                    : mips1 mips2 mips3 mips4 mips5 mips32r1 mips32r2 mips64r1 mips64r2
  console: ASEs implemented       :
  console: shadow register sets   : 1
  console: kscratch registers     : 0
  console: package                        : 0
  console: core                   : 0
  console: VCED exceptions                : not available
  console: VCEI exceptions                : not available
  console: / #
  console: / # uname -a
  console: Linux buildroot 3.19.3.mtoman.20150408 #3 Wed Apr 8 14:32:50 UTC 2015 mips64 GNU/Linux
  console: reboot
  console: / #
  console: / # reboot
  console: / #
  console: / # reboot: Restarting system
  PASS (7.04 s)
  JOB TIME   : 7.20 s

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 tests/acceptance/boot_linux_console.py | 41 ++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 489df4862c..959d4557c9 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -168,6 +168,47 @@ class BootLinuxConsole(MachineTest):
         exec_command_and_wait_for_pattern(self, 'reboot',
                                                 'reboot: Restarting system')
 
+    @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
+    def test_mips64el_malta_5KEc_cpio(self):
+        """
+        :avocado: tags=arch:mips64el
+        :avocado: tags=machine:malta
+        :avocado: tags=endian:little
+        """
+        kernel_url = ('https://github.com/philmd/qemu-testing-blob/'
+                      'raw/9ad2df38/mips/malta/mips64el/'
+                      'vmlinux-3.19.3.mtoman.20150408')
+        kernel_hash = '00d1d268fb9f7d8beda1de6bebcc46e884d71754'
+        kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
+        initrd_url = ('https://github.com/groeck/linux-build-test/'
+                      'raw/8584a59e/rootfs/'
+                      'mipsel64/rootfs.mipsel64r1.cpio.gz')
+        initrd_hash = '1dbb8a396e916847325284dbe2151167'
+        initrd_path_gz = self.fetch_asset(initrd_url, algorithm='md5',
+                                          asset_hash=initrd_hash)
+        initrd_path = self.workdir + "rootfs.cpio"
+        archive.gzip_uncompress(initrd_path_gz, initrd_path)
+
+        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('-cpu', '5KEc',
+                         '-kernel', kernel_path,
+                         '-initrd', initrd_path,
+                         '-append', kernel_command_line,
+                         '-no-reboot')
+        self.vm.launch()
+        wait_for_console_pattern(self, 'Boot successful.')
+
+        exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo',
+                                                'MIPS 5KE')
+        exec_command_and_wait_for_pattern(self, 'uname -a',
+                                                '3.19.3.mtoman.20150408')
+        exec_command_and_wait_for_pattern(self, '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.21.0



  parent reply	other threads:[~2019-10-28  7:50 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-28  7:34 [PATCH 00/26] tests/acceptance: Queue for 4.2 Philippe Mathieu-Daudé
2019-10-28  7:34 ` [PATCH 01/26] python/qemu/machine: Allow to use other serial consoles than default Philippe Mathieu-Daudé
2019-10-28 14:51   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 02/26] Acceptance tests: refactor wait_for_console_pattern Philippe Mathieu-Daudé
2019-10-28  7:58   ` Aleksandar Markovic
2019-10-28 15:09     ` Cleber Rosa
2019-10-28 15:18   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 03/26] tests/acceptance: Fixe wait_for_console_pattern() hangs Philippe Mathieu-Daudé
2019-10-28  8:01   ` Aleksandar Markovic
2019-10-28 15:28     ` Cleber Rosa
2019-10-28 15:24   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 04/26] tests/acceptance: Send <carriage return> on serial lines Philippe Mathieu-Daudé
2019-10-28 15:36   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 05/26] tests/acceptance: Refactor exec_command_and_wait_for_pattern() Philippe Mathieu-Daudé
2019-10-28 15:50   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 06/26] tests/acceptance: Rename avocado_qemu.Test as MachineTest Philippe Mathieu-Daudé
2019-11-19 13:52   ` Wainer dos Santos Moschetta
2019-10-28  7:34 ` [PATCH 07/26] tests/acceptance: Make pick_default_qemu_bin() more generic Philippe Mathieu-Daudé
2019-10-28  7:34 ` [PATCH 08/26] tests/acceptance: Introduce LinuxUserTest base class Philippe Mathieu-Daudé
2019-11-18 12:16   ` Philippe Mathieu-Daudé
2019-10-28  7:34 ` [PATCH 09/26] tests/acceptance: Add bFLT loader linux-user test Philippe Mathieu-Daudé
2019-10-28  7:34 ` [PATCH 10/26] tests/acceptance: Add test that boots the HelenOS microkernel on Leon3 Philippe Mathieu-Daudé
2019-10-28 16:38   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 11/26] tests/acceptance: Add test that boots Linux up to BusyBox " Philippe Mathieu-Daudé
2019-10-28 16:47   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 12/26] .travis.yml: Let the avocado job run the Leon3 test Philippe Mathieu-Daudé
2019-10-28 16:50   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 13/26] tests/acceptance: Add test that runs NetBSD 4.0 installer on PRep/40p Philippe Mathieu-Daudé
2019-10-28 16:56   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 14/26] tests/acceptance: Test Open Firmware on the PReP/40p Philippe Mathieu-Daudé
2019-10-28 17:47   ` Cleber Rosa
2019-10-28 18:45     ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 15/26] tests/acceptance: Test OpenBIOS " Philippe Mathieu-Daudé
2019-10-28 18:41   ` Cleber Rosa
2019-10-28 22:00     ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 16/26] tests/acceptance: Test Sandalfoot initrd " Philippe Mathieu-Daudé
2019-10-28 19:08   ` Cleber Rosa
2021-12-03 10:09     ` Cédric Le Goater
2019-10-28  7:34 ` [PATCH 17/26] .travis.yml: Let the avocado job run the 40p tests Philippe Mathieu-Daudé
2019-10-28 19:25   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 18/26] tests/boot_console: Test booting HP-UX firmware upgrade Philippe Mathieu-Daudé
2019-10-28 20:09   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 19/26] tests/boot_linux_console: Use Avocado archive::gzip_uncompress() Philippe Mathieu-Daudé
2019-10-28 20:13   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 20/26] tests/boot_linux_console: Add a test for the Raspberry Pi 2 Philippe Mathieu-Daudé
2019-10-28 20:24   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 21/26] tests/boot_linux_console: Test the raspi2 UART1 (16550 based) Philippe Mathieu-Daudé
2019-10-28 20:30   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 22/26] tests/boot_linux_console: Boot Linux and run few commands on raspi3 Philippe Mathieu-Daudé
2019-10-28 20:47   ` Cleber Rosa
2019-10-28 20:48   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 23/26] tests/boot_linux_console: Test SDHCI and termal sensor " Philippe Mathieu-Daudé
2019-10-28 20:54   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 24/26] tests/boot_linux_console: Add initrd test for the Exynos4210 Philippe Mathieu-Daudé
2019-10-28 21:40   ` Cleber Rosa
2019-10-28  7:34 ` [PATCH 25/26] tests/boot_linux_console: Add sdcard " Philippe Mathieu-Daudé
2019-10-28 21:48   ` Cleber Rosa
2019-10-28  7:34 ` Philippe Mathieu-Daudé [this message]
2019-10-28  8:17   ` [PATCH 26/26] tests/boot_linux_console: Run BusyBox on 5KEc 64-bit cpu Aleksandar Markovic
2019-10-28 22:05     ` Cleber Rosa
2019-10-28  8:18 ` [PATCH 00/26] tests/acceptance: Queue for 4.2 no-reply
2019-10-28  9:47 ` no-reply

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=20191028073441.6448-27-philmd@redhat.com \
    --to=philmd@redhat.com \
    --cc=aleksandar.rikalo@rt-rk.com \
    --cc=alex.bennee@linaro.org \
    --cc=aurelien@aurel32.net \
    --cc=chouteau@adacore.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=fam@euphon.net \
    --cc=frederic.konrad@adacore.com \
    --cc=kamil@netbsd.org \
    --cc=qemu-devel@nongnu.org \
    --cc=wainersm@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).