From 64fe0f1cf3fa49e34646d44ef3a453e9eae99dde Mon Sep 17 00:00:00 2001 From: iuliazidaru Date: Thu, 23 Dec 2021 08:41:02 +0200 Subject: [PATCH 1/8] Relocate mock backends from qiskit.test.mock to qiskit.mock --- .../notes/access-backends-from-mock-d3897ecb8490219a.yaml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml diff --git a/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml b/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml new file mode 100644 index 000000000000..b957206a1797 --- /dev/null +++ b/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml @@ -0,0 +1,6 @@ +--- + +features: + - | + Mock backends from `~qiskit.test.mock` are now accessible from `~qiskit.mock`. + The `~qiskit.test.mock package will be deprecated soon. From 6b3b91a241bf2ce3ad95f797ace85c5e03e5d201 Mon Sep 17 00:00:00 2001 From: iuliazidaru Date: Thu, 23 Dec 2021 08:44:02 +0200 Subject: [PATCH 2/8] Relocate mock backends from qiskit.test.mock to qiskit.mock --- qiskit/mock/__init__.py | 39 +++++++++++++++++ test/python/mock/test_new_pulse_backend.py | 49 ++++++++++++++++++++++ test/python/mock/test_new_qasm_backend.py | 36 ++++++++++++++++ 3 files changed, 124 insertions(+) create mode 100644 qiskit/mock/__init__.py create mode 100644 test/python/mock/test_new_pulse_backend.py create mode 100644 test/python/mock/test_new_qasm_backend.py diff --git a/qiskit/mock/__init__.py b/qiskit/mock/__init__.py new file mode 100644 index 000000000000..2e62d02fd1f0 --- /dev/null +++ b/qiskit/mock/__init__.py @@ -0,0 +1,39 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2021. +# +# This code is licensed under the Apache License, Version 2.0. You may +# obtain a copy of this license in the LICENSE.txt file in the root directory +# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. +# +# Any modifications or derivative works of this code must retain this +# copyright notice, and modified files need to carry a notice indicating +# that they have been altered from the originals. + +""" +Utilities for mocking the IBMQ provider, including job responses and backends. + +The module includes dummy provider, backends, and jobs. +The purpose of these classes is to fake backends for testing purposes: +testing local timeouts, arbitrary responses or behavior, etc. + +The mock devices are mainly for testing the compiler. +""" + +from ..test.mock.fake_provider import FakeProvider, FakeLegacyProvider +from ..test.mock.fake_provider import FakeProviderFactory +from ..test.mock.fake_backend import FakeBackend, FakeLegacyBackend, HAS_AER +from ..test.mock.fake_pulse_backend import FakePulseBackend, FakePulseLegacyBackend +from ..test.mock.fake_qasm_backend import FakeQasmBackend, FakeQasmLegacyBackend +from ..test.mock.utils.configurable_backend import ConfigurableFakeBackend +from ..test.mock.fake_backend_v2 import FakeBackendV2, FakeBackend5QV2 +from ..test.mock.fake_mumbai_v2 import FakeMumbaiV2 +from ..test.mock.fake_job import FakeJob, FakeLegacyJob +from ..test.mock.fake_qobj import FakeQobj + +from ..test.mock.backends import * + +from ..test.mock.fake_qasm_simulator import FakeQasmSimulator +from ..test.mock.fake_openpulse_2q import FakeOpenPulse2Q +from ..test.mock.fake_openpulse_3q import FakeOpenPulse3Q +from ..test.mock.fake_1q import Fake1Q diff --git a/test/python/mock/test_new_pulse_backend.py b/test/python/mock/test_new_pulse_backend.py new file mode 100644 index 000000000000..77eba308746c --- /dev/null +++ b/test/python/mock/test_new_pulse_backend.py @@ -0,0 +1,49 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2021. +# +# This code is licensed under the Apache License, Version 2.0. You may +# obtain a copy of this license in the LICENSE.txt file in the root directory +# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. +# +# Any modifications or derivative works of this code must retain this +# copyright notice, and modified files need to carry a notice indicating +# that they have been altered from the originals. + +"""Test of pulse fake backends from qiskit.mock package.""" +import unittest +from qiskit import QuantumCircuit, transpile +from qiskit.test import QiskitTestCase +from qiskit.mock import FakeAthens +from qiskit.mock import HAS_AER +from qiskit.mock import FakePulseBackend + + +class FakePulseBackendConfigError(FakePulseBackend): + """Example backend not configured used for testing errors.""" + + props_filename = None + + +class FakePulseBackendsTest(QiskitTestCase): + """Tests for FakePulseBackend""" + + @unittest.skipUnless(HAS_AER, "qiskit-aer is required to run this test") + def test_fake_pulse_backend_configured(self): + """Fake backends honor kwargs passed.""" + backend = FakeAthens() # this is a FakePulseBackend implementation + + qc = QuantumCircuit(2) + qc.x(range(0, 2)) + qc.measure_all() + + trans_qc = transpile(qc, backend) + raw_counts = backend.run(trans_qc, shots=1000).result().get_counts() + + self.assertEqual(sum(raw_counts.values()), 1000) + + @unittest.expectedFailure + def test_fake_pulse_backend_configuration_error(self): + """Test configuration error for pulse backend.""" + backend = FakePulseBackendConfigError() + backend.defaults() diff --git a/test/python/mock/test_new_qasm_backend.py b/test/python/mock/test_new_qasm_backend.py new file mode 100644 index 000000000000..7ed146f8dbaa --- /dev/null +++ b/test/python/mock/test_new_qasm_backend.py @@ -0,0 +1,36 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2021. +# +# This code is licensed under the Apache License, Version 2.0. You may +# obtain a copy of this license in the LICENSE.txt file in the root directory +# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. +# +# Any modifications or derivative works of this code must retain this +# copyright notice, and modified files need to carry a notice indicating +# that they have been altered from the originals. + +"""Test of qasm fake backends from qiskit.mock package.""" +import unittest +from qiskit import QuantumCircuit, transpile +from qiskit.test import QiskitTestCase +from qiskit.mock import FakeBogota +from qiskit.mock import HAS_AER + + +class FakeQasmBackendsTest(QiskitTestCase): + """Tests for FakeQasmBackend""" + + @unittest.skipUnless(HAS_AER, "qiskit-aer is required to run this test") + def test_fake_qasm_backend_configured(self): + """Fake backends honor kwargs passed.""" + backend = FakeBogota() # this is a FakePulseBackend implementation + + qc = QuantumCircuit(2) + qc.x(range(0, 2)) + qc.measure_all() + + trans_qc = transpile(qc, backend) + raw_counts = backend.run(trans_qc, shots=1000).result().get_counts() + + self.assertEqual(sum(raw_counts.values()), 1000) From f5052b05d9d9308372b1d3ac603c8a34d9374274 Mon Sep 17 00:00:00 2001 From: iuliazidaru Date: Thu, 23 Dec 2021 09:40:07 +0200 Subject: [PATCH 3/8] fix: Inline literal start-string without end-string --- .../notes/access-backends-from-mock-d3897ecb8490219a.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml b/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml index b957206a1797..fc8f48e5f49f 100644 --- a/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml +++ b/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml @@ -3,4 +3,4 @@ features: - | Mock backends from `~qiskit.test.mock` are now accessible from `~qiskit.mock`. - The `~qiskit.test.mock package will be deprecated soon. + The `~qiskit.test.mock` package will be deprecated soon. From 22eb8caa75fb32937998f06f168a6b9355f6ddb8 Mon Sep 17 00:00:00 2001 From: iuliazidaru Date: Wed, 16 Feb 2022 14:01:39 +0200 Subject: [PATCH 4/8] change package to qiskit.providers.fake_provider --- qiskit/mock/__init__.py | 39 ------------------- qiskit/providers/fake_provider/__init__.py | 39 +++++++++++++++++++ ...s-backends-from-mock-d3897ecb8490219a.yaml | 2 +- test/python/mock/test_new_qasm_backend.py | 4 +- .../providers/fake_provider/__init__.py | 13 +++++++ .../fake_provider}/test_new_pulse_backend.py | 6 +-- 6 files changed, 58 insertions(+), 45 deletions(-) delete mode 100644 qiskit/mock/__init__.py create mode 100644 qiskit/providers/fake_provider/__init__.py create mode 100644 test/python/providers/fake_provider/__init__.py rename test/python/{mock => providers/fake_provider}/test_new_pulse_backend.py (90%) diff --git a/qiskit/mock/__init__.py b/qiskit/mock/__init__.py deleted file mode 100644 index 2e62d02fd1f0..000000000000 --- a/qiskit/mock/__init__.py +++ /dev/null @@ -1,39 +0,0 @@ -# This code is part of Qiskit. -# -# (C) Copyright IBM 2021. -# -# This code is licensed under the Apache License, Version 2.0. You may -# obtain a copy of this license in the LICENSE.txt file in the root directory -# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. -# -# Any modifications or derivative works of this code must retain this -# copyright notice, and modified files need to carry a notice indicating -# that they have been altered from the originals. - -""" -Utilities for mocking the IBMQ provider, including job responses and backends. - -The module includes dummy provider, backends, and jobs. -The purpose of these classes is to fake backends for testing purposes: -testing local timeouts, arbitrary responses or behavior, etc. - -The mock devices are mainly for testing the compiler. -""" - -from ..test.mock.fake_provider import FakeProvider, FakeLegacyProvider -from ..test.mock.fake_provider import FakeProviderFactory -from ..test.mock.fake_backend import FakeBackend, FakeLegacyBackend, HAS_AER -from ..test.mock.fake_pulse_backend import FakePulseBackend, FakePulseLegacyBackend -from ..test.mock.fake_qasm_backend import FakeQasmBackend, FakeQasmLegacyBackend -from ..test.mock.utils.configurable_backend import ConfigurableFakeBackend -from ..test.mock.fake_backend_v2 import FakeBackendV2, FakeBackend5QV2 -from ..test.mock.fake_mumbai_v2 import FakeMumbaiV2 -from ..test.mock.fake_job import FakeJob, FakeLegacyJob -from ..test.mock.fake_qobj import FakeQobj - -from ..test.mock.backends import * - -from ..test.mock.fake_qasm_simulator import FakeQasmSimulator -from ..test.mock.fake_openpulse_2q import FakeOpenPulse2Q -from ..test.mock.fake_openpulse_3q import FakeOpenPulse3Q -from ..test.mock.fake_1q import Fake1Q diff --git a/qiskit/providers/fake_provider/__init__.py b/qiskit/providers/fake_provider/__init__.py new file mode 100644 index 000000000000..723563c43b36 --- /dev/null +++ b/qiskit/providers/fake_provider/__init__.py @@ -0,0 +1,39 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2022. +# +# This code is licensed under the Apache License, Version 2.0. You may +# obtain a copy of this license in the LICENSE.txt file in the root directory +# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. +# +# Any modifications or derivative works of this code must retain this +# copyright notice, and modified files need to carry a notice indicating +# that they have been altered from the originals. + +""" +Utilities for mocking the IBMQ provider, including job responses and backends. + +The module includes dummy provider, backends, and jobs. +The purpose of these classes is to fake backends for testing purposes: +testing local timeouts, arbitrary responses or behavior, etc. + +The mock devices are mainly for testing the compiler. +""" + +from ...test.mock.fake_provider import FakeProvider, FakeLegacyProvider +from ...test.mock.fake_provider import FakeProviderFactory +from ...test.mock.fake_backend import FakeBackend, FakeLegacyBackend, HAS_AER +from ...test.mock.fake_pulse_backend import FakePulseBackend, FakePulseLegacyBackend +from ...test.mock.fake_qasm_backend import FakeQasmBackend, FakeQasmLegacyBackend +from ...test.mock.utils.configurable_backend import ConfigurableFakeBackend +from ...test.mock.fake_backend_v2 import FakeBackendV2, FakeBackend5QV2 +from ...test.mock.fake_mumbai_v2 import FakeMumbaiV2 +from ...test.mock.fake_job import FakeJob, FakeLegacyJob +from ...test.mock.fake_qobj import FakeQobj + +from ...test.mock.backends import * + +from ...test.mock.fake_qasm_simulator import FakeQasmSimulator +from ...test.mock.fake_openpulse_2q import FakeOpenPulse2Q +from ...test.mock.fake_openpulse_3q import FakeOpenPulse3Q +from ...test.mock.fake_1q import Fake1Q diff --git a/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml b/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml index fc8f48e5f49f..8aa1428628cf 100644 --- a/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml +++ b/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml @@ -2,5 +2,5 @@ features: - | - Mock backends from `~qiskit.test.mock` are now accessible from `~qiskit.mock`. + Mock backends from `~qiskit.test.mock` are now accessible from `~qiskit.providers.fake_provider`. The `~qiskit.test.mock` package will be deprecated soon. diff --git a/test/python/mock/test_new_qasm_backend.py b/test/python/mock/test_new_qasm_backend.py index 7ed146f8dbaa..b1ae20e1cdc4 100644 --- a/test/python/mock/test_new_qasm_backend.py +++ b/test/python/mock/test_new_qasm_backend.py @@ -14,8 +14,8 @@ import unittest from qiskit import QuantumCircuit, transpile from qiskit.test import QiskitTestCase -from qiskit.mock import FakeBogota -from qiskit.mock import HAS_AER +from qiskit.providers.fake_provider import FakeBogota +from qiskit.providers.fake_provider import HAS_AER class FakeQasmBackendsTest(QiskitTestCase): diff --git a/test/python/providers/fake_provider/__init__.py b/test/python/providers/fake_provider/__init__.py new file mode 100644 index 000000000000..9742d1bfd9c9 --- /dev/null +++ b/test/python/providers/fake_provider/__init__.py @@ -0,0 +1,13 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2022. +# +# This code is licensed under the Apache License, Version 2.0. You may +# obtain a copy of this license in the LICENSE.txt file in the root directory +# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. +# +# Any modifications or derivative works of this code must retain this +# copyright notice, and modified files need to carry a notice indicating +# that they have been altered from the originals. + +"""Qiskit Fake Provider tests.""" \ No newline at end of file diff --git a/test/python/mock/test_new_pulse_backend.py b/test/python/providers/fake_provider/test_new_pulse_backend.py similarity index 90% rename from test/python/mock/test_new_pulse_backend.py rename to test/python/providers/fake_provider/test_new_pulse_backend.py index 77eba308746c..72996790f42b 100644 --- a/test/python/mock/test_new_pulse_backend.py +++ b/test/python/providers/fake_provider/test_new_pulse_backend.py @@ -14,9 +14,9 @@ import unittest from qiskit import QuantumCircuit, transpile from qiskit.test import QiskitTestCase -from qiskit.mock import FakeAthens -from qiskit.mock import HAS_AER -from qiskit.mock import FakePulseBackend +from qiskit.providers.fake_provider import FakeAthens +from qiskit.providers.fake_provider import HAS_AER +from qiskit.providers.fake_provider import FakePulseBackend class FakePulseBackendConfigError(FakePulseBackend): From 4cf03a7fc73b4274ece683e3e91832059c5706d7 Mon Sep 17 00:00:00 2001 From: iuliazidaru Date: Wed, 16 Feb 2022 17:40:30 +0200 Subject: [PATCH 5/8] fix test failure --- qiskit/providers/fake_provider/__init__.py | 2 +- test/python/mock/test_new_qasm_backend.py | 4 ++-- test/python/providers/fake_provider/test_new_pulse_backend.py | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/qiskit/providers/fake_provider/__init__.py b/qiskit/providers/fake_provider/__init__.py index 723563c43b36..d2cd3641d6d3 100644 --- a/qiskit/providers/fake_provider/__init__.py +++ b/qiskit/providers/fake_provider/__init__.py @@ -22,7 +22,7 @@ from ...test.mock.fake_provider import FakeProvider, FakeLegacyProvider from ...test.mock.fake_provider import FakeProviderFactory -from ...test.mock.fake_backend import FakeBackend, FakeLegacyBackend, HAS_AER +from ...test.mock.fake_backend import FakeBackend, FakeLegacyBackend from ...test.mock.fake_pulse_backend import FakePulseBackend, FakePulseLegacyBackend from ...test.mock.fake_qasm_backend import FakeQasmBackend, FakeQasmLegacyBackend from ...test.mock.utils.configurable_backend import ConfigurableFakeBackend diff --git a/test/python/mock/test_new_qasm_backend.py b/test/python/mock/test_new_qasm_backend.py index b1ae20e1cdc4..16e0e14124e6 100644 --- a/test/python/mock/test_new_qasm_backend.py +++ b/test/python/mock/test_new_qasm_backend.py @@ -15,13 +15,13 @@ from qiskit import QuantumCircuit, transpile from qiskit.test import QiskitTestCase from qiskit.providers.fake_provider import FakeBogota -from qiskit.providers.fake_provider import HAS_AER +from qiskit.utils.backend_utils import has_aer class FakeQasmBackendsTest(QiskitTestCase): """Tests for FakeQasmBackend""" - @unittest.skipUnless(HAS_AER, "qiskit-aer is required to run this test") + @unittest.skipUnless(has_aer(), "qiskit-aer is required to run this test") def test_fake_qasm_backend_configured(self): """Fake backends honor kwargs passed.""" backend = FakeBogota() # this is a FakePulseBackend implementation diff --git a/test/python/providers/fake_provider/test_new_pulse_backend.py b/test/python/providers/fake_provider/test_new_pulse_backend.py index 72996790f42b..66be756d4818 100644 --- a/test/python/providers/fake_provider/test_new_pulse_backend.py +++ b/test/python/providers/fake_provider/test_new_pulse_backend.py @@ -15,7 +15,7 @@ from qiskit import QuantumCircuit, transpile from qiskit.test import QiskitTestCase from qiskit.providers.fake_provider import FakeAthens -from qiskit.providers.fake_provider import HAS_AER +from qiskit.utils.backend_utils import has_aer from qiskit.providers.fake_provider import FakePulseBackend @@ -28,7 +28,7 @@ class FakePulseBackendConfigError(FakePulseBackend): class FakePulseBackendsTest(QiskitTestCase): """Tests for FakePulseBackend""" - @unittest.skipUnless(HAS_AER, "qiskit-aer is required to run this test") + @unittest.skipUnless(has_aer(), "qiskit-aer is required to run this test") def test_fake_pulse_backend_configured(self): """Fake backends honor kwargs passed.""" backend = FakeAthens() # this is a FakePulseBackend implementation From 8b234976b51024da8853261f69b7b65fa9d52ca0 Mon Sep 17 00:00:00 2001 From: iuliazidaru Date: Thu, 17 Feb 2022 11:39:35 +0200 Subject: [PATCH 6/8] reformat file --- test/python/providers/fake_provider/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/python/providers/fake_provider/__init__.py b/test/python/providers/fake_provider/__init__.py index 9742d1bfd9c9..2eafea8b53c3 100644 --- a/test/python/providers/fake_provider/__init__.py +++ b/test/python/providers/fake_provider/__init__.py @@ -10,4 +10,4 @@ # copyright notice, and modified files need to carry a notice indicating # that they have been altered from the originals. -"""Qiskit Fake Provider tests.""" \ No newline at end of file +"""Qiskit Fake Provider tests.""" From 2631a36dc625b5eec2abe1c08abc0a203bd0a256 Mon Sep 17 00:00:00 2001 From: iuliazidaru Date: Mon, 21 Feb 2022 11:40:28 +0200 Subject: [PATCH 7/8] fix review comments --- qiskit/providers/fake_provider/__init__.py | 30 +++++++++---------- test/python/mock/test_new_qasm_backend.py | 4 +-- .../fake_provider/test_new_pulse_backend.py | 4 +-- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/qiskit/providers/fake_provider/__init__.py b/qiskit/providers/fake_provider/__init__.py index d2cd3641d6d3..e67dcf76dd2b 100644 --- a/qiskit/providers/fake_provider/__init__.py +++ b/qiskit/providers/fake_provider/__init__.py @@ -20,20 +20,20 @@ The mock devices are mainly for testing the compiler. """ -from ...test.mock.fake_provider import FakeProvider, FakeLegacyProvider -from ...test.mock.fake_provider import FakeProviderFactory -from ...test.mock.fake_backend import FakeBackend, FakeLegacyBackend -from ...test.mock.fake_pulse_backend import FakePulseBackend, FakePulseLegacyBackend -from ...test.mock.fake_qasm_backend import FakeQasmBackend, FakeQasmLegacyBackend -from ...test.mock.utils.configurable_backend import ConfigurableFakeBackend -from ...test.mock.fake_backend_v2 import FakeBackendV2, FakeBackend5QV2 -from ...test.mock.fake_mumbai_v2 import FakeMumbaiV2 -from ...test.mock.fake_job import FakeJob, FakeLegacyJob -from ...test.mock.fake_qobj import FakeQobj +from qiskit.test.mock.fake_provider import FakeProvider, FakeLegacyProvider +from qiskit.test.mock.fake_provider import FakeProviderFactory +from qiskit.test.mock.fake_backend import FakeBackend, FakeLegacyBackend +from qiskit.test.mock.fake_pulse_backend import FakePulseBackend, FakePulseLegacyBackend +from qiskit.test.mock.fake_qasm_backend import FakeQasmBackend, FakeQasmLegacyBackend +from qiskit.test.mock.utils.configurable_backend import ConfigurableFakeBackend +from qiskit.test.mock.fake_backend_v2 import FakeBackendV2, FakeBackend5QV2 +from qiskit.test.mock.fake_mumbai_v2 import FakeMumbaiV2 +from qiskit.test.mock.fake_job import FakeJob, FakeLegacyJob +from qiskit.test.mock.fake_qobj import FakeQobj -from ...test.mock.backends import * +from qiskit.test.mock.backends import * -from ...test.mock.fake_qasm_simulator import FakeQasmSimulator -from ...test.mock.fake_openpulse_2q import FakeOpenPulse2Q -from ...test.mock.fake_openpulse_3q import FakeOpenPulse3Q -from ...test.mock.fake_1q import Fake1Q +from qiskit.test.mock.fake_qasm_simulator import FakeQasmSimulator +from qiskit.test.mock.fake_openpulse_2q import FakeOpenPulse2Q +from qiskit.test.mock.fake_openpulse_3q import FakeOpenPulse3Q +from qiskit.test.mock.fake_1q import Fake1Q diff --git a/test/python/mock/test_new_qasm_backend.py b/test/python/mock/test_new_qasm_backend.py index 16e0e14124e6..0b8425647666 100644 --- a/test/python/mock/test_new_qasm_backend.py +++ b/test/python/mock/test_new_qasm_backend.py @@ -15,13 +15,13 @@ from qiskit import QuantumCircuit, transpile from qiskit.test import QiskitTestCase from qiskit.providers.fake_provider import FakeBogota -from qiskit.utils.backend_utils import has_aer +from qiskit.utils import optionals as _optionals class FakeQasmBackendsTest(QiskitTestCase): """Tests for FakeQasmBackend""" - @unittest.skipUnless(has_aer(), "qiskit-aer is required to run this test") + @unittest.skipUnless(_optionals.HAS_AER, "qiskit-aer is required to run this test") def test_fake_qasm_backend_configured(self): """Fake backends honor kwargs passed.""" backend = FakeBogota() # this is a FakePulseBackend implementation diff --git a/test/python/providers/fake_provider/test_new_pulse_backend.py b/test/python/providers/fake_provider/test_new_pulse_backend.py index 66be756d4818..e9c41334db54 100644 --- a/test/python/providers/fake_provider/test_new_pulse_backend.py +++ b/test/python/providers/fake_provider/test_new_pulse_backend.py @@ -15,7 +15,7 @@ from qiskit import QuantumCircuit, transpile from qiskit.test import QiskitTestCase from qiskit.providers.fake_provider import FakeAthens -from qiskit.utils.backend_utils import has_aer +from qiskit.utils import optionals as _optionals from qiskit.providers.fake_provider import FakePulseBackend @@ -28,7 +28,7 @@ class FakePulseBackendConfigError(FakePulseBackend): class FakePulseBackendsTest(QiskitTestCase): """Tests for FakePulseBackend""" - @unittest.skipUnless(has_aer(), "qiskit-aer is required to run this test") + @unittest.skipUnless(_optionals.HAS_AER, "qiskit-aer is required to run this test") def test_fake_pulse_backend_configured(self): """Fake backends honor kwargs passed.""" backend = FakeAthens() # this is a FakePulseBackend implementation From 82b7725d0a6ad0a66b403fb32442cc99a3e6fb48 Mon Sep 17 00:00:00 2001 From: Jake Lishman Date: Fri, 4 Mar 2022 15:59:02 +0000 Subject: [PATCH 8/8] Release note is API change not feature --- .../notes/access-backends-from-mock-d3897ecb8490219a.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml b/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml index 8aa1428628cf..be7aee8bf858 100644 --- a/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml +++ b/releasenotes/notes/access-backends-from-mock-d3897ecb8490219a.yaml @@ -1,6 +1,6 @@ --- -features: +upgrade: - | Mock backends from `~qiskit.test.mock` are now accessible from `~qiskit.providers.fake_provider`. The `~qiskit.test.mock` package will be deprecated soon.