]> git.ipfire.org Git - thirdparty/rsync.git/commit
fleettest: add a per-target max_retry budget for flaky tests
authorAndrew Tridgell <andrew@tridgell.net>
Sat, 6 Jun 2026 05:43:02 +0000 (15:43 +1000)
committerAndrew Tridgell <andrew@tridgell.net>
Sat, 6 Jun 2026 06:41:51 +0000 (16:41 +1000)
commitbad790dd2ec0f1d913fd3df3e4c2a6920c421c30
tree2933321a666131a884a8aaf76f401fee37af14be
parentc67d1935d89103c1141f2492254e88b2b40c87b9
fleettest: add a per-target max_retry budget for flaky tests

A slow or heavily-loaded fleet box can occasionally flake a concurrency-
sensitive test (e.g. a daemon/lsh test under -j8 on a nested-VM Solaris box).
Rather than dropping the whole target to a lower -j, add a per-target
"max_retry" property: after a run, each failed test is re-run on its own up to
max_retry more times, and any that then pass are dropped from the failure list.
Recovered tests are listed in a new "RECOVERED" report section, so a flake is
surfaced, never silently hidden.

Applies to every pass for the target (pipe, tcp, protoNN, nonroot).  Default 0
keeps the current no-retry behaviour.
testsuite/fleettest.json.example
testsuite/fleettest.py