diff --git a/conftest.py b/conftest.py index 05007fb8aa4ce936dc0cbbfb34345f631098a5fe..743b3562e9e4185a373b97eaaa0fb70813c16c13 100644 --- a/conftest.py +++ b/conftest.py @@ -3,6 +3,7 @@ import pytest import tempfile import runpy import sys +import warnings # Trigger config file reading / creation once - to avoid race conditions when multiple instances are creating it # at the same time from pystencils.cpu import cpujit @@ -89,7 +90,7 @@ class IPyNbTest(pytest.Item): # in notebooks there is an implicit plt.show() - if this is not called a warning is shown when the next # plot is created. This warning is suppressed here exec("import warnings;" - "warnings.filterwarnings('ignore', 'Adding an axes using the same arguments as a previous.*')", + "warnings.filterwarnings('ignore', 'Adding an axes using the same arguments as a previous.*');", global_dict) with tempfile.NamedTemporaryFile() as f: f.write(self.code.encode()) @@ -104,9 +105,12 @@ class IPyNbFile(pytest.File): exporter.exclude_input_prompt = True notebook_contents = self.fspath.open() - notebook = nbformat.read(notebook_contents, 4) - code, _ = exporter.from_notebook_node(notebook) - yield IPyNbTest(self.name, self, code) + + with warnings.catch_warnings(): + warnings.filterwarnings("ignore", "IPython.core.inputsplitter is deprecated") + notebook = nbformat.read(notebook_contents, 4) + code, _ = exporter.from_notebook_node(notebook) + yield IPyNbTest(self.name, self, code) def teardown(self): pass diff --git a/pytest.ini b/pytest.ini index d45acff6386c4a76470fae4f539ce69eb6355938..b41ca68fe25120ef36f1f949726719215519152d 100644 --- a/pytest.ini +++ b/pytest.ini @@ -2,6 +2,10 @@ python_files = test_*.py *_test.py scenario_*.py norecursedirs = *.egg-info .git .cache .ipynb_checkpoints htmlcov addopts = --doctest-modules --durations=20 --cov-config pytest.ini +markers = + longrun: tests only run at night since they have large execution time + notebook: jupyter notebooks + [run] branch = True