All of lore.kernel.org
 help / color / mirror / Atom feed
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
> 



  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 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.