From 9f61f752310f0e5294da2fcc809922db76cafa44 Mon Sep 17 00:00:00 2001 From: sjunges Date: Fri, 15 Jan 2016 17:40:01 +0100 Subject: [PATCH] error when build fails during setup, as well as some extensions to the python interface Former-commit-id: 804cf37d8c2c67258c060f7d081a2bf2875356bd --- setup.py | 18 +++++++++++++----- src/python/storm-core.cpp | 8 +++++++- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index fb55edf7f..bfa8592c6 100644 --- a/setup.py +++ b/setup.py @@ -51,14 +51,22 @@ class MyEggInfo(egg_info): class MyInstall(install): def run(self): - call(["cmake", "-DSTORM_PYTHON=ON", "-DPYTHON_LIBRARY="+PYTHONLIB, "-DPYTHON_INCLUDE_DIR="+PYTHONINC, os.path.abspath(os.path.dirname(os.path.realpath(__file__)))], cwd=d) - call(["make", "stormpy"], cwd=d) + ret = call(["cmake", "-DSTORM_PYTHON=ON", "-DPYTHON_LIBRARY="+PYTHONLIB, "-DPYTHON_INCLUDE_DIR="+PYTHONINC, os.path.abspath(os.path.dirname(os.path.realpath(__file__)))], cwd=d) + if ret != 0: + raise RuntimeError("Cmake exited with return code {}".format(ret)) + ret = call(["make", "stormpy"], cwd=d) + if ret != 0: + raise RuntimeError("Make exited with return code {}".format(ret)) install.run(self) class MyDevelop(develop): def run(self): - call(["cmake", "-DSTORM_PYTHON=ON", "-DPYTHON_LIBRARY="+PYTHONLIB, "-DPYTHON_INCLUDE_DIR="+PYTHONINC, os.path.abspath(os.path.dirname(os.path.realpath(__file__)))], cwd=d) - call(["make", "stormpy"], cwd=d) - develop.run(self) + ret = call(["cmake", "-DSTORM_PYTHON=ON", "-DPYTHON_LIBRARY="+PYTHONLIB, "-DPYTHON_INCLUDE_DIR="+PYTHONINC, os.path.abspath(os.path.dirname(os.path.realpath(__file__)))], cwd=d) + if ret != 0: + raise RuntimeError("Cmake exited with return code {}".format(ret)) + ret = call(["make", "stormpy"], cwd=d) + if ret != 0: + raise RuntimeError("Make exited with return code {}".format(ret)) + develop.run(self) setup(cmdclass={'install': MyInstall, 'develop': MyDevelop, 'egg_info': MyEggInfo}, diff --git a/src/python/storm-core.cpp b/src/python/storm-core.cpp index 6d7a4c75a..169b6a574 100644 --- a/src/python/storm-core.cpp +++ b/src/python/storm-core.cpp @@ -44,9 +44,11 @@ BOOST_PYTHON_MODULE(_core) //////////////////////////////////////////// class_, boost::noncopyable>("ModelBase", no_init) .add_property("nrStates", &storm::models::ModelBase::getNumberOfStates) - .add_property("nrTransitions", &storm::models::ModelBase::getNumberOfTransitions); + .add_property("nrTransitions", &storm::models::ModelBase::getNumberOfTransitions) + class_, std::shared_ptr>, boost::noncopyable, bases>("SparseParametricModel", no_init); class_, std::shared_ptr>, boost::noncopyable, bases>("SparseModel", no_init); + def("parseFormulae", storm::parseFormulasForProgram); def("parseProgram", storm::parseProgram); @@ -56,6 +58,10 @@ BOOST_PYTHON_MODULE(_core) ////////////////////////////////////////////// // Model Checking ////////////////////////////////////////////// + class_("ModelProgramPair", no_init) + .add_property("model", &storm::storage::ModelProgramPair::model) + .add_property("program", &storm::storage::ModelProgramPair::program) + ; def("performStateElimination", storm::verifySparseModel);