[PATCH v4 00/13] add barebox in-tree testing infrastructure
Ahmad Fatoum
a.fatoum at pengutronix.de
Fri Jun 4 01:30:56 PDT 2021
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.
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