34 lines
1.4 KiB
Python
34 lines
1.4 KiB
Python
NQUBITS = "3,4,5"
|
|
MAX_QUBITS = "0,1,2,3,4"
|
|
QIBO_BACKENDS = "qibojit,tensorflow,numpy"
|
|
LIBRARIES = "qibo,qiskit,cirq,qsim,tfq,qulacs,projectq,hybridq"
|
|
|
|
|
|
def pytest_addoption(parser):
|
|
parser.addoption("--nqubits", type=str, default=NQUBITS)
|
|
parser.addoption("--max-qubits", type=str, default=MAX_QUBITS)
|
|
parser.addoption("--qibo-backends", type=str, default=QIBO_BACKENDS)
|
|
parser.addoption("--libraries", type=str, default=LIBRARIES)
|
|
parser.addoption("--add", type=str, default="")
|
|
|
|
|
|
def pytest_generate_tests(metafunc):
|
|
nqubits = [int(n) for n in metafunc.config.option.nqubits.split(",")]
|
|
library_options = [f"max_qubits={n}" for n in metafunc.config.option.max_qubits.split(",")]
|
|
backends = metafunc.config.option.qibo_backends.split(",")
|
|
libraries = metafunc.config.option.libraries.split(",")
|
|
additional = metafunc.config.option.add
|
|
if additional:
|
|
libraries.extend(additional.split(","))
|
|
|
|
if "nqubits" in metafunc.fixturenames:
|
|
metafunc.parametrize("nqubits", nqubits)
|
|
if "backend" in metafunc.fixturenames:
|
|
metafunc.parametrize("backend", backends)
|
|
if "library" in metafunc.fixturenames:
|
|
metafunc.parametrize("library", libraries)
|
|
if "library_options" in metafunc.fixturenames:
|
|
metafunc.parametrize("library_options", library_options)
|
|
if "transfer" in metafunc.fixturenames:
|
|
metafunc.parametrize("transfer", [False, True])
|