From 9e53205938c4d51df1c351cf8cbb1db529590660 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Thu, 1 Oct 2026 07:17:49 +0200 Subject: [PATCH] retest-floating: check what the bench brings (docker, python3), not what the sync puts there (R-749) The check asked for /opt/upg/upgrade-test.py before sync_bench() copies it, so a bench freshly created by the runbook was refused in one minute (2026-10-01). After the sync, the file is now required. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS --- scripts/retest-floating.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/retest-floating.py b/scripts/retest-floating.py index 5a6be85..806494b 100644 --- a/scripts/retest-floating.py +++ b/scripts/retest-floating.py @@ -95,9 +95,11 @@ def bench(script, timeout=3600): def prerequisites(): missing = [] - r = bench("test -f /opt/upg/upgrade-test.py && echo bench-ok", timeout=120) + # R-749: ask for what the bench must BRING (docker, python3) — /opt/upg is what sync_bench() puts there AFTER this + # check; asking for it here refused every freshly created bench. + r = bench("command -v docker >/dev/null && command -v python3 >/dev/null && docker info >/dev/null 2>&1 && echo bench-ok", timeout=120) if "bench-ok" not in (r.stdout or ""): - missing.append("the bench LXC %s on %s with /opt/upg (runbook §2)" % (BENCH_CT, BENCH_HOST)) + missing.append("the bench LXC %s on %s with docker and python3 (runbook §2)" % (BENCH_CT, BENCH_HOST)) if not os.path.isdir(os.path.join(DRILL, ".git")): missing.append("the drill checkout at %s (runbook §3)" % DRILL) if not os.path.isfile(os.path.join(os.environ.get("SC", os.path.expanduser("~/.felhom-retest")), ".ctlpw")): @@ -202,7 +204,7 @@ def main(argv): print("CANNOT START — missing: " + "; ".join(missing)) return 2 s = sync_bench() - if "synced" not in (s.stdout or ""): + if "synced" not in (s.stdout or "") or "bench-ok" not in (bench("test -f /opt/upg/upgrade-test.py && echo bench-ok", timeout=120).stdout or ""): print("CANNOT START — the bench could not be synced: " + (s.stdout + s.stderr).strip()[-200:]) return 2 results = []