mbox series

[0/6] Refactor runfvp for OEFVPSerialTarget

Message ID 20220712102830.625090-1-peter.hoyes@arm.com
Headers show
Series Refactor runfvp for OEFVPSerialTarget | expand

Message

Peter Hoyes July 12, 2022, 10:28 a.m. UTC
From: Peter Hoyes <Peter.Hoyes@arm.com>

Please can this patch series be merged into master + kirkstone.

To enable creating consoles for multiple terminals, refactor 
runfvp into an "fvp" library in meta-arm/lib, which can be used
by both the runfvp script and meta-arm FVP test targets. Create
selftests for the fvp library.

So that the test target can connect to all desired test
consoles on startup, and to enable reuse of test cases between
FVPs, add a new FVP_TEST_CONSOLES variable, the varflags of
which define mappings between test case console names and
underlying console names. FVP_CONSOLE is mapped as "default" by
default.

Create a new OEFVPSerialTarget which still extends OESSHTarget,
but also exposes an interface for validating the output of
multiple terminals using pexpect.

Create a "linuxboot" test case which uses the pexpect interface
on OEFVPSerialTarget. Switch corstone500, corstone1000 and
fvp-baser-aemv8r64 to use this test case with the new test
target class and remove the noop test.

Peter Hoyes (6):
  scripts,arm/lib: Refactor runfvp into FVPRunner
  arm/oeqa: Add selftests for FVP library
  arm/oeqa: Refactor OEFVPTarget to use FVPRunner and pexpect
  arm/classes: Change FVP_CONSOLE to FVP_CONSOLES in fvpconf
  arm/oeqa: Create new OEFVPSerialTarget with pexpect interface
  arm/oeqa: Use linuxboot and OEFVPSerialTarget instead of noop

 .../conf/machine/corstone1000-fvp.conf        |   4 +-
 meta-arm-bsp/conf/machine/corstone500.conf    |   4 +-
 .../conf/machine/fvp-baser-aemv8r64.conf      |   4 +-
 meta-arm/classes/fvpboot.bbclass              |   5 +-
 meta-arm/lib/fvp/__init__.py                  |   0
 meta-arm/lib/fvp/conffile.py                  |  58 +++++
 meta-arm/lib/fvp/runner.py                    | 127 +++++++++
 meta-arm/lib/fvp/terminal.py                  |  59 +++++
 meta-arm/lib/oeqa/controllers/fvp.py          | 181 ++++++++-----
 meta-arm/lib/oeqa/runtime/cases/linuxboot.py  |  18 ++
 meta-arm/lib/oeqa/runtime/cases/noop.py       |  12 -
 meta-arm/lib/oeqa/selftest/cases/runfvp.py    |  58 +++++
 scripts/runfvp                                | 240 +++---------------
 13 files changed, 482 insertions(+), 288 deletions(-)
 create mode 100644 meta-arm/lib/fvp/__init__.py
 create mode 100644 meta-arm/lib/fvp/conffile.py
 create mode 100644 meta-arm/lib/fvp/runner.py
 create mode 100644 meta-arm/lib/fvp/terminal.py
 create mode 100644 meta-arm/lib/oeqa/runtime/cases/linuxboot.py
 delete mode 100644 meta-arm/lib/oeqa/runtime/cases/noop.py

Comments

Jon Mason July 12, 2022, 2:27 p.m. UTC | #1
On Tue, 12 Jul 2022 11:28:24 +0100, Peter Hoyes wrote:
> Please can this patch series be merged into master + kirkstone.
> 
> To enable creating consoles for multiple terminals, refactor
> runfvp into an "fvp" library in meta-arm/lib, which can be used
> by both the runfvp script and meta-arm FVP test targets. Create
> selftests for the fvp library.
> 
> [...]

Applied, thanks!

[1/6] scripts,arm/lib: Refactor runfvp into FVPRunner
      commit: 306639bbd5dbb46d257c57342cb8980c8e0468d2
[2/6] arm/oeqa: Add selftests for FVP library
      commit: 5ec49f964b01826fb9578255c1b85c8ef001b09d
[3/6] arm/oeqa: Refactor OEFVPTarget to use FVPRunner and pexpect
      commit: b3ab04f81305e108db83013e2e38cc465b28ec4a
[4/6] arm/classes: Change FVP_CONSOLE to FVP_CONSOLES in fvpconf
      commit: ff90c8ad54ebba9d1be5e137009e00ae0734424d
[5/6] arm/oeqa: Create new OEFVPSerialTarget with pexpect interface
      commit: 30b1452025c4b62de98e1514223a2ff483436ce6
[6/6] arm/oeqa: Use linuxboot and OEFVPSerialTarget instead of noop
      commit: 7f611a0d2ebfb2d52fa52afe27a335cdcf7cec70

Best regards,
Peter Hoyes July 12, 2022, 2:32 p.m. UTC | #2
On 12/07/2022 15:27, Jon Mason wrote:
> On Tue, 12 Jul 2022 11:28:24 +0100, Peter Hoyes wrote:
>> Please can this patch series be merged into master + kirkstone.
>>
>> To enable creating consoles for multiple terminals, refactor
>> runfvp into an "fvp" library in meta-arm/lib, which can be used
>> by both the runfvp script and meta-arm FVP test targets. Create
>> selftests for the fvp library.
>>
>> [...]
> Applied, thanks!
>
> [1/6] scripts,arm/lib: Refactor runfvp into FVPRunner
>        commit: 306639bbd5dbb46d257c57342cb8980c8e0468d2
> [2/6] arm/oeqa: Add selftests for FVP library
>        commit: 5ec49f964b01826fb9578255c1b85c8ef001b09d
> [3/6] arm/oeqa: Refactor OEFVPTarget to use FVPRunner and pexpect
>        commit: b3ab04f81305e108db83013e2e38cc465b28ec4a
> [4/6] arm/classes: Change FVP_CONSOLE to FVP_CONSOLES in fvpconf
>        commit: ff90c8ad54ebba9d1be5e137009e00ae0734424d
> [5/6] arm/oeqa: Create new OEFVPSerialTarget with pexpect interface
>        commit: 30b1452025c4b62de98e1514223a2ff483436ce6
> [6/6] arm/oeqa: Use linuxboot and OEFVPSerialTarget instead of noop
>        commit: 7f611a0d2ebfb2d52fa52afe27a335cdcf7cec70
>
> Best regards,

Thanks!

Please can this series also be backported to kirkstone.