From: Brian Norris Date: Fri, 14 Sep 2012 19:58:05 +0000 (-0700) Subject: common: print tracing info for ASSERT() failures X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=commitdiff_plain;h=4203bdeef61d936086b63b807a115d266825ff2e common: print tracing info for ASSERT() failures This adds a global model_print_summary() function, so we can view the current ModelChecker summary info when we hit an assertion. --- diff --git a/common.cc b/common.cc index 8cb649bb..ac5cb596 100644 --- a/common.cc +++ b/common.cc @@ -3,6 +3,7 @@ #include #include "common.h" +#include "model.h" #define MAX_TRACE_LEN 100 @@ -23,3 +24,8 @@ void print_trace(void) free(strings); } + +void model_print_summary(void) +{ + model->print_summary(); +} diff --git a/common.h b/common.h index 80bc9ad6..2dc8b7d9 100644 --- a/common.h +++ b/common.h @@ -22,6 +22,8 @@ do { \ if (!(expr)) { \ fprintf(stderr, "Error: assertion failed in %s at line %d\n", __FILE__, __LINE__); \ + print_trace(); \ + model_print_summary(); \ exit(EXIT_FAILURE); \ } \ } while (0); @@ -29,5 +31,6 @@ do { \ #define error_msg(...) fprintf(stderr, "Error: " __VA_ARGS__) void print_trace(void); +void model_print_summary(void); #endif /* __COMMON_H__ */