poll_container and the dashboard _http_probe slept a full interval after
every failed probe, even when less time than that was left, so a poll
could run up to one interval past the deadline its caller gave. Clamp
the sleep to the time remaining. The overrun never turned a failure
into a pass; it only made the deadline inexact.
Pre-existing: the poll_container sleep since c918d07b50 (#51024,
@ethernet8023, 2026-06-22); the _http_probe sleep since fb51253620
(#34188, @benbarclay, 2026-05-29).
Add the rc=126 shape (docker exec cannot start the probe, e.g. the exec
user is missing, so nothing is printed) to the stand-in cases for the
fail-closed dashboard guard. The guard already rejects it because it
requires an observed refusal (rc=7); this case keeps that true.
The stalled-exec and dashboard-guard tests drive poll_container and
_http_probe with a scripted docker_exec_sh and a fake clock, so they
need no daemon and no image. They lived under tests/docker/, which the
default test runner skips, so they only ran in the Docker image jobs.
Move them to tests/test_docker_poll_stalled_exec.py, where default
discovery picks them up on every host, and drop the per-module
DOCKER_DAEMON_REQUIRED opt-out from the docker conftest: no module
under tests/docker/ uses it any more.