Test failure on MacOS
cqc-alec opened this issue · 0 comments
cqc-alec commented
The following errors are observed on the CI on MacOS (though not on other platforms):
pytest --doctest-modules
============================= test session starts ==============================
platform darwin -- Python 3.9.13, pytest-7.1.3, pluggy-1.0.0
rootdir: /Users/runner/work/pytket-pennylane/pytket-pennylane
plugins: flaky-3.7.0, mock-3.8.2
collected 5 items / 1 error
==================================== ERRORS ====================================
________________ ERROR collecting tests/run_pennylane_tests.py _________________
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests/__init__.py:169: in test_device
subprocess.run(cmds + pytest_args, check=not interactive)
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/subprocess.py:528: in run
raise CalledProcessError(retcode, process.args,
E subprocess.CalledProcessError: Command '['pytest', '/Users/runner/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests', '--device=pytket.pytketdevice', '--shots=None', '--skip-ops', '--no-flaky-report', '-x', '-s']' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
run_pennylane_tests.py:6: in <module>
test_device("pytket.pytketdevice", shots=None, pytest_args=["-x", "-s"])
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests/__init__.py:181: in test_device
sys.exit(1)
E SystemExit: 1
------------------------------- Captured stdout --------------------------------
============================= test session starts ==============================
platform darwin -- Python 3.9.13, pytest-7.1.3, pluggy-1.0.0
rootdir: /Users/runner/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests, configfile: pytest.ini
plugins: flaky-3.7.0, mock-3.8.2
collected 372 items
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests/test_compare_default_qubit.py sssss....
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests/test_gates.py ....................................................................................................................................................ss..s..............ss..............................................
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests/test_gates_with_expval.py ..............................................F
=================================== FAILURES ===================================
_ TestGatesQubitExpval.test_supported_gate_two_wires_with_parameters[device_kwargs0-QubitUnitary-par18-expected_output18] _
self = <pennylane.devices.tests.test_gates_with_expval.TestGatesQubitExpval object at 0x11d375940>
device = <function device.<locals>._device at 0x125d19310>
tol = <function tol.<locals>._tol at 0x125d19940>, name = 'QubitUnitary'
par = [array([[ 1. , 0. , 0. , 0. ],
[ 0. , 0.70710678, 0.70710678, 0. ... [ 0. , 0.70710678, -0.70710678, 0. ],
[ 0. , 0. , 0. , 1. ]])]
expected_output = [-0.5, -0.5]
@pytest.mark.parametrize(
"name,par,expected_output",
[
("CRX", [0], [-1 / 2, -1 / 2]),
("CRX", [-pi], [-1 / 2, 1]),
("CRX", [pi / 2], [-1 / 2, 1 / 4]),
("CRY", [0], [-1 / 2, -1 / 2]),
("CRY", [-pi], [-1 / 2, 1]),
("CRY", [pi / 2], [-1 / 2, 1 / 4]),
("CRZ", [0], [-1 / 2, -1 / 2]),
("CRZ", [-pi], [-1 / 2, -1 / 2]),
("CRZ", [pi / 2], [-1 / 2, -1 / 2]),
("MultiRZ", [0], [-1 / 2, -1 / 2]),
("MultiRZ", [-pi], [-1 / 2, -1 / 2]),
("MultiRZ", [pi / 2], [-1 / 2, -1 / 2]),
("CRot", [pi / 2, 0, 0], [-1 / 2, -1 / 2]),
("CRot", [0, pi / 2, 0], [-1 / 2, 1 / 4]),
("CRot", [0, 0, pi / 2], [-1 / 2, -1 / 2]),
("CRot", [pi / 2, 0, -pi], [-1 / 2, -1 / 2]),
("CRot", [0, pi / 2, -pi], [-1 / 2, 1 / 4]),
("CRot", [-pi, 0, pi / 2], [-1 / 2, -1 / 2]),
(
"QubitUnitary",
[
np.array(
[
[1, 0, 0, 0],
[0, 1 / sqrt(2), 1 / sqrt(2), 0],
[0, 1 / sqrt(2), -1 / sqrt(2), 0],
[0, 0, 0, 1],
]
)
],
[-1 / 2, -1 / 2],
),
(
"QubitUnitary",
[
np.array(
[
[-1, 0, 0, 0],
[0, 1 / sqrt(2), 1 / sqrt(2), 0],
[0, 1 / sqrt(2), -1 / sqrt(2), 0],
[0, 0, 0, -1],
]
)
],
[-1 / 2, -1 / 2],
),
],
)
def test_supported_gate_two_wires_with_parameters(
self, device, tol, name, par, expected_output
):
"""Tests supported parametrized gates that act on two wires"""
n_wires = 2
dev = device(n_wires)
op = getattr(qml.ops, name)
@qml.qnode(dev)
def circuit():
qml.QubitStateVector(np.array([1 / 2, 0, 0, sqrt(3) / 2]), wires=[0, 1])
op(*par, wires=[0, 1])
return qml.expval(qml.PauliZ(0)), qml.expval(qml.PauliZ(1))
> assert np.allclose(circuit(), expected_output, atol=tol(dev.shots))
E AssertionError: assert False
E + where False = <function allclose at 0x1071ab430>(tensor([-0.06525979, 0.06575039], requires_grad=True), [-0.5, -0.5], atol=1e-06)
E + where <function allclose at 0x1071ab430> = np.allclose
E + and tensor([-0.06525979, 0.06575039], requires_grad=True) = <QNode: wires=2, device='pytket.pytketdevice', interface='autograd', diff_method='best'>()
E + and 1e-06 = <function tol.<locals>._tol at 0x125d19940>(None)
E + where None = <PytketDevice device (wires=2, shots=None) at 0x125844400>.shots
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests/test_gates_with_expval.py:220: AssertionError
=============================== warnings summary ===============================
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/ops/qubit/non_parametric_ops.py:1962
/Users/runner/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/ops/qubit/non_parametric_ops.py:1962: UserWarning: The control_wires keyword will be removed soon. Use wires = (control_wires, target_wire) instead. See the documentation for more information.
warnings.warn(
test_compare_default_qubit.py::TestComparison::test_hermitian_expectation[device_kwargs0]
/Users/runner/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/qiskit/providers/aer/noise/errors/standard_errors.py:26: DeprecationWarning: Importing from 'qiskit.quantum_info.operators.pauli' is deprecated since Qiskit Terra 0.21 and the module will be removed in a future release. Import directly from 'qiskit.quantum_info'.
from qiskit.quantum_info.operators.pauli import Pauli
test_compare_default_qubit.py::TestComparison::test_hermitian_expectation[device_kwargs0]
/Users/runner/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pytket/extensions/qiskit/backends/aer.py:102: PendingDeprecationWarning: The qiskit.Aer entry point will be deprecated in a future release and subsequently removed. Instead you should use this directly from the root of the qiskit-aer package.
self._backend: "QiskitAerBackend" = Aer.get_backend(backend_name)
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED ../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pennylane/devices/tests/test_gates_with_expval.py::TestGatesQubitExpval::test_supported_gate_two_wires_with_parameters[device_kwargs0-QubitUnitary-par18-expected_output18]
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
============ 1 failed, 260 passed, 10 skipped, 3 warnings in 21.66s ============
=============================== warnings summary ===============================
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/qiskit/providers/aer/noise/errors/standard_errors.py:26
/Users/runner/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/qiskit/providers/aer/noise/errors/standard_errors.py:26: DeprecationWarning: Importing from 'qiskit.quantum_info.operators.pauli' is deprecated since Qiskit Terra 0.21 and the module will be removed in a future release. Import directly from 'qiskit.quantum_info'.
from qiskit.quantum_info.operators.pauli import Pauli
../../../../hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pytket/extensions/qiskit/backends/aer.py:102
/Users/runner/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/site-packages/pytket/extensions/qiskit/backends/aer.py:102: PendingDeprecationWarning: The qiskit.Aer entry point will be deprecated in a future release and subsequently removed. Instead you should use this directly from the root of the qiskit-aer package.
self._backend: "QiskitAerBackend" = Aer.get_backend(backend_name)
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR run_pennylane_tests.py - SystemExit: 1
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
=================== 2 warnings, 1 error in 62.39s (0:01:02) ====================