From b90c53c7396bc29c670a6a0ac4d3c663e09a1560 Mon Sep 17 00:00:00 2001 From: ScottW514 Date: Sun, 16 Aug 2026 18:22:42 -0400 Subject: [PATCH] forgectrl: bump to 2df5122 (panel as src/ui/, bundled at build); panel-serves covers it The panel moved out of ui.c into src/ui/{index.html,panel.css,panel.js}, bundled into index_html[] by CMake. forgectrl.panel-serves now covers src/ui/** and checks that the served page carries no external asset reference - the bundle is what keeps the panel a single self-contained response, and this is where that would break. Fetch-verified and cross-built in the build tree (bitbake forgectrl). --- forgetest/forgetest/suite/forgectrl.py | 6 ++++-- .../recipes-forgefirm/forgectrl/forgectrl-pin.inc | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/forgetest/forgetest/suite/forgectrl.py b/forgetest/forgetest/suite/forgectrl.py index d49fe09..329c579 100644 --- a/forgetest/forgetest/suite/forgectrl.py +++ b/forgetest/forgetest/suite/forgectrl.py @@ -202,8 +202,8 @@ def settings_bounds(ctx): @test("forgectrl.panel-serves", title="Control panel and status endpoints", subsystem="forgectrl", kind="auto", est_min=1, - covers=[("forgectrl", "src/ui.*"), ("forgectrl", "src/status.*"), ("forgectrl", "src/cam.c"), - ("forgectrl", "src/main.c")], + covers=[("forgectrl", "src/ui.*"), ("forgectrl", "src/ui/**"), ("forgectrl", "src/status.*"), + ("forgectrl", "src/cam.c"), ("forgectrl", "src/main.c")], description="The panel page is served, /status carries the machine telemetry the panel and " "the acceptance tool read, and /cam/status answers.") def panel_serves(ctx): @@ -216,6 +216,8 @@ def panel_serves(ctx): text = body.decode("utf-8", "replace") ctx.check("