X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5787a5c839c1f49fec942290449d18b72b036d98..6df8a056a38f11dc657247acb58dd4afc553d849:/src/mc/simgrid_mc.cpp?ds=sidebyside diff --git a/src/mc/simgrid_mc.cpp b/src/mc/simgrid_mc.cpp index b8b4b08e76..a115825b2e 100644 --- a/src/mc/simgrid_mc.cpp +++ b/src/mc/simgrid_mc.cpp @@ -24,11 +24,9 @@ #include "src/mc/mc_protocol.h" #include "src/mc/mc_safety.h" #include "src/mc/mc_comm_pattern.h" -#include "src/mc/mc_liveness.h" #include "src/mc/mc_exit.h" #include "src/mc/Session.hpp" #include "src/mc/Checker.hpp" -#include "src/mc/SafetyChecker.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_main, mc, "Entry point for simgrid-mc"); @@ -44,22 +42,15 @@ char** argvdup(int argc, char** argv) static std::unique_ptr createChecker(simgrid::mc::Session& session) { - using simgrid::mc::Session; - using simgrid::mc::FunctionalChecker; - - std::function code; if (_sg_mc_comms_determinism || _sg_mc_send_determinism) - code = [](Session& session) { - return MC_modelcheck_comm_determinism(); }; + return std::unique_ptr( + simgrid::mc::createCommunicationDeterminismChecker(session)); else if (!_sg_mc_property_file || _sg_mc_property_file[0] == '\0') return std::unique_ptr( - new simgrid::mc::SafetyChecker(session)); + simgrid::mc::createSafetyChecker(session)); else - code = [](Session& session) { - return simgrid::mc::modelcheck_liveness(); }; - - return std::unique_ptr( - new FunctionalChecker(session, std::move(code))); + return std::unique_ptr( + simgrid::mc::createLivenessChecker(session)); } int main(int argc, char** argv) @@ -72,7 +63,6 @@ int main(int argc, char** argv) // Currently, we need this before sg_config_init: _sg_do_model_check = 1; - mc_mode = MC_MODE_SERVER; // The initialisation function can touch argv. // We make a copy of argv before modifying it in order to pass the original @@ -88,6 +78,7 @@ int main(int argc, char** argv) simgrid::mc::session = session.get(); std::unique_ptr checker = createChecker(*session); int res = checker->run(); + checker = nullptr; session->close(); return res; }