#include "xbt/fifo.h"
#include "mc_private.h"
-
+XBT_LOG_NEW_CATEGORY(mc, "All MC categories");
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc,
"Logging specific to MC (global)");
mc_snapshot_t initial_snapshot_liveness = NULL;
xbt_automaton_t automaton;
-char *prog_name;
-static void MC_init_liveness(xbt_automaton_t a, char *prgm);
+static void MC_init_liveness(xbt_automaton_t a);
static void MC_assert_pair(int prop);
}
-static void MC_init_liveness(xbt_automaton_t a, char *prgm){
+static void MC_init_liveness(xbt_automaton_t a){
XBT_DEBUG("Start init mc");
MC_UNSET_RAW_MEM;
automaton = a;
- prog_name = strdup(prgm);
MC_ddfs_init();
}
-void MC_modelcheck_liveness(xbt_automaton_t a, char *prgm){
- MC_init_liveness(a, prgm);
+void MC_modelcheck_liveness(xbt_automaton_t a){
+ MC_init_liveness(a);
MC_exit_liveness();
}
void MC_print_statistics(mc_stats_t stats)
{
- XBT_INFO("State space size ~= %lu", stats->state_size);
+ //XBT_INFO("State space size ~= %lu", stats->state_size);
XBT_INFO("Expanded states = %lu", stats->expanded_states);
XBT_INFO("Visited states = %lu", stats->visited_states);
XBT_INFO("Executed transitions = %lu", stats->executed_transitions);
void MC_assert(int prop)
{
- if (MC_IS_ENABLED && !prop) {
- XBT_INFO("**************************");
- XBT_INFO("*** PROPERTY NOT VALID ***");
- XBT_INFO("**************************");
- XBT_INFO("Counter-example execution trace:");
- MC_dump_stack_safety_stateless(mc_stack_safety_stateless);
- MC_print_statistics(mc_stats);
- xbt_abort();
+ if (MC_IS_ENABLED ){
+ if(!prop) {
+ XBT_INFO("**************************");
+ XBT_INFO("*** PROPERTY NOT VALID ***");
+ XBT_INFO("**************************");
+ XBT_INFO("Counter-example execution trace:");
+ MC_dump_stack_safety_stateless(mc_stack_safety_stateless);
+ MC_print_statistics(mc_stats);
+ xbt_abort();
+ }else{
+ MC_print_statistics(mc_stats);
+ xbt_abort();
+ }
}
}