Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : lex and yacc parsing moved in src/xbt/automaton/
[simgrid.git] / src / mc / mc_global.c
index e9e5940b461b36d1d5a96f066129c09e8fd4b41a..247d959292db0d6f6087e9fbe9d3697d739b8d48 100644 (file)
@@ -12,6 +12,7 @@
 #include "../simix/smx_private.h"
 #include "xbt/fifo.h"
 #include "mc_private.h"
+#include "xbt/automaton/automaton_create.h"
 
 XBT_LOG_NEW_CATEGORY(mc, "All MC categories");
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc,
@@ -525,19 +526,14 @@ void MC_print_statistics_pairs(mc_stats_pair_t stats)
 
 void MC_assert(int prop)
 {
-  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();
-    }
+  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();
   }
 }
 
@@ -612,3 +608,7 @@ void MC_diff(void){
   }
 
 }
+
+xbt_automaton_t MC_create_automaton(const char *file){
+  return xbt_create_automaton(file);
+}