test: Add RNG integration tests#346
Merged
Merged
Conversation
irfankhan10
approved these changes
May 18, 2026
There was a problem hiding this comment.
Pull request overview
Adds a new integration test module that exercises the H-Series RNG primitives (seed/index/get_rng_num) via qnx.start_execute_job against the H2-1E device, covering three behavioral cases: same seed reproducibility, index-based variation within a single run, and different-seed divergence.
Changes:
- Adds
get_rng_circuithelper to build a 1-qubit circuit usingset_rng_seed/set_rng_index/get_rng_numwith N 32-bit RNG registers. - Adds
ints_from_pytket_shotsutility to convert per-shot register bits to integers (LSB-first). - Adds
test_rngwhich submits three execute jobs and asserts (1) same-seed runs produce identical RNG values per register, (2) same-seed with index produces unique values across shots/registers, (3) a different seed produces different RNG values.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+183
to
+192
| for rng_reg_name in rng_reg_names: | ||
| reg = [Bit(f"{rng_reg_name}", i) for i in range(32)] | ||
|
|
||
| rng3_numbers = ints_from_pytket_shots( | ||
| rng3_result.get_shots(cbits=reg) | ||
| ) | ||
|
|
||
| assert rng1_A_numbers != rng3_numbers, ( | ||
| f"RNG numbers of {rng_reg_name} generated with a different seeds should be different." | ||
| ) |
Comment on lines
+114
to
+120
| execute_job_case3 = qnx.start_execute_job( | ||
| programs=[rng_circ_case3_ref], | ||
| name=f"Same seed no index RNG job for {test_case_name}", | ||
| project=my_proj, | ||
| backend_config=backend_config, | ||
| n_shots=[n_shots], | ||
| ) |
| ) | ||
|
|
||
| assert rng1_A_numbers != rng3_numbers, ( | ||
| f"RNG numbers of {rng_reg_name} generated with a different seeds should be different." |
vanyae-cqc
approved these changes
May 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New
test_rng.pyintegration tests suite for verifying the RNG capabilities as per the H-series and pytket docs.