From: Cleber Rosa <crosa@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>
Cc: "Fam Zheng" <fam@euphon.net>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"KONRAD Frederic" <frederic.konrad@adacore.com>,
"Sven Schnelle" <svens@stackframe.org>,
qemu-devel@nongnu.org, "Fabien Chouteau" <chouteau@adacore.com>,
"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Kamil Rytarowski" <kamil@netbsd.org>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Aleksandar Rikalo" <aleksandar.rikalo@rt-rk.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Aurelien Jarno" <aurelien@aurel32.net>
Subject: Re: [PATCH 18/26] tests/boot_console: Test booting HP-UX firmware upgrade
Date: Mon, 28 Oct 2019 16:09:15 -0400 [thread overview]
Message-ID: <20191028200915.GB26898@localhost.localdomain> (raw)
In-Reply-To: <20191028073441.6448-19-philmd@redhat.com>
On Mon, Oct 28, 2019 at 08:34:33AM +0100, Philippe Mathieu-Daudé wrote:
> From: Philippe Mathieu-Daudé <f4bug@amsat.org>
>
> Add a test which boots a HP-UX firmware upgrade CD-ROM.
> It exercise the PCI LSI53C895A SCSI controller.
>
> The ISO image comes from:
> https://web.archive.org/web/20101204061612/http://ftp.parisc-linux.org/kernels/712/PF_C7120023
>
> This test is very quick, less than 3s:
>
> $ AVOCADO_ALLOW_UNTRUSTED_CODE=yes \
> avocado --show=app,console run -t arch:hppa \
> tests/acceptance/boot_linux_console.py
> console: Firmware Version 6.1
> console: Duplex Console IO Dependent Code (IODC) revision 1
> console: Memory Test/Initialization Completed
> console: ------------------------------------------------------------------------------
> console: (c) Copyright 2017-2018 Helge Deller <deller@gmx.de> and SeaBIOS developers.
> console: ------------------------------------------------------------------------------
> console: Processor Speed State Coprocessor State Cache Size
> console: --------- -------- --------------------- ----------------- ----------
> console: 0 250 MHz Active Functional 0 KB
> console: Available memory: 512 MB
> console: Good memory required: 16 MB
> console: Primary boot path: FWSCSI.0.0
> console: Alternate boot path: FWSCSI.2.0
> console: Console path: SERIAL_1.9600.8.none
> console: Keyboard path: PS2
> console: Available boot devices:
> console: 1. DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
> console: Booting from DVD/CD [lsi 00:00.0 2:0 Drive QEMU QEMU CD-ROM 2.5+]
> console: Booting...
> console: Boot IO Dependent Code (IODC) revision 153
> console: HARD Booted.
> console: ISL Revision A.00.25 November 18, 1992
> console: ISL booting ODE UPDATE ; stable off ; RUN
> console: Loading...
> console: ***************************************************************************
> console: ****** ******
> console: ****** Offline Diagnostic Environment ******
> console: ****** ******
> console: ****** (C) Copyright Hewlett-Packard Co 1993 ******
> console: ****** All Rights Reserved ******
> console: ****** ******
> console: ****** HP shall not be liable for any damages resulting from the ******
> console: ****** use of this program. ******
> console: ****** ******
> console: ****** TC Version A.00.15 ******
> console: ****** SysLib Version A.00.44 ******
> console: ****** ******
> console: ***************************************************************************
> console: Type HELP for command information.
> console: ISL_CMD> UPDATE ; stable off ; RUN
> console: ***************************************************************************
> console: ****** ******
> console: ****** PDC UPDATER ******
> console: ****** ******
> console: ****** Copyright (C) 1993, 1994, 1995 by Hewlett-Packard Company ******
> console: ****** Version A.00.19 ******
> console: ****** ******
> console: ***************************************************************************
> console: Type HELP for command information.
> console: Stable Storage will NOT be updated
> console: STARTING EXECUTION OF UPDATE
> console: Unrecognized MODEL TYPE = 502
> console: ERROR 0001
> console: UPDATE PAUSED> exit
> console: UPDATE>
> console: UPDATE> ls
> console: Modules on this boot media are:
> console: filename type size created description
> console: -----------------------------------------------------------------------------
> console: DAGGER DATA 118 96/02/15 ?
> console: IMAGE1A DATA 512 96/02/15 ?
> console: IMAGE1B DATA 388 96/02/15 ?
> console: UPDATE> exit
> console: THIS UTILITY WILL NOW RESET THE SYSTEM.....
> PASS (2.39 s)
> JOB TIME : 2.54 s
>
> Suggested-by: Sven Schnelle <svens@stackframe.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> v2:
> - check getenv(AVOCADO_ALLOW_UNTRUSTED_CODE) (pm215)
>
> I know this is not a 'Linux' test, but all our console functions
> reside in this file and I don't want to duplicate again.
> Maybe we could rename this file as 'boot_console_tests.py' or
> extract the console related functions.
> ---
> tests/acceptance/boot_linux_console.py | 27 ++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index f94dc4bbca..67b396169b 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -13,6 +13,7 @@ import lzma
> import gzip
> import shutil
>
> +from avocado import skipUnless
> from avocado_qemu import MachineTest
> from avocado_qemu import exec_command_and_wait_for_pattern
> from avocado_qemu import wait_for_console_pattern
> @@ -357,3 +358,29 @@ class BootLinuxConsole(MachineTest):
> self.vm.launch()
> console_pattern = 'Kernel command line: %s' % kernel_command_line
> self.wait_for_console_pattern(console_pattern)
> +
> + @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code')
> + def test_hppa_fwupdate(self):
> + """
> + :avocado: tags=arch:hppa
> + :avocado: tags=device:lsi53c895a
> + """
> + cdrom_url = ('https://github.com/philmd/qemu-testing-blob/raw/ec1b741/'
> + 'hppa/hp9000/712/C7120023.frm')
> + cdrom_hash = '17944dee46f768791953009bcda551be5ab9fac9'
> + cdrom_path = self.fetch_asset(cdrom_url, asset_hash=cdrom_hash)
> +
> + self.vm.set_console()
> + self.vm.add_args('-cdrom', cdrom_path,
> + '-boot', 'd',
> + '-no-reboot')
> + self.vm.launch()
> + self.wait_for_console_pattern('Unrecognized MODEL TYPE = 502')
> +
> + exec_command_and_wait_for_pattern(self, 'exit',
> + 'UPDATE>')
OK, so this also gets stuck (like the previous tests I mentioned that
wouldn't get passed a given "prompt" point). Adding a newline to the
command (in addition to the carriage return) does the trick, that is:
---
diff --git a/tests/acceptance/avocado_qemu/__init__.py b/tests/acceptance/avocado_qemu/__init__.py
index bdece76723..6fdb308a6e 100644
--- a/tests/acceptance/avocado_qemu/__init__.py
+++ b/tests/acceptance/avocado_qemu/__init__.py
@@ -93,7 +93,7 @@ def exec_command_and_wait_for_pattern(test, command,
:param success_message: if this message appears, test succeeds
:param failure_message: if this message appears, test fails
"""
- command += '\r'
+ command += '\n\r'
test.vm.console_socket.sendall(command.encode())
wait_for_console_pattern(test, success_message, failure_message)
---
I'm guessing that different systems will interpret the end of
line differently. Any other ideas?
- Cleber.
> + exec_command_and_wait_for_pattern(self, 'ls',
> + 'IMAGE1B')
> + exec_command_and_wait_for_pattern(self, 'exit',
> + 'THIS UTILITY WILL NOW '
> + 'RESET THE SYSTEM.....')
> --
> 2.21.0
>
next prev parent reply other threads:[~2019-10-28 20:14 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 [this message]
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 ` [PATCH 26/26] tests/boot_linux_console: Run BusyBox on 5KEc 64-bit cpu Philippe Mathieu-Daudé
2019-10-28 8:17 ` 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=20191028200915.GB26898@localhost.localdomain \
--to=crosa@redhat.com \
--cc=aleksandar.rikalo@rt-rk.com \
--cc=alex.bennee@linaro.org \
--cc=aurelien@aurel32.net \
--cc=chouteau@adacore.com \
--cc=ehabkost@redhat.com \
--cc=f4bug@amsat.org \
--cc=fam@euphon.net \
--cc=frederic.konrad@adacore.com \
--cc=kamil@netbsd.org \
--cc=philmd@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=svens@stackframe.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).