qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine
@ 2019-10-10 12:21 Philippe Mathieu-Daudé
  2019-10-10 12:21 ` [PATCH 1/2] tests/boot_console: Send <carriage return> on serial lines Philippe Mathieu-Daudé
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-10 12:21 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eduardo Habkost, Helge Deller, Philippe Mathieu-Daudé,
	Cleber Rosa, Sven Schnelle, Richard Henderson

This tests boot a HP-UX firmware CD-ROM which allow serial
console interaction. This exercise the PCI LSI53C895A SCSI
controller.

I'm not adding it to the Travis-CI list because I'm not sure
how to split/rename the current job, see:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg644753.html

Philippe Mathieu-Daudé (2):
  tests/boot_console: Send <carriage return> on serial lines
  tests/boot_console: Test booting HP-UX firmware upgrade

 tests/acceptance/boot_linux_console.py | 27 +++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

-- 
2.21.0



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] tests/boot_console: Send <carriage return> on serial lines
  2019-10-10 12:21 [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine Philippe Mathieu-Daudé
@ 2019-10-10 12:21 ` Philippe Mathieu-Daudé
  2020-01-29 18:20   ` Wainer dos Santos Moschetta
  2019-10-10 12:21 ` [PATCH 2/2] tests/boot_console: Test booting HP-UX firmware upgrade Philippe Mathieu-Daudé
  2019-10-18 14:23 ` [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine Philippe Mathieu-Daudé
  2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-10 12:21 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eduardo Habkost, Helge Deller, Philippe Mathieu-Daudé,
	Cleber Rosa, Sven Schnelle, Richard Henderson

Some firmwares don't parse the <Newline> control character and
expect a <carriage return>.

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

diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 8a9a314ab4..f05452824e 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -51,7 +51,7 @@ class BootLinuxConsole(Test):
                 self.fail(fail)
 
     def exec_command_and_wait_for_pattern(self, command, success_message):
-        command += '\n'
+        command += '\r\n'
         self.vm.console_socket.sendall(command.encode())
         self.wait_for_console_pattern(success_message)
 
-- 
2.21.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] tests/boot_console: Test booting HP-UX firmware upgrade
  2019-10-10 12:21 [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine Philippe Mathieu-Daudé
  2019-10-10 12:21 ` [PATCH 1/2] tests/boot_console: Send <carriage return> on serial lines Philippe Mathieu-Daudé
