From eda5d77549d67e1fec15a26f74d462efaf3fe4e4 Mon Sep 17 00:00:00 2001 From: markus holzer <markus.holzer@fau.de> Date: Wed, 5 Aug 2020 13:06:58 +0200 Subject: [PATCH] ubuntu pipeline fix --- conftest.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/conftest.py b/conftest.py index 93952522..58b088ba 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) -- GitLab