Hi,

This series improves the ublk selftests infrastructure with better
organization and parallel test execution support.

Key improvements:

1. Infrastructure enhancements:
   - Add helper functions for device cleanup and parallel execution
   - Implement group-based test targets for running test subsets
   - Track created devices for proper per-test cleanup
   - Increase timeouts to accommodate parallel test execution
   - Test time can be reduced to 1/3 with parallel execution by passing JOBS=8

2. Test organization:
   - Reorganize tests into logical groups (integrity, recover)
   - Refactor large tests into modular functions for maintainability

3. I/O ordering verification:
   - Remove test_generic_01.sh prone to false positives from block layer 
reordering
   - Improve test_generic_02.sh with bpftrace-based verification
   - Use block_io_start/block_rq_complete tracepoints for accurate tracking

These changes make the test suite more maintainable, easier to run in parallel,
and more reliable in detecting actual ublk driver issues vs. false positives.


Ming Lei (9):
  selftests: ublk: simplify UBLK_TEST_DIR handling
  selftests: ublk: refactor test_loop_08 into separate functions
  selftests: ublk: add _ublk_del_dev helper function
  selftests: ublk: track created devices for per-test cleanup
  selftests: ublk: add group-based test targets
  selftests: ublk: add _ublk_sleep helper for parallel execution
  selftests: ublk: increase timeouts for parallel test execution
  selftests: ublk: reorganize tests into integrity and recover groups
  selftests: ublk: improve I/O ordering test with bpftrace

 tools/testing/selftests/ublk/Makefile         |  54 ++++++-
 tools/testing/selftests/ublk/test_common.sh   |  51 +++++--
 .../testing/selftests/ublk/test_generic_01.sh |  47 ------
 .../testing/selftests/ublk/test_generic_02.sh |  22 ++-
 .../testing/selftests/ublk/test_generic_16.sh |   4 +-
 .../{test_null_04.sh => test_integrity_01.sh} |   8 +-
 .../selftests/ublk/test_integrity_02.sh       | 141 ++++++++++++++++++
 tools/testing/selftests/ublk/test_loop_08.sh  | 110 --------------
 tools/testing/selftests/ublk/test_part_02.sh  |   6 +-
 ...{test_generic_04.sh => test_recover_01.sh} |   0
 ...{test_generic_05.sh => test_recover_02.sh} |   0
 ...{test_generic_11.sh => test_recover_03.sh} |   0
 ...{test_generic_14.sh => test_recover_04.sh} |   0
 tools/testing/selftests/ublk/trace/seq_io.bt  |  47 ++++--
 14 files changed, 284 insertions(+), 206 deletions(-)
 delete mode 100755 tools/testing/selftests/ublk/test_generic_01.sh
 rename tools/testing/selftests/ublk/{test_null_04.sh => test_integrity_01.sh} 
(96%)
 create mode 100755 tools/testing/selftests/ublk/test_integrity_02.sh
 delete mode 100755 tools/testing/selftests/ublk/test_loop_08.sh
 rename tools/testing/selftests/ublk/{test_generic_04.sh => test_recover_01.sh} 
(100%)
 rename tools/testing/selftests/ublk/{test_generic_05.sh => test_recover_02.sh} 
(100%)
 rename tools/testing/selftests/ublk/{test_generic_11.sh => test_recover_03.sh} 
(100%)
 rename tools/testing/selftests/ublk/{test_generic_14.sh => test_recover_04.sh} 
(100%)

-- 
2.47.0


Reply via email to