From dbeb07978920df2452dfd7489f1f5b46656e3a19 Mon Sep 17 00:00:00 2001 From: Matthias Volk Date: Fri, 24 Jul 2020 11:10:43 +0200 Subject: [PATCH] Skip tests if numpy is unavailable --- doc/source/doc/models/building_ctmcs.rst | 11 +++++++++++ doc/source/doc/models/building_mas.rst | 11 +++++++++++ examples/building_ctmcs/01-building-ctmcs.py | 12 +++++++++++- examples/building_mas/01-building-mas.py | 12 +++++++++++- examples/building_mdps/01-building-mdps.py | 1 - 5 files changed, 44 insertions(+), 3 deletions(-) diff --git a/doc/source/doc/models/building_ctmcs.rst b/doc/source/doc/models/building_ctmcs.rst index 46c8f8e..97fa418 100644 --- a/doc/source/doc/models/building_ctmcs.rst +++ b/doc/source/doc/models/building_ctmcs.rst @@ -3,6 +3,17 @@ Continuous-time Markov chains (CTMCs) ************************************** +.. check if the following doctest should be run (and hide it in Sphinx) + >>> # Skip tests if numpy is not available + >>> import pytest + >>> try: + ... import numpy as np + ... except ModuleNotFoundError: + ... np = None + >>> if np is None: + ... pytest.skip("skipping the doctest below since it's not going to work.") + + Background ===================== diff --git a/doc/source/doc/models/building_mas.rst b/doc/source/doc/models/building_mas.rst index a840746..823ac9a 100644 --- a/doc/source/doc/models/building_mas.rst +++ b/doc/source/doc/models/building_mas.rst @@ -3,6 +3,17 @@ Markov automata (MAs) ************************************** +.. check if the following doctest should be run (and hide it in Sphinx) + >>> # Skip tests if numpy is not available + >>> import pytest + >>> try: + ... import numpy as np + ... except ModuleNotFoundError: + ... np = None + >>> if np is None: + ... pytest.skip("skipping the doctest below since it's not going to work.") + + Background ===================== diff --git a/examples/building_ctmcs/01-building-ctmcs.py b/examples/building_ctmcs/01-building-ctmcs.py index 8f4acda..0fd0702 100644 --- a/examples/building_ctmcs/01-building-ctmcs.py +++ b/examples/building_ctmcs/01-building-ctmcs.py @@ -1,8 +1,18 @@ import stormpy -import numpy as np + +# Check if numpy is available +try: + import numpy as np + numpy_found = True +except ModuleNotFoundError: + numpy_found = False def example_building_ctmcs_01(): + if not numpy_found: + print("Numpy not available") + return + # Building the transition matrix using numpy transitions = np.array([ [0, 1.5, 0, 0], diff --git a/examples/building_mas/01-building-mas.py b/examples/building_mas/01-building-mas.py index 26bf220..d683741 100644 --- a/examples/building_mas/01-building-mas.py +++ b/examples/building_mas/01-building-mas.py @@ -1,8 +1,18 @@ import stormpy -import numpy as np + +# Check if numpy is available +try: + import numpy as np + numpy_found = True +except ModuleNotFoundError: + numpy_found = False def example_building_mas_01(): + if not numpy_found: + print("Numpy not available") + return + # Building the transition matrix using numpy transitions = np.array([ [0, 1, 0, 0, 0], diff --git a/examples/building_mdps/01-building-mdps.py b/examples/building_mdps/01-building-mdps.py index 1cc510b..60d61d6 100644 --- a/examples/building_mdps/01-building-mdps.py +++ b/examples/building_mdps/01-building-mdps.py @@ -1,5 +1,4 @@ import stormpy -import numpy as np # Knuth's model of a fair die using only fair coins