• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

google / openhtf / 38825581804
64%
master: 65%

Build:
Build:
LAST BUILD BRANCH: test_985831084
DEFAULT BRANCH: master
Ran 15 Oct 2026 11:47PM UTC
Jobs 4
Files 65
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Oct 2026 11:46PM UTC coverage: 64.053% (+0.4%) from 63.693%
38825581804

push

github

copybara-github
Make OpenHTF TestState, PhaseExecutor, and KillableThread thread-safe for concurrent phases.

- Use thread-local storage for running_phase_state, test_api, and last_phase_record in TestState.
- Track multiple active phases via TestState.active_phases and guard shared state access with state_lock.
- Bind the monitor thread in core/monitors.py to the monitored phase's PhaseState so monitors keep sampling while other phases run concurrently.
- Make TestApi.get_measurement/get_attachment (and the _strict variants) check the bound phase before consulting TestState, so lookups stay correct from threads started by a phase.
- Raise a clearer error from TestState.test_api when called from a thread not bound to a phase while multiple phases are running.
- Finalize test outcome as ERROR when any phase has PhaseOutcome.ERROR in finalize_normally().
- Guard cProfile.Profile.enable() with a module lock in KillableThread so concurrent phase threads do not conflict when profiling is enabled.

PiperOrigin-RevId: 1000478038

122 of 135 new or added lines in 5 files covered. (90.37%)

6 existing lines in 3 files now uncovered.

4950 of 7728 relevant lines covered (64.05%)

2.56 hits per line

Uncovered Changes

Lines Coverage ∆ File
7
92.89
0.94% openhtf/core/test_state.py
5
69.16
-1.98% openhtf/util/threads.py
1
96.38
0.21% openhtf/core/phase_executor.py

Coverage Regressions

Lines Coverage ∆ File
4
92.89
0.94% openhtf/core/test_state.py
1
88.84
0.0% openhtf/util/test.py
1
69.16
-1.98% openhtf/util/threads.py
Jobs
ID Job ID Ran Files Coverage
1 python-3.14 - 38825581804.1 15 Oct 2026 11:47PM UTC 65
64.04
GitHub Action Run
2 python-3.11 - 38825581804.2 15 Oct 2026 11:47PM UTC 65
64.05
GitHub Action Run
3 python-3.12 - 38825581804.3 15 Oct 2026 11:47PM UTC 65
64.05
GitHub Action Run
4 python-3.13 - 38825581804.4 15 Oct 2026 11:47PM UTC 65
64.05
GitHub Action Run
Source Files on build 38825581804
  • Tree
  • List 65
  • Changed 7
  • Source Changed 6
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38825581804
  • 3bf3b5b1 on github
  • Prev Build on test_999984425 (#38717888598)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc