[PATCH v2 0/9] TLV integration tests and test/py cleanup

Jonas Rebmann jre at pengutronix.de
Mon Sep 29 01:03:51 PDT 2025


With TLV signature coming up, we want to test all things TLV more
thoroughly, including "roundtrip" integration tests that include the
bareboxtlv-generator python-script and the tlv barebox-command.

As this is the third test module to make use of the testfs, it seemed
adequate to revisit its implementation.

Avoid integration test logic outside pytest; migrate logic from .github/
and scripts/ into pytest.

Use fixtures for testcase preconditions and migrate existing testdata
preparation from scripts/generate_testfs.sh.

Cleanups here and there.

The ci-container needs to be rebuilt before the TLV tests will succeed
in CI.

Signed-off-by: Jonas Rebmann <jre at pengutronix.de>
---
Changes in v2:
- work around a corner case where a failed network test leads to
  unrelated pritinting above the tlv command output (triggered by
  accessing the 9pfs)
- move fitimage testdata generation to fixture and drop script
- Enable CMD_TLV for multi_v7 and multi_v8 (required for tlv_command test)
- Skip tlv_command test if CMD_TLV is disabled
- Ensure that pwd is returned to / after dm_verity test even on failure
- Silently skip generating testdata for the fit tests for platforms for
  which no files are provided to prevent ci failure on mips and riscv
- minor improvements in style and consistency
- Link to v1: https://lore.barebox.org/barebox/20250926-tlv-integration-v1-0-45dc68b9b602@pengutronix.de

---
Jonas Rebmann (9):
      test: when testfs feature is available, always enable it
      test: provide testfs via fixture
      test: move dm-verity testdata generation to fixture
      test: move fitimage testdata generation to fixture and drop script
      test: py: test_bootchooser: remove dead code
      commands: tlv: clarify error opening tlv
      ci: container: install crcmod and cryptography
      configs: enable tlv command for multi_v7 and multi_v8
      test: py: add TLV integration tests

 .github/workflows/test-labgrid-pytest.yml          | 13 ----
 arch/arm/configs/multi_v7_defconfig                |  2 +
 arch/arm/configs/multi_v8_defconfig                |  2 +
 commands/tlv.c                                     |  8 ++-
 conftest.py                                        | 14 ++++
 scripts/generate_testfs.sh                         | 77 ---------------------
 test/Containerfile                                 |  8 ++-
 test/py/test_bootchooser.py                        |  4 --
 test/py/test_dm.py                                 | 59 ++++++++++++++--
 test/py/test_fit.py                                | 46 +++++++++++--
 test/py/test_tlv.py                                | 78 ++++++++++++++++++++++
 .../testdata}/multi_v7_defconfig-gzipped.its       |  0
 .../testdata}/multi_v8_defconfig-gzipped.its       |  0
 13 files changed, 200 insertions(+), 111 deletions(-)
---
base-commit: 1b817ae40c2ba628ba0ce413564ea77e91a6009b
change-id: 20250926-tlv-integration-945bdd7903d9

Best regards,
--  
Jonas Rebmann <jre at pengutronix.de>




More information about the barebox mailing list