Skip to content

Commit 4c9feb0

Browse files
author
Thomas Kiley
committed
Initial version
Needs some tidy up but this prints output that is consistent with the old version
1 parent d3f1fc4 commit 4c9feb0

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

src/goto-checker/single_loop_incremental_symex_checker.cpp

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Author: Daniel Kroening, Peter Schrammel
1919

2020
#include "bmc_util.h"
2121
#include "counterexample_beautification.h"
22+
#include "report_util.h"
2223

2324
single_loop_incremental_symex_checkert::single_loop_incremental_symex_checkert(
2425
const optionst &options,
@@ -64,6 +65,14 @@ operator()(propertiest &properties)
6465
update_properties_status_from_symex_target_equation(
6566
properties, result.updated_properties, equation);
6667

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+
6776
initial_equation_generated = true;
6877
}
6978

@@ -129,8 +138,14 @@ operator()(propertiest &properties)
129138
? resultt::progresst::FOUND_FAIL
130139
: resultt::progresst::DONE;
131140

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+
132147
// We've got a trace to report.
133-
if(result.progress == resultt::progresst::FOUND_FAIL)
148+
if(is_failure)
134149
break;
135150

136151
// Nothing else to do with the current set of assertions.
@@ -162,6 +177,15 @@ operator()(propertiest &properties)
162177
properties, result.updated_properties, equation);
163178

164179
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+
165189
}
166190

167191
return result;

0 commit comments

Comments
 (0)