diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000000000000000000000000000000000000..d08c38604998b615cddce21c2271f4275a88fa11 --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,19 @@ +import pytest + + +def pytest_addoption(parser): + parser.addoption( + "--skip-roqs", action="store_true", default=False, help="Skip all tests that require ROQs" + ) + + +def pytest_configure(config): + config.addinivalue_line("markers", "requires_roqs: mark a test that requires ROQs") + + +def pytest_collection_modifyitems(config, items): + if config.getoption("--skip-roqs"): + skip_roqs = pytest.mark.skip(reason="Skipping tests that require ROQs") + for item in items: + if "requires_roqs" in item.keywords: + item.add_marker(skip_roqs) diff --git a/test/gw/likelihood_test.py b/test/gw/likelihood_test.py index 718e186968303dfb5f549d90ef50e2905bc63d30..0c1575945247360f39ddeaa24acf0d48ba18430e 100644 --- a/test/gw/likelihood_test.py +++ b/test/gw/likelihood_test.py @@ -3,6 +3,7 @@ import unittest import tempfile from itertools import product from parameterized import parameterized +import pytest import h5py import numpy as np @@ -273,6 +274,7 @@ class TestGWTransient(unittest.TestCase): ) +@pytest.mark.requires_roqs class TestROQLikelihood(unittest.TestCase): def setUp(self): self.duration = 4 @@ -538,6 +540,7 @@ class TestROQLikelihood(unittest.TestCase): ) +@pytest.mark.requires_roqs class TestRescaledROQLikelihood(unittest.TestCase): def test_rescaling(self): @@ -612,6 +615,7 @@ class TestRescaledROQLikelihood(unittest.TestCase): ) +@pytest.mark.requires_roqs class TestROQLikelihoodHDF5(unittest.TestCase): """ Test ROQ likelihood constructed from .hdf5 basis @@ -846,6 +850,7 @@ class TestROQLikelihoodHDF5(unittest.TestCase): self.assertLess(np.abs(llr - llr_roq), max_llr_error) +@pytest.mark.requires_roqs class TestCreateROQLikelihood(unittest.TestCase): """ Test if ROQ likelihood is constructed without any errors from .hdf5 or .npy basis @@ -966,6 +971,7 @@ class TestCreateROQLikelihood(unittest.TestCase): ) +@pytest.mark.requires_roqs class TestInOutROQWeights(unittest.TestCase): @parameterized.expand(['npz', 'hdf5'])