[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 18/26] tests/boot_console: Test booting HP-UX firmware upgrad
From: |
Cleber Rosa |
Subject: |
Re: [PATCH 18/26] tests/boot_console: Test booting HP-UX firmware upgrade |
Date: |
Mon, 28 Oct 2019 16:09:15 -0400 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
On Mon, Oct 28, 2019 at 08:34:33AM +0100, Philippe Mathieu-Daudé wrote:
> From: Philippe Mathieu-Daudé <address@hidden>
>
> 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 <address@hidden> 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 <address@hidden>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
> ---
> 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
>
- [PATCH 14/26] tests/acceptance: Test Open Firmware on the PReP/40p, (continued)
- [PATCH 14/26] tests/acceptance: Test Open Firmware on the PReP/40p, Philippe Mathieu-Daudé, 2019/10/28
- [PATCH 15/26] tests/acceptance: Test OpenBIOS on the PReP/40p, Philippe Mathieu-Daudé, 2019/10/28
- [PATCH 16/26] tests/acceptance: Test Sandalfoot initrd on the PReP/40p, Philippe Mathieu-Daudé, 2019/10/28
- [PATCH 17/26] .travis.yml: Let the avocado job run the 40p tests, Philippe Mathieu-Daudé, 2019/10/28
- [PATCH 18/26] tests/boot_console: Test booting HP-UX firmware upgrade, Philippe Mathieu-Daudé, 2019/10/28
- Re: [PATCH 18/26] tests/boot_console: Test booting HP-UX firmware upgrade,
Cleber Rosa <=
- [PATCH 19/26] tests/boot_linux_console: Use Avocado archive::gzip_uncompress(), Philippe Mathieu-Daudé, 2019/10/28
- [PATCH 20/26] tests/boot_linux_console: Add a test for the Raspberry Pi 2, Philippe Mathieu-Daudé, 2019/10/28
- [PATCH 21/26] tests/boot_linux_console: Test the raspi2 UART1 (16550 based), Philippe Mathieu-Daudé, 2019/10/28
- [PATCH 22/26] tests/boot_linux_console: Boot Linux and run few commands on raspi3, Philippe Mathieu-Daudé, 2019/10/28
- [PATCH 23/26] tests/boot_linux_console: Test SDHCI and termal sensor on raspi3, Philippe Mathieu-Daudé, 2019/10/28