forgetest: logs.routing and logs.level-settings; export gets its own timeout

The routing test proves the path every logger takes and stands for the
emitters and relays in every component (fflog in forgectrl and grblHAL,
the SysLogHandler in the Python apps, the supervisor's per-controller
relay, the daemon's fifo relay, the render step): one logger daemon,
rendered rules and the effective record consistent with /logs, the tree,
the daemon's own emitter line, `logger` probes routed by program name in
the ff_line format, a stray program only in system/, kernel lines, relay
processes, nothing written outside the tree. The level-settings test
covers the validators and the configured-vs-effective / pending_reboot
contract. Both PASS on the bench with the existing logs.tree-tail-export
through the real Runner. That test's export call now uses a 300 s client:
the sanitized export took 13.9 s on the target and tripped the 10 s
default. Pin: forgectrl 4d19e9d (the sanitizer skips passes a line
cannot match; 4x faster). Coverage lint enforced: 0 uncovered.
This commit is contained in:
ScottW514
2026-08-15 17:44:44 -04:00
parent 07141d60fc
commit d17655c3c0
3 changed files with 262 additions and 4 deletions
+16
View File
@@ -2754,6 +2754,22 @@ motion, cooling, camera, cloud, then the live tests from the page.
separately drilled: a Python traceback through the relay — there
is no external trigger for that; the relay pipe is the same one the
`logger` probes and the wrapper's `exited (137)` line went through.
Acceptance catalog: `logs.tree-tail-export` (list, tail, sanitized
export with the token-leak check), `logs.routing` (one logger
daemon, rendered rules and effective record consistent with
`/logs`, the tree, the daemon's own emitter line, `logger` relay
probes routed by name in the ff_line format, a stray program only
in system/, kernel lines, relay processes, nothing outside the
tree) and `logs.level-settings` (bad level/port/proto/server
refused, a level change configured-not-effective with
`pending_reboot`, restored) — all three PASS on the bench
2026-08-15 through the real Runner against an isolated results log
(the image's forgetest still carries the older catalog until the
next dev image). Finding from that run, fixed: the sanitized export
took 13.9 s on the target (0.95 s unsanitized) and tripped the hw
client's 10 s default — the export call now has its own timeout
and the sanitizer skips a pattern pass when the line cannot match
it (4x faster on the host; forgectrl 4d19e9d, next image).
15. **Release acceptance tool (forgetest) - CODE-COMPLETE 2026-08-15,
host- and build-verified; bench validation pending, ships with the