Skip to content

test: Add RNG integration tests#346

Merged
ferbetanzo merged 4 commits into
mainfrom
test/rng-hsystems
May 19, 2026
Merged

test: Add RNG integration tests#346
ferbetanzo merged 4 commits into
mainfrom
test/rng-hsystems

Conversation

@ferbetanzo
Copy link
Copy Markdown
Collaborator

New test_rng.py integration tests suite for verifying the RNG capabilities as per the H-series and pytket docs.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_circuit helper to build a 1-qubit circuit using set_rng_seed/set_rng_index/get_rng_num with N 32-bit RNG registers.
  • Adds ints_from_pytket_shots utility to convert per-shot register bits to integers (LSB-first).
  • Adds test_rng which 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 thread integration/test_rng.py
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 thread integration/test_rng.py
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],
)
Comment thread integration/test_rng.py Outdated
)

assert rng1_A_numbers != rng3_numbers, (
f"RNG numbers of {rng_reg_name} generated with a different seeds should be different."
@ferbetanzo ferbetanzo merged commit c55ea2e into main May 19, 2026
7 checks passed
@ferbetanzo ferbetanzo deleted the test/rng-hsystems branch May 19, 2026 09:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants