-
Notifications
You must be signed in to change notification settings - Fork 1
Labels
Description
Three tests are failing on my machine (macOS ARM-based) when on the main branch. This is currently blocking merging #564.
uv Python version 3.10.18
uv pip freeze:
annotated-types==0.7.0
antlr4-python3-runtime==4.13.2
asttokens==3.0.0
attrs==25.4.0
autoray==0.8.0
beartype==0.22.3
black==25.9.0
-e file:///<...>/bloqade-circuit
certifi==2025.10.5
cffi==2.0.0
cfgv==3.4.0
charset-normalizer==3.4.4
cirq-core==1.5.0
clarabel==0.11.1
click==8.3.0
contourpy==1.3.2
cotengra==0.7.5
coverage==7.11.0
cycler==0.12.1
cytoolz==1.1.0
decorator==5.2.1
distlib==0.4.0
duet==0.2.9
exceptiongroup==1.3.0
executing==2.2.1
ffmpeg==1.4
filelock==3.20.0
fonttools==4.60.1
identify==2.6.15
idna==3.11
iniconfig==2.3.0
ipython==8.37.0
isort==7.0.0
jedi==0.19.2
kirin-toolchain==0.17.31
kiwisolver==1.4.9
lark==1.3.0
llvmlite==0.45.1
markdown-it-py==4.0.0
matplotlib==3.10.7
matplotlib-inline==0.2.1
mdurl==0.1.2
mpmath==1.3.0
mypy==1.18.2
mypy-extensions==1.1.0
networkx==3.4.2
nodeenv==1.9.1
numba==0.62.1
numpy==2.2.6
openqasm3==1.0.1
opt-einsum==3.4.0
ordered-set==4.1.0
packaging==25.0
pandas==2.3.3
parso==0.8.5
pathspec==0.12.1
pexpect==4.9.0
pillow==12.0.0
platformdirs==4.5.0
pluggy==1.6.0
ply==3.11
pre-commit==4.3.0
prompt-toolkit==3.0.52
psutil==7.1.1
ptyprocess==0.7.0
pure-eval==0.2.3
pycparser==2.23
pydantic==2.10.6
pydantic-core==2.27.2
pygments==2.19.2
pylatex==1.4.2
pyparsing==3.2.5
pyqasm==1.0.0
pyqrack==1.69.1
pyqrack-cpu==1.69.1
pyqt5==5.15.11
pyqt5-qt5==5.15.17
pyqt5-sip==12.17.1
pyright==1.1.406
pytest==8.4.2
python-dateutil==2.9.0.post0
pytokens==0.2.0
pytz==2025.2
pyyaml==6.0.3
qbraid==0.10.0
qbraid-core==0.1.45
qpsolvers==4.8.1
quimb==1.11.2
requests==2.32.5
rich==14.2.0
ruff==0.14.1
rust-just==1.43.0
rustworkx==0.17.1
scipy==1.15.3
six==1.17.0
sortedcontainers==2.4.0
stack-data==0.6.3
stim==1.15.0
sympy==1.14.0
tomli==2.3.0
tomlkit==0.13.3
toolz==1.1.0
tqdm==4.67.1
traitlets==5.14.3
typing-extensions==4.15.0
tzdata==2025.2
urllib3==2.5.0
virtualenv==20.35.3
wcwidth==0.2.14
==================================================== FAILURES ====================================================
_____________________________________________ test_classical_control _____________________________________________
run_sim = False
def test_classical_control(run_sim: bool = False):
q = cirq.LineQubit.range(2)
circuit = cirq.Circuit(
cirq.H(q[0]),
cirq.measure(q[0]),
cirq.X(q[1]).with_classical_controls("q(0)"),
cirq.measure(q[1]),
)
print(circuit)
if run_sim:
simulator = cirq.Simulator()
simulator.run(circuit, repetitions=1)
> kernel = load_circuit(circuit)
test/cirq_utils/test_cirq_to_squin.py:281:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/bloqade/cirq_utils/lowering.py:102: in load_circuit
body = target.run(
src/bloqade/cirq_utils/lowering.py:269: in run
Walk(CFGCompactify()).rewrite(frame.curr_region)
.venv/lib/python3.10/site-packages/kirin/rewrite/walk.py:38: in rewrite
result = self.rule.rewrite(subnode)
.venv/lib/python3.10/site-packages/kirin/rewrite/abc.py:38: in rewrite
return self.rewrite_Statement(cast(Statement, node))
.venv/lib/python3.10/site-packages/kirin/rewrite/compactify.py:286: in rewrite_Statement
cfg = trait.get_graph(region)
.venv/lib/python3.10/site-packages/kirin/ir/traits/region/ssacfg.py:22: in get_graph
return CFG(region)
<string>:5: in __init__
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = CFG(parent=Block(_args=(<BlockArgument[bool] cond, uses: 0>,)), entry=None)
def __post_init__(self):
> if self.parent.blocks.isempty():
E AttributeError: 'Block' object has no attribute 'blocks'
.venv/lib/python3.10/site-packages/kirin/analysis/cfg.py:29: AttributeError
---------------------------------------------- Captured stdout call ----------------------------------------------
0: ──────H───M───────────
║
1: ──────────╫───X───M───
║ ║
q(0): ═══════@═══^═══════
________________________________________ test_classical_control_register _________________________________________
def test_classical_control_register():
q = cirq.LineQubit.range(2)
circuit = cirq.Circuit(
cirq.H(q[0]),
cirq.measure(q, key="test"),
cirq.X(q[1]).with_classical_controls("test"),
cirq.measure(q[1]),
)
print(circuit)
> kernel = load_circuit(circuit)
test/cirq_utils/test_cirq_to_squin.py:296:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/bloqade/cirq_utils/lowering.py:102: in load_circuit
body = target.run(
src/bloqade/cirq_utils/lowering.py:269: in run
Walk(CFGCompactify()).rewrite(frame.curr_region)
.venv/lib/python3.10/site-packages/kirin/rewrite/walk.py:38: in rewrite
result = self.rule.rewrite(subnode)
.venv/lib/python3.10/site-packages/kirin/rewrite/abc.py:38: in rewrite
return self.rewrite_Statement(cast(Statement, node))
.venv/lib/python3.10/site-packages/kirin/rewrite/compactify.py:286: in rewrite_Statement
cfg = trait.get_graph(region)
.venv/lib/python3.10/site-packages/kirin/ir/traits/region/ssacfg.py:22: in get_graph
return CFG(region)
<string>:5: in __init__
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = CFG(parent=Block(_args=(<BlockArgument[bool] cond, uses: 0>,)), entry=None)
def __post_init__(self):
> if self.parent.blocks.isempty():
E AttributeError: 'Block' object has no attribute 'blocks'
.venv/lib/python3.10/site-packages/kirin/analysis/cfg.py:29: AttributeError
---------------------------------------------- Captured stdout call ----------------------------------------------
0: ──────H───M───────────
║
1: ──────────M───X───M───
║ ║
test: ═══════@═══^═══════
________________________________________ test_multiple_classical_controls ________________________________________
run_sim = False
def test_multiple_classical_controls(run_sim: bool = False):
q = cirq.LineQubit.range(2)
q2 = cirq.GridQubit(0, 1)
circuit = cirq.Circuit(
cirq.H(q[0]),
cirq.H(q2),
cirq.measure(q, key="test"),
cirq.measure(q2),
cirq.X(q[1]).with_classical_controls("test", "q(0, 1)"),
cirq.measure(q[1]),
)
print(circuit)
if run_sim:
sim = cirq.Simulator()
sim.run(circuit)
> kernel = load_circuit(circuit)
test/cirq_utils/test_cirq_to_squin.py:318:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src/bloqade/cirq_utils/lowering.py:102: in load_circuit
body = target.run(
src/bloqade/cirq_utils/lowering.py:269: in run
Walk(CFGCompactify()).rewrite(frame.curr_region)
.venv/lib/python3.10/site-packages/kirin/rewrite/walk.py:38: in rewrite
result = self.rule.rewrite(subnode)
.venv/lib/python3.10/site-packages/kirin/rewrite/abc.py:38: in rewrite
return self.rewrite_Statement(cast(Statement, node))
.venv/lib/python3.10/site-packages/kirin/rewrite/compactify.py:286: in rewrite_Statement
cfg = trait.get_graph(region)
.venv/lib/python3.10/site-packages/kirin/ir/traits/region/ssacfg.py:22: in get_graph
return CFG(region)
<string>:5: in __init__
???
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = CFG(parent=Block(_args=(<BlockArgument[bool] cond, uses: 0>,)), entry=None)
def __post_init__(self):
> if self.parent.blocks.isempty():
E AttributeError: 'Block' object has no attribute 'blocks'
.venv/lib/python3.10/site-packages/kirin/analysis/cfg.py:29: AttributeError
---------------------------------------------- Captured stdout call ----------------------------------------------
┌──┐
(0, 1): ────H─────M────────────
║
0: ─────────H────M╫────────────
║║
1: ──────────────M╫────X───M───
║║ ║
q(0, 1): ════════╬@════^═══════
║ ║
test: ═══════════@═════^═══════
└──┘
================================================ warnings summary ================================================
test/cirq_utils/test_clifford_to_cirq.py::test_custom_qubits
/Users/caseyduckering/docs/dev/qec-arch/bloqade-circuit/src/bloqade/cirq_utils/emit/base.py:96: UserWarning: The keyword argument `qubits` is deprecated. Use `circuit_qubits` instead.
warn(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================ short test summary info =============================================
FAILED test/cirq_utils/test_cirq_to_squin.py::test_classical_control - AttributeError: 'Block' object has no attribute 'blocks'
FAILED test/cirq_utils/test_cirq_to_squin.py::test_classical_control_register - AttributeError: 'Block' object has no attribute 'blocks'
FAILED test/cirq_utils/test_cirq_to_squin.py::test_multiple_classical_controls - AttributeError: 'Block' object has no attribute 'blocks'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/Users/caseyduckering/docs/dev/qec-arch/bloqade-circuit/.venv/lib/python3.10/site-packages/cirq/circuits/circuit_operation.py:173: KeyboardInterrupt
(to show a full traceback on KeyboardInterrupt use --full-trace)
============================= 3 failed, 217 passed, 14 xfailed, 1 warning in 11.18s ==============================