@ 2019-10-10 12:21 ` Philippe Mathieu-Daudé
  2020-01-29 18:28   ` Wainer dos Santos Moschetta
  2019-10-18 14:23 ` [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine Philippe Mathieu-Daudé
  2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-10 12:21 UTC (permalink / raw)
  To: qemu-devel
  Cc: Eduardo Habkost, Helge Deller, Philippe Mathieu-Daudé,
	Cleber Rosa, Sven Schnelle, Richard Henderson

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 --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>
---
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 | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index f05452824e..8bfcd0625a 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -378,3 +378,28 @@ class BootLinuxConsole(Test):
         self.vm.launch()
         console_pattern = 'Kernel command line: %s' % kernel_command_line
         self.wait_for_console_pattern(console_pattern)
+
+    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')
+
+        self.exec_command_and_wait_for_pattern('exit',
+                                               'UPDATE>')
+        self.exec_command_and_wait_for_pattern('ls',
+                                               'IMAGE1B')
+        self.exec_command_and_wait_for_pattern('exit',
+                                               'THIS UTILITY WILL NOW '
+                                               'RESET THE SYSTEM.....')
-- 
2.21.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine
  2019-10-10 12:21 [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine Philippe Mathieu-Daudé
  2019-10-10 12:21 ` [PATCH 1/2] tests/boot_console: Send <carriage return> on serial lines Philippe Mathieu-Daudé
  2019-10-10 12:21 ` [PATCH 2/2] tests/boot_console: Test booting HP-UX firmware upgrade Philippe Mathieu-Daudé
@ 2019-10-18 14:23 ` Philippe Mathieu-Daudé
  2019-10-18 14:40   ` Sven Schnelle
  2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-10-18 14:23 UTC (permalink / raw)
  To: qemu-devel@nongnu.org Developers, Sven Schnelle, Cleber Rosa
  Cc: Helge Deller, Eduardo Habkost, Richard Henderson

ping?

Sven since you tested this series, can I add your Tested-by tag?

On Thu, Oct 10, 2019 at 2:21 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> This tests boot a HP-UX firmware CD-ROM which allow serial
> console interaction. This exercise the PCI LSI53C895A SCSI
> controller.
>
> I'm not adding it to the Travis-CI list because I'm not sure
> how to split/rename the current job, see:
> https://www.mail-archive.com/qemu-devel@nongnu.org/msg644753.html
>
> Philippe Mathieu-Daudé (2):
>   tests/boot_console: Send <carriage return> on serial lines
>   tests/boot_console: Test booting HP-UX firmware upgrade
>
>  tests/acceptance/boot_linux_console.py | 27 +++++++++++++++++++++++++-
>  1 file changed, 26 insertions(+), 1 deletion(-)


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine
  2019-10-18 14:23 ` [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine Philippe Mathieu-Daudé
@ 2019-10-18 14:40   ` Sven Schnelle
  0 siblings, 0 replies; 7+ messages in thread
From: Sven Schnelle @ 2019-10-18 14:40 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Helge Deller, Richard Henderson,
	qemu-devel@nongnu.org Developers, Eduardo Habkost, Cleber Rosa

Hi Philippe,
On Fri, Oct 18, 2019 at 04:23:10PM +0200, Philippe Mathieu-Daudé wrote:

> Sven since you tested this series, can I add your Tested-by tag?

Sure, please do.

> On Thu, Oct 10, 2019 at 2:21 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> >
> > This tests boot a HP-UX firmware CD-ROM which allow serial
> > console interaction. This exercise the PCI LSI53C895A SCSI
> > controller.
> >
> > I'm not adding it to the Travis-CI list because I'm not sure
> > how to split/rename the current job, see:
> > https://www.mail-archive.com/qemu-devel@nongnu.org/msg644753.html
> >
> > Philippe Mathieu-Daudé (2):
> >   tests/boot_console: Send <carriage return> on serial lines
> >   tests/boot_console: Test booting HP-UX firmware upgrade
> >
> >  tests/acceptance/boot_linux_console.py | 27 +++++++++++++++++++++++++-
> >  1 file changed, 26 insertions(+), 1 deletion(-)

Best Regards
Sven


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 1/2] tests/boot_console: Send <carriage return> on serial lines
  2019-10-10 12:21 ` [PATCH 1/2] tests/boot_console: Send <carriage return> on serial lines Philippe Mathieu-Daudé
@ 2020-01-29 18:20   ` Wainer dos Santos Moschetta
  0 siblings, 0 replies; 7+ messages in thread
From: Wainer dos Santos Moschetta @ 2020-01-29 18:20 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Helge Deller, Richard Henderson, Sven Schnelle, Eduardo Habkost,
	Cleber Rosa


On 10/10/19 9:21 AM, Philippe Mathieu-Daudé wrote:
> Some firmwares don't parse the <Newline> control character and
> expect a <carriage return>.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>   tests/acceptance/boot_linux_console.py | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index 8a9a314ab4..f05452824e 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -51,7 +51,7 @@ class BootLinuxConsole(Test):
>                   self.fail(fail)
>   
>       def exec_command_and_wait_for_pattern(self, command, success_message):
> -        command += '\n'
> +        command += '\r\n'
>           self.vm.console_socket.sendall(command.encode())
>           self.wait_for_console_pattern(success_message)
>   

This doesn't apply anymore since exec_command_and_wait_for_pattern() is 
now part of the avocado_qemu module.

I'm little worried about this breaking the current tests that use the 
method. Could you please run those tests before putting it on the pull 
request, Philippe?

Besides that, this change looks good to me:

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] tests/boot_console: Test booting HP-UX firmware upgrade
  2019-10-10 12:21 ` [PATCH 2/2] tests/boot_console: Test booting HP-UX firmware upgrade Philippe Mathieu-Daudé
@ 2020-01-29 18:28   ` Wainer dos Santos Moschetta
  0 siblings, 0 replies; 7+ messages in thread
From: Wainer dos Santos Moschetta @ 2020-01-29 18:28 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Helge Deller, Richard Henderson, Sven Schnelle, Eduardo Habkost,
	Cleber Rosa


On 10/10/19 9:21 AM, Philippe Mathieu-Daudé wrote:
> 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 --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>
> ---
> 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.

Yeah, there is some discussion about the fact that boot_linux_console 
contain more than just Linux boot tests. Also the 'boot something' 
acceptance tests list is growing fast, thus IMO soon we gonna need to 
re-organize the code. So I'm ok to merge this in boot_linux_console, 
then later refactor it all.

I could not test it because the changes no longer applies. The code 
looks good though, so:

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

- Wainer

> ---
>   tests/acceptance/boot_linux_console.py | 25 +++++++++++++++++++++++++
>   1 file changed, 25 insertions(+)
>
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index f05452824e..8bfcd0625a 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -378,3 +378,28 @@ class BootLinuxConsole(Test):
>           self.vm.launch()
>           console_pattern = 'Kernel command line: %s' % kernel_command_line
>           self.wait_for_console_pattern(console_pattern)
> +
> +    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')
> +
> +        self.exec_command_and_wait_for_pattern('exit',
> +                                               'UPDATE>')
> +        self.exec_command_and_wait_for_pattern('ls',
> +                                               'IMAGE1B')
> +        self.exec_command_and_wait_for_pattern('exit',
> +                                               'THIS UTILITY WILL NOW '
> +                                               'RESET THE SYSTEM.....')



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-01-29 18:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-10 12:21 [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine Philippe Mathieu-Daudé
2019-10-10 12:21 ` [PATCH 1/2] tests/boot_console: Send <carriage return> on serial lines Philippe Mathieu-Daudé
2020-01-29 18:20   ` Wainer dos Santos Moschetta
2019-10-10 12:21 ` [PATCH 2/2] tests/boot_console: Test booting HP-UX firmware upgrade Philippe Mathieu-Daudé
2020-01-29 18:28   ` Wainer dos Santos Moschetta
2019-10-18 14:23 ` [PATCH 0/2] tests/acceptance: Add tests for the PA-RISC machine Philippe Mathieu-Daudé
2019-10-18 14:40   ` Sven Schnelle

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