Skip to content

Consolidate Deployed Changes with Master + labelling change#24

Merged
uh-oh-monteiro merged 3 commits into
masterfrom
clean-master
Jul 5, 2026
Merged

Consolidate Deployed Changes with Master + labelling change#24
uh-oh-monteiro merged 3 commits into
masterfrom
clean-master

Conversation

@uh-oh-monteiro

@uh-oh-monteiro uh-oh-monteiro commented Jul 4, 2026

Copy link
Copy Markdown

Consolidation

Now that we have our own copy of openhtf, the trunk is master. When it was a fork, we'd merge all our custom halter changes into halter-mods. Both halter-mods and master diverged from google:openhtf's0e4f7c. However, halter-mods has a butt-load more changes. (master only stacks @kurtmc DDNS change on it). The history of halter-mods is pretty yucky (yay me!) but does have some vital changes.

@PaulSalaun made a bunch of ui changes to hotfix/webui-no-loading-test. This is likely because at the time, this was deployed to all the stations (my bad). The openhtf commit that hardware-test-framework points to is 82b0c5f - the latest commit on thathotfix branch. We ideally want all this moved onto master.

This commit has diverged from master in 3 big ways

  1. Operator Error escalation implementation @PaulSalaun
  2. Multislot / child test support @thealastair @jonny12375 and @uh-oh-monteiro
  3. New slot labelling in the history pane @uh-oh-monteiro (this honestly could be a separate PR, but I want to test it now before I leave, so including it as the test stations in their current state rely on chanes in (1) and (2))

I got claude to group the disparities into those 3 categories, with a commit for each. At the end of the day, these changes should have all the same things as what's currently deployed 0e4f7c, plus my stuff (3).

I'm also at the factory so I have the liberty of testing that all this stuff works.

New slot labelling for multislot

Adds a generic, optional label to each test's metadata that surfaces as a small badge on the left of its row in the station web UI's History panel. A test plan sets test.test_record.metadata['label'] to any string; the frontend reads that key and renders it (styled like the "running" status badge — light-blue fill, bold dark-blue text — flush to the row's left edge, with the DUT id centred beside it). Tests that don't set a label render unchanged, so it's opt-in and backwards-compatible. It's a generic way of additing additional information, which is visible on the history panel.

Its main use case is the P5 ICT 6-up plans: each child test sets its slot number (1–6), so operators can tell at a glance which fixture position each pass/fail row came from.

I kinda don't like the way it's implemented. We can add any info we want to metadata, but only the label value will display in this very specific way in the frontend At the same time, this is consistent with the the way the repo handles dut_id/test_name. It doesn't document that the fontend renders this. Cleanup in another PR perhaps

image

Squashed halter fork baseline on top of upstream + DDNS:
extended DUT id, unmanaged plugs + child tests, multislot/restart/
clickable-phase UI, multiplug-instantiation fix, DutIdentifier
serialisable, Jan-2025 upstream bump, child-test reporting fixes.
Squashed operator-fault-report-escalate: GUI fault panel, report
relay + escalate-to-PagerDuty, station_server.set_fault_report_handler /
set_fault_escalate_handler, node16 CI pin.
Adds a generic, optional metadata['label'] surfaced as a badge on the
left of each History row (styled like the running status badge, DUT id
centred). Null when unset, so unlabelled tests render unchanged. Used by
the P5 ICT 6-up plans to show each child test's slot number.
@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 28711066241

Coverage decreased (-1.2%) to 60.607%

Details

  • Coverage decreased (-1.2%) from the base build.
  • Patch coverage: 218 uncovered changes across 10 files (106 of 324 lines covered, 32.72%).
  • 9 coverage regressions across 3 files.

Uncovered Changes

File Changed Covered %
openhtf/output/servers/station_server.py 144 0 0.0%
openhtf/core/test_executor.py 42 8 19.05%
openhtf/plugs/init.py 45 31 68.89%
openhtf/core/phase_child_runner.py 25 15 60.0%
openhtf/core/test_descriptor.py 18 14 77.78%
openhtf/output/servers/pub_sub.py 4 0 0.0%
openhtf/core/results_collector.py 9 6 66.67%
openhtf/core/test_state.py 5 2 40.0%
openhtf/core/dut_id.py 15 14 93.33%
openhtf/core/phase_descriptor.py 3 2 66.67%
Total (13 files) 324 106 32.72%

Coverage Regressions

9 previously-covered lines in 3 files lost coverage.

File Lines Losing Coverage Coverage
openhtf/output/servers/station_server.py 5 0.0%
openhtf/plugs/init.py 3 84.97%
openhtf/core/test_descriptor.py 1 84.62%

Coverage Stats

Coverage Status
Relevant Lines: 7740
Covered Lines: 4691
Line Coverage: 60.61%
Coverage Strength: 3.03 hits per line

💛 - Coveralls

@Jwnadler Jwnadler left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know what most of this means but presume this has been tested

@uh-oh-monteiro

Copy link
Copy Markdown
Author

Works, and best to get onto master ASAP, before any more work gets added and clutters up the history

@uh-oh-monteiro
uh-oh-monteiro merged commit 043d840 into master Jul 5, 2026
14 checks passed
@uh-oh-monteiro
uh-oh-monteiro deleted the clean-master branch July 5, 2026 05:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants