@@ -19,6 +19,7 @@ Author: Daniel Kroening, Peter Schrammel
19
19
20
20
#include " bmc_util.h"
21
21
#include " counterexample_beautification.h"
22
+ #include " report_util.h"
22
23
23
24
single_loop_incremental_symex_checkert::single_loop_incremental_symex_checkert (
24
25
const optionst &options,
@@ -64,6 +65,14 @@ operator()(propertiest &properties)
64
65
update_properties_status_from_symex_target_equation (
65
66
properties, result.updated_properties , equation);
66
67
68
+ const auto is_failure = std::any_of (
69
+ properties.begin (), properties.end (), [](const
70
+ std::pair<irep_idt, property_infot> &property) {
71
+ return property.second .status == property_statust::FAIL;
72
+ });
73
+ output_overall_result (
74
+ is_failure ? ::resultt::FAIL : ::resultt::PASS, ui_message_handler);
75
+
67
76
initial_equation_generated = true ;
68
77
}
69
78
@@ -129,8 +138,14 @@ operator()(propertiest &properties)
129
138
? resultt::progresst::FOUND_FAIL
130
139
: resultt::progresst::DONE;
131
140
141
+ const auto is_failure = result.progress ==
142
+ resultt::progresst::FOUND_FAIL;
143
+
144
+ // output_overall_result(
145
+ // is_failure ? ::resultt::FAIL : ::resultt::PASS, ui_message_handler);
146
+
132
147
// We've got a trace to report.
133
- if (result. progress == resultt::progresst::FOUND_FAIL )
148
+ if (is_failure )
134
149
break ;
135
150
136
151
// Nothing else to do with the current set of assertions.
@@ -162,6 +177,15 @@ operator()(propertiest &properties)
162
177
properties, result.updated_properties , equation);
163
178
164
179
current_equation_converted = false ;
180
+
181
+ const auto is_failure = std::any_of (
182
+ properties.begin (), properties.end (), [](const
183
+ std::pair<irep_idt, property_infot> &property) {
184
+ return property.second .status == property_statust::FAIL;
185
+ });
186
+ output_overall_result (
187
+ is_failure ? ::resultt::FAIL : ::resultt::PASS, ui_message_handler);
188
+
165
189
}
166
190
167
191
return result;
0 commit comments