diff --git a/conftest.py b/conftest.py index 9395252282dddc476a3a9cad137945f62b052419..58b088bac360c36ae32587b1b689d6a185f5fc5f 100644 --- a/conftest.py +++ b/conftest.py @@ -25,6 +25,12 @@ except ImportError: SCRIPT_FOLDER = os.path.dirname(os.path.realpath(__file__)) sys.path.insert(0, os.path.abspath('pystencils')) +# the Ubuntu pipeline uses an older version of pytest which uses deprecated functionality. +# This leads to many warinings in the test and coverage pipeline. +pytest_numeric_version = [int(x, 10) for x in pytest.__version__.split('.')] +pytest_numeric_version.reverse() +pytest_version = sum(x * (100 ** i) for i, x in enumerate(pytest_numeric_version)) + def add_path_to_ignore(path): if not os.path.exists(path): @@ -152,7 +158,10 @@ class IPyNbFile(pytest.File): warnings.filterwarnings("ignore", "IPython.core.inputsplitter is deprecated") notebook = nbformat.read(notebook_contents, 4) code, _ = exporter.from_notebook_node(notebook) - yield IPyNbTest.from_parent(name=self.name, parent=self, code=code) + if pytest_version >= 50403: + yield IPyNbTest.from_parent(name=self.name, parent=self, code=code) + else: + yield IPyNbTest(self.name, self, code) def teardown(self): pass @@ -161,4 +170,7 @@ class IPyNbFile(pytest.File): def pytest_collect_file(path, parent): glob_exprs = ["*demo*.ipynb", "*tutorial*.ipynb", "test_*.ipynb"] if any(path.fnmatch(g) for g in glob_exprs): - return IPyNbFile.from_parent(fspath=path, parent=parent) + if pytest_version >= 50403: + return IPyNbFile.from_parent(fspath=path, parent=parent) + else: + return IPyNbFile(path, parent)