[PATCH 00/15] test: More work on parallel tests

Simon Glass sjg at chromium.org
Sun Aug 7 01:51:44 CEST 2022


This series makes a further attempt to get closer to having all tests
run in parallel. It introduces a new 'make pcheck' option which runs
tests in parallel, skipping those that are not compatible.

A number of fixes are included for existing tests. The vboot test is
updated to only run a single scenario in 'quick' mode.

This makes use of pytest's parallel-testing features. The resulting
times (including incremental building with LTO) on a 16-core machine are
as follows:

   make pcheck        - 1 minute 6 seconds
   make qcheck        - 3 minutes
   make check         - 5 minutes 15 seconds

Note that this is not a fair comparison, since 'make pcheck' omits a
number of tests, even more than 'make qcheck'.


Simon Glass (15):
  test: Fix test_pinmux to run in parallel
  test: Fix bootm_test_subst_var() running independently
  test/py: Allow tests to be marked single-threaded only
  test: Make test_bind_unbind_with_uclass() single-threaded
  test: Update FIT tests to run in parallel
  test: Make test_sqfs_ls() single-threaded
  test: Make test_efi_bootmgr() single-threaded
  test: Mark all but the first vboot test as slow
  test: Mark test_gpt tests as slow
  test: Make test_gpio_read() independent
  test: Refactor arg parsing for the run script
  test/py: Move U-Boot building into a function
  test/py: Support --build when running tests in parallel
  dtoc: Drop sys.exit() in test_fdt
  Makefile: Add a pcheck option to run tests in parallel

 Makefile                                      |   8 +-
 doc/develop/py_testing.rst                    |  37 ++++---
 doc/develop/testing.rst                       |   6 +-
 test/bootm.c                                  |   3 +-
 test/py/conftest.py                           | 104 +++++++++++++-----
 test/py/pytest.ini                            |   1 +
 test/py/requirements.txt                      |   2 +
 test/py/tests/test_bind.py                    |   1 +
 .../test_efi_bootmgr/test_efi_bootmgr.py      |   1 +
 test/py/tests/test_fit_ecdsa.py               |   4 +-
 test/py/tests/test_fit_hashes.py              |   5 +-
 .../test_fs/test_squashfs/test_sqfs_ls.py     |   1 +
 test/py/tests/test_gpio.py                    |   1 +
 test/py/tests/test_gpt.py                     |   3 +
 test/py/tests/test_pinmux.py                  |   1 +
 test/py/tests/test_vboot.py                   |   6 +-
 test/run                                      |  51 +++++++--
 tools/dtoc/test_fdt.py                        |   1 -
 18 files changed, 173 insertions(+), 63 deletions(-)

-- 
2.37.1.559.g78731f0fdb-goog



More information about the U-Boot mailing list