[PATCH RESEND v4 00/13] add barebox in-tree testing infrastructure

Ahmad Fatoum a.fatoum at pengutronix.de
Fri Jun 4 01:46:51 PDT 2021


v4 -> v4 (RESEND):
  - Readd lost Acked-by's (Sorry for the noise)

v3 -> v4:
  - Make it clearer in commit message and comments that some YAML
    configs can't be tested by labgrid, because they use emulators
    beside QEMU (Jan)
  - Use !template "$LG_BUILDDIR/..." to have labgrid do the
    substitution. Previously, it was seemingly done being substituted
    by pyyaml. (Jan)
  - Use YAML::XS (libyaml binding) instead of YAML::Tiny to support
    !template
  - Exit with error when mixing specification of virtual devices on
    emulate.pl command-line with --test. They are only supported
    when running QEMU directly for interactive use
  - Fix some inaccuracies in docs and help text
  - Add new --verbosity option to control both tuxmake and pytest.
    Default value is 1 for both, so tuxmake default output stays
    unchanged, but pytest now prints a line per test run.
  - Squashed stray hunk into original selftest commit

v2 -> v3:
  - Added own BareboxTestStrategy instead of reusing labgrid's.
    This affords us flexibility in future and lets us get rid
    of unused ShellDriver boilerplate in YAML/conftest (Rouven)
  - Make selftest timeout of 30 seconds explicit (Rouven)
    This can be increased as needed in future.
  - Print out barebox output when selftest assertion fails (Rouven)
  - Collected Rouven's off-list Acked-by's

v1 -> v2:
  - drop already merged patches
  - use objcopy to swap image byte order instead of writing something new (Jules)
  - always run tests from source directory, not build directory when
    building out-of-tree (honour KBUILD_OUTPUT, build symlink in that case)
  - add some more sample tests
  - add test/riscv/sifive_defconfig.yaml

