[PATCH 0/5] test: teach pytest the emulate.pl tricks

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Jun 19 02:52:35 PDT 2023


test/emulate.pl duplicates a lot of what labgrid is already doing
in order to instantiate virtualized devices and to allow interactive
use of emulated barebox with the same environment config.

In preparation for phasing out emulate.pl, let's teach pytest how to
replace it. As a first step we add these new pytest options:

  --interactive	start Qemu interactively using labgrid environment
  --dry-run     print Qemu command line that would've been used
  --rng         instaiate RNG device
  --console     instaiate console device
  --blk         instaiate block device
  --qemu=OPT    pass OPT to qemu

The intention is to ultimately move as much as possible of this handling
into labgrid itself, e.g. labgrid already has provisions for fixing up
disk options.

Ahmad Fatoum (5):
  test: add pytest.ini with defaults
  test: have pytest --interactive start interactive Qemu session
  test: lookup qemu binary in path if no tools key exists
  test: add support for passing devices on command line
  test: don't hardcode origin of OVMF.fd

 .github/workflows/test-labgrid-pytest.yml     |  4 -
 pytest.ini                                    |  2 +
 test/arm/a15 at multi_v7_defconfig.yaml          |  4 +-
 test/arm/a9 at multi_v7_defconfig.yaml           |  4 +-
 test/arm/multi_v8_defconfig.yaml              |  4 +-
 test/arm/qemu-raspi0 at multi_v7_defconfig.yaml  |  4 +-
 .../arm/qemu-raspi1ap at multi_v7_defconfig.yaml |  4 +-
 test/arm/qemu-raspi2b at multi_v7_defconfig.yaml |  4 +-
 .../qemu-sabrelite at multi_v7_defconfig.yaml    |  4 +-
 test/arm/virt at multi_v7_defconfig.yaml         |  4 +-
 test/conftest.py                              | 78 +++++++++++++++++
 test/mips/be at qemu-malta_defconfig.yaml        |  4 +-
 test/mips/le at qemu-malta_defconfig.yaml        |  4 +-
 test/mips/qemu-malta64el_defconfig.yaml       |  4 +-
 test/openrisc/generic_defconfig.yaml          |  4 +-
 test/riscv/qemu-virt64 at rv64i_defconfig.yaml   |  4 +-
 test/riscv/qemu at virt32_defconfig.yaml         |  4 +-
 test/riscv/sifive at rv64i_defconfig.yaml        |  4 +-
 test/strategy.py                              | 87 ++++++++++++++++++-
 test/x86/pc at efi_defconfig.yaml                | 10 +--
 test/x86/q35 at efi_defconfig.yaml               | 10 +--
 test/x86/virtio at efi_defconfig.yaml            | 10 +--
 22 files changed, 187 insertions(+), 74 deletions(-)
 create mode 100644 pytest.ini

-- 
2.39.2




More information about the barebox mailing list