From 7a067241440bb1b39af1d3292fc2cfaa8d3f33fc Mon Sep 17 00:00:00 2001 From: Michael Williams <michael.williams@ligo.org> Date: Mon, 26 Feb 2024 19:41:10 +0000 Subject: [PATCH] TST: add option to skip ROQs tests --- test/conftest.py | 19 +++++++++++++++++++ test/gw/likelihood_test.py | 6 ++++++ 2 files changed, 25 insertions(+) create mode 100644 test/conftest.py diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 000000000..d08c38604 --- /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 718e18696..0c1575945 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']) -- GitLab