Ahmad Fatoum (13):
  kbuild: add install target
  kbuild: add ARCH={i386, x86_64} as aliases for x86
  kbuild: add ARCH=um alias for sandbox
  MIPS: qemu-malta: generate swapped image as part of multi-image build
  openrisc: set default KBUILD_IMAGE
  Documentation: boards: RISC-V: update TinyEMU support
  test: add basic barebox self-test infrastructure
  test: self: port Linux printf kselftest
  test: add labgrid-style configs for some emulated targets
  test: add first sample tests
  test: add emulate.pl, a runner for barebox on emulated targets
  test: self: run selftests as part of the pytest suite
  test: add bthread test

 Documentation/boards/emulated.rst             |  75 +++
 Documentation/boards/mips/qemu-malta.rst      |  16 +-
 Documentation/boards/riscv.rst                |  20 +-
 Documentation/boards/riscv/barebox-virt32.cfg |   7 +
 Documentation/boards/riscv/barebox-virt64.cfg |   7 +
 Kconfig                                       |   1 +
 Makefile                                      |  28 +-
 arch/openrisc/Makefile                        |   2 +
 commands/Makefile                             |   1 +
 commands/selftest.c                           |  88 +++
 common/startup.c                              |   4 +
 images/.gitignore                             |   1 +
 images/Makefile                               |   7 +-
 images/Makefile.malta                         |  10 +-
 include/bselftest.h                           |  74 +++
 include/stdlib.h                              |   5 +
 test/.gitignore                               |   1 +
 test/Kconfig                                  |   8 +
 test/Makefile                                 |   1 +
 test/__init__.py                              |   0
 test/arm/a15 at vexpress_defconfig.yaml          |  20 +
 test/arm/a9 at vexpress_defconfig.yaml           |  20 +
 test/arm/qemu_virt64_defconfig.yaml           |  24 +
 test/arm/vexpress_defconfig.yaml              |   1 +
 test/arm/virt at vexpress_defconfig.yaml         |  22 +
 test/conftest.py                              |  27 +
 test/emulate.pl                               | 528 ++++++++++++++++++
 test/kconfig/base.cfg                         |   4 +
 test/kconfig/full.cfg                         |   2 +
 test/kconfig/virtio-pci.cfg                   |   6 +
 test/mips/be at qemu-malta_defconfig.yaml        |  22 +
 test/mips/le at qemu-malta_defconfig.yaml        |  25 +
 test/mips/qemu-malta_defconfig.yaml           |   1 +
 test/openrisc/generic_defconfig.yaml          |  20 +
 test/py/__init__.py                           |   0
 test/py/helper.py                             |  38 ++
 test/py/test_bselftests.py                    |   8 +
 test/py/test_bthread.py                       |  23 +
 test/py/test_shell.py                         |  36 ++
 test/riscv/qemu at virt32_defconfig.yaml         |  27 +
 test/riscv/qemu at virt64_defconfig.yaml         |  27 +
 test/riscv/sifive_defconfig.yaml              |  25 +
 test/riscv/tinyemu at virt32_defconfig.yaml      |  22 +
 test/riscv/tinyemu at virt64_defconfig.yaml      |  22 +
 test/riscv/virt32_defconfig.yaml              |   1 +
 test/riscv/virt64_defconfig.yaml              |   1 +
 test/sandbox/sandbox_defconfig.yaml           |  12 +
 test/self/Kconfig                             |  39 ++
 test/self/Makefile                            |   4 +
 test/self/core.c                              |  22 +
 test/self/printf.c                            | 302 ++++++++++
 test/strategy.py                              |  53 ++
 test/x86/efi_defconfig.yaml                   |   1 +
 test/x86/pc at efi_defconfig.yaml                |  31 +
 test/x86/q35 at efi_defconfig.yaml               |  31 +
 test/x86/virtio at efi_defconfig.yaml            |  32 ++
 56 files changed, 1810 insertions(+), 25 deletions(-)
 create mode 100644 Documentation/boards/emulated.rst
 create mode 100644 Documentation/boards/riscv/barebox-virt32.cfg
 create mode 100644 Documentation/boards/riscv/barebox-virt64.cfg
 create mode 100644 commands/selftest.c
 create mode 100644 include/bselftest.h
 create mode 100644 test/.gitignore
 create mode 100644 test/Kconfig
 create mode 100644 test/Makefile
 create mode 100644 test/__init__.py
 create mode 100644 test/arm/a15 at vexpress_defconfig.yaml
 create mode 100644 test/arm/a9 at vexpress_defconfig.yaml
 create mode 100644 test/arm/qemu_virt64_defconfig.yaml
 create mode 120000 test/arm/vexpress_defconfig.yaml
 create mode 100644 test/arm/virt at vexpress_defconfig.yaml
 create mode 100644 test/conftest.py
 create mode 100755 test/emulate.pl
 create mode 100644 test/kconfig/base.cfg
 create mode 100644 test/kconfig/full.cfg
 create mode 100644 test/kconfig/virtio-pci.cfg
 create mode 100644 test/mips/be at qemu-malta_defconfig.yaml
 create mode 100644 test/mips/le at qemu-malta_defconfig.yaml
 create mode 120000 test/mips/qemu-malta_defconfig.yaml
 create mode 100644 test/openrisc/generic_defconfig.yaml
 create mode 100644 test/py/__init__.py
 create mode 100644 test/py/helper.py
 create mode 100644 test/py/test_bselftests.py
 create mode 100644 test/py/test_bthread.py
 create mode 100644 test/py/test_shell.py
 create mode 100644 test/riscv/qemu at virt32_defconfig.yaml
 create mode 100644 test/riscv/qemu at virt64_defconfig.yaml
 create mode 100644 test/riscv/sifive_defconfig.yaml
 create mode 100644 test/riscv/tinyemu at virt32_defconfig.yaml
 create mode 100644 test/riscv/tinyemu at virt64_defconfig.yaml
 create mode 120000 test/riscv/virt32_defconfig.yaml
 create mode 120000 test/riscv/virt64_defconfig.yaml
 create mode 100644 test/sandbox/sandbox_defconfig.yaml
 create mode 100644 test/self/Kconfig
 create mode 100644 test/self/Makefile
 create mode 100644 test/self/core.c
 create mode 100644 test/self/printf.c
 create mode 100644 test/strategy.py
 create mode 120000 test/x86/efi_defconfig.yaml
 create mode 100644 test/x86/pc at efi_defconfig.yaml
 create mode 100644 test/x86/q35 at efi_defconfig.yaml
 create mode 100644 test/x86/virtio at efi_defconfig.yaml

-- 
2.29.2




More information about the barebox mailing list