|
Ran
|
Jobs
1
|
Files
867
|
Run time
3min
|
Badge
README BADGES
|
push
github
Fix reuse of `ConsolidateBlocks` instances (#15258) (#15266) * Fix reuse of `ConsolidateBlocks` instances The `_qubit_map` state added to `ConsolidateBlocks` in #15083 (cb103d95) was attempting to get round an awkward internal `PassManager` use to pass the mapping into recursive calls. Unfortunately, the state was not cleared on exit to the pass, so re-use of the pass object would be invalid, such as by calling the `PassManager.run` method on the result of `generate_preset_pass_manager` more than once on circuits with different sizes. Rather than trying to plaster over the poor use of state, this commit instead moves the runtime logic to be in the `PropertySet`, so re-use troubles are limited to single executions. It's still technically possible for the `PropertySet` to become polluted if `ConsolidateBlocks` throws an internal exception that is forcibly suppressed such that the pipeline continues, but this is completely non-standard, would require significant effort to achieve, and most likely there are large numbers of transpiler passes that are not completely exception-safe anyway. * Add test of `PassManager.run` over a list On some platforms this will be multiprocessing, but it doesn't hurt to try it for the platforms that aren't. * Document use of property-set key (cherry picked from commit 4019fd9d9) Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
8 of 8 new or added lines in 1 file covered. (100.0%)
13 existing lines in 3 files now uncovered.92390 of 104490 relevant lines covered (88.42%)
536092.55 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
82.79 |
0.0% | crates/circuit/src/parameter/parameter_expression.rs |
| 4 |
92.27 |
0.26% | crates/qasm2/src/lex.rs |
| 8 |
72.66 |
-0.33% | crates/circuit/src/parameter/symbol_expr.rs |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 18886908843.1 | 867 |
88.42 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
|---|