You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
"relative to the remote $HOME), env_prefix, configure_pre, nonroot, protocols.",
14
+
"relative to the remote $HOME), env_prefix, configure_pre, nonroot, protocols,",
15
+
"max_retry.",
15
16
"",
16
17
"nonroot: true reruns -- as the non-root ssh user, after the sudo runs -- the",
17
18
"tests that declare `fleet_nonroot = True` at module level (so the set is",
18
19
"maintained in the test files, not here).",
19
20
"",
20
21
"protocols: [30, 29] adds one extra stdio-pipe test pass per listed version,",
21
22
"each run with runtests --protocol=N (the fleet analogue of a workflow's",
22
-
"check30/check29 steps) and shown as a protoNN column. Keys starting with",
23
-
"\"_\" are comments. See testsuite/README.md."
23
+
"check30/check29 steps) and shown as a protoNN column.",
24
+
"",
25
+
"max_retry: N (default 0) re-runs each failed test on its own up to N more",
26
+
"times and drops any that then pass (listed under RECOVERED, not hidden). Use",
27
+
"on a slow/loaded box where concurrency-sensitive tests occasionally flake,",
28
+
"instead of dropping the whole target to a lower pipe_jobs/tcp_jobs.",
29
+
"",
30
+
"Keys starting with \"_\" are comments. See testsuite/README.md."
24
31
],
25
32
"targets": [
26
33
{
@@ -40,12 +47,13 @@
40
47
"--disable-xxhash", "--disable-lz4"]
41
48
},
42
49
{
50
+
"_comment": "Nested-VM OpenBSD occasionally flakes a daemon/tcp test under load; max_retry re-runs just the failed test rather than throttling the whole box (tcp_jobs/pipe_jobs are still available if you prefer that).",
0 commit comments