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

Qiskit / coheriq / 35917682633
86%
main: 86%

Build:
Build:
LAST BUILD BRANCH: gh-readonly-queue/main/pr-13-197500fb5da27eebf1603b562fd389c36a24323a
DEFAULT BRANCH: main
Ran 23 Sep 2026 08:42PM UTC
Jobs 1
Files 5
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

23 Sep 2026 08:41PM UTC coverage: 86.047% (+0.1%) from 85.915%
35917682633

push

github

web-flow
Require a materialized domain to create an engine (#11)

An engine inherits from its domain's class and validates its overrides
against the domain's candidate set, so its domain must already be
materialized.  That invariant was not enforced: AccelerationEngine()
accepted a domain still under construction, and the problem surfaced much
later as a bare AttributeError from materialize(), because the domain only
assigns _base when it materializes.

Check the domain state in __init__, under the domain lock already held
there, so the error is reported at the point the invariant is violated
rather than long afterwards.  This also protects override(), which
validates names against the domain's candidate set and is only meaningful
once that set is closed.

The check tests for CONSTRUCTING rather than "not MATERIALIZED" so that an
engine can still be created after the domain has been used, which is
existing behavior.

Also record why materialize() reads shared state without extra locking,
since it is not self-evident:

- self._bases is assigned once in __init__ and never mutated, and each
  base's _state and _impl are likewise set once by its own materialize().
- domain._base is assigned exactly once, when the domain materializes, and
  never reassigned.  With the new check guaranteeing the domain was
  materialized before the engine existed, that write happens-before any
  read here, so the engine lock alone is sufficient.

Assisted-by: Claude Opus 5

3 of 3 new or added lines in 1 file covered. (100.0%)

185 of 215 relevant lines covered (86.05%)

0.86 hits per line

Jobs
ID Job ID Ran Files Coverage
1 35917682633.1 23 Sep 2026 08:42PM UTC 5
86.05
GitHub Action Run
Source Files on build 35917682633
  • Tree
  • List 5
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35917682633
  • 197500fb on github
  • Prev Build on gh-readonly-queue/main/pr-10-b76e9ac612e1d3788975b57da74118459ece3678 (#35917681142)
  • Delete
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