diff --git a/test/functional/storm-functional-tests.cpp b/test/functional/storm-functional-tests.cpp index 648fe8df0..30709a39d 100644 --- a/test/functional/storm-functional-tests.cpp +++ b/test/functional/storm-functional-tests.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include "gtest/gtest.h" #include "log4cplus/logger.h" @@ -38,5 +40,45 @@ int main(int argc, char* argv[]) { int result = RUN_ALL_TESTS(); logger.closeNestedAppenders(); + + std::list untestedModules; +#ifndef STORM_HAVE_GUROBI + untestedModules.push_back("Gurobi"); +#endif +#ifndef STORM_HAVE_CUDA + untestedModules.push_back("CUDA"); +#endif +#ifndef STORM_HAVE_GLPK + untestedModules.push_back("GLPK"); +#endif +#ifndef STORM_HAVE_Z3 + untestedModules.push_back("Z3"); +#endif +#ifndef STORM_HAVE_MSAT + untestedModules.push_back("MathSAT"); +#endif +#ifndef STORM_HAVE_INTELTBB + untestedModules.push_back("Intel TBB"); +#endif + + if (result == 0) { + if (untestedModules.empty()) { + std::cout << std::endl << "ALL TESTS PASSED!" << std::endl; + } else{ + std::cout << std::endl << "StoRM was built without the following optional dependencies: "; + auto iter = untestedModules.begin(); + while (iter != untestedModules.end()) { + std::cout << *iter; + ++iter; + if (iter != untestedModules.end()) { + std::cout << ", "; + } + } + std::cout << std::endl << "Functionality using that modules could not be tested." << std::endl << std::endl << "TESTS PASSED!" << std::endl; + } + } else{ + std::cout << std::endl << "TESTS FAILED!" << std::endl; + } + return result; }