This patchset adds support to loop on failed tests, as proposed by Ted Ts'o in https://lwn.net/Articles/897061/: add a mode that will immediately rerun a failed test 25 or 100 times to establish a failure percentage. Changes since previous version (v2), following Darrick's review: - dropped RFC flag - rebased atop v2022.07.03 - simplified test iterator + results stashed at the end of each iteration, rather than start of next / loop-exit - dropped aggregate loop stats message from xunit report - squashed full/dmesg/out.bad file retention patch with rerun patch Changes since previous version (v1): - rebased atop upstream v2022.06.26 - added a few extra cleanup commits - append details for every rerun to xunit output + provide aggregate stats via <testcase status=X> - extend _stash_test_status to call report hook, as well as save failure artifacts with a .rerun# suffix Diffstat: check | 136 +++++++++++++++++++++++++++++++++++++------------- common/report | 90 ++++++++++++++++----------------- 2 files changed, 143 insertions(+), 83 deletions(-)