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

Qiskit / qiskit-fermions / 34236009275
98%

Build:
DEFAULT BRANCH: main
Ran 08 Sep 2026 02:09PM UTC
Jobs 1
Files 110
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

08 Sep 2026 02:05PM UTC coverage: 98.2% (-0.04%) from 98.24%
34236009275

push

github

web-flow
Test-suite sweep: duplication, runtime, gaps (#331)

* fix(operators)!: report FCIDump parse failures as catchable errors

`FCIDump::from_file` reported every parse failure by panicking. Crossing PyO3
that surfaced as `pyo3_runtime.PanicException`, which derives from
`BaseException` rather than `Exception`, so a caller guarding the parse with
`except Exception` never caught it and a Rust panic trace was printed to
stderr. A missing file is the single likeliest runtime error for this API, so
it was effectively unhandleable. On the C side the panic unwound across the FFI
boundary, which is undefined behaviour, and the function had no way to report
the failure at all because it returned the pointer directly.

The core now returns an `FCIDumpError` and each binding maps it onto its own
idiom: `OSError` for an unreadable path and `ValueError` for a format
violation in Python, a `QfExitCode` plus an out-parameter in C (matching the
convention the mapper functions already use).

The five Rust tests that pinned these paths asserted a panic message
substring; they now match on the error variant instead, which keeps them from
passing on an unrelated failure that happens to share wording. The gap that
hid this defect was on the Python side, which had no error-path test at all,
so the five cases are added there too.

Also resolves the two `TODO: actually assert all results!` markers in
`tests/c/test_fcidump.c`. Rather than transcribing the coefficients the Rust
tests already pin, the C tests assert the structural invariants the binding is
responsible for conveying: term and group counts, hermiticity, particle-number
conservation and max rank. `test_filtering.c` and `test_grouping.c` now check
the exit code too, so a bad fixture path fails cleanly instead of segfaulting.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

* refactor(cext): route integral pointers through slice_from_ptr

The four triangular-integral constructors were the only place in the C API... (continued)

49 of 54 new or added lines in 5 files covered. (90.74%)

11454 of 11664 relevant lines covered (98.2%)

565116.11 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
99.01
-0.99% crates/core/src/operators/library/fcidump.rs
Jobs
ID Job ID Ran Files Coverage
1 34236009275.1 08 Sep 2026 02:09PM UTC 110
98.2
GitHub Action Run
Source Files on build 34236009275
  • Tree
  • List 110
  • Changed 12
  • Source Changed 12
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34236009275
  • d506d4bc on github
  • Prev Build on main (#34232181495)
  • Next Build on main (#34241535841)
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