Skip to content

Commit 535f127

Browse files
authored
Merge pull request #1231 from diffblue/ebmc-result-verbosity
ebmc: report results at `result` verbosity level
2 parents 3f097c7 + 08c7af0 commit 535f127

File tree

4 files changed

+31
-21
lines changed

4 files changed

+31
-21
lines changed

CHANGELOG

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
* LTL/SVA to Buechi with --buechi
99
* SMV: abs, bool, count, max, min, toint, word1
1010
* BMC: new encoding for F, avoiding spurious traces
11+
* EBMC: verification results now have "result" verbosity level
1112

1213
# EBMC 5.6
1314

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
CORE
2+
result1.sv
3+
--verbosity 4
4+
^\[main\.assert\.1\] always 0: REFUTED$
5+
^EXIT=10$
6+
^SIGNAL=0$
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module main;
2+
assert final (0);
3+
endmodule

src/ebmc/report_results.cpp

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -102,40 +102,40 @@ void report_results(
102102
if(property.is_disabled())
103103
continue;
104104

105-
message.status() << "[" << property.name << "] " << property.description
105+
message.result() << "[" << property.name << "] " << property.description
106106
<< ": ";
107107

108108
using statust = ebmc_propertiest::propertyt::statust;
109109

110110
switch(property.status)
111111
{
112112
// clang-format off
113-
case statust::ASSUMED: message.status() << messaget::blue; break;
114-
case statust::PROVED: message.status() << messaget::green; break;
115-
case statust::PROVED_WITH_BOUND: message.status() << messaget::green; break;
116-
case statust::REFUTED: message.status() << messaget::bright_red; break;
117-
case statust::REFUTED_WITH_BOUND: message.status() << messaget::bright_red; break;
118-
case statust::DROPPED: message.status() << messaget::red; break;
119-
case statust::FAILURE: message.status() << messaget::red; break;
120-
case statust::UNKNOWN: message.status() << messaget::yellow; break;
121-
case statust::UNSUPPORTED: message.status() << messaget::yellow; break;
113+
case statust::ASSUMED: message.result() << messaget::blue; break;
114+
case statust::PROVED: message.result() << messaget::green; break;
115+
case statust::PROVED_WITH_BOUND: message.result() << messaget::green; break;
116+
case statust::REFUTED: message.result() << messaget::bright_red; break;
117+
case statust::REFUTED_WITH_BOUND: message.result() << messaget::bright_red; break;
118+
case statust::DROPPED: message.result() << messaget::red; break;
119+
case statust::FAILURE: message.result() << messaget::red; break;
120+
case statust::UNKNOWN: message.result() << messaget::yellow; break;
121+
case statust::UNSUPPORTED: message.result() << messaget::yellow; break;
122122
case statust::DISABLED: break;
123-
case statust::INCONCLUSIVE: message.status() << messaget::yellow; break;
123+
case statust::INCONCLUSIVE: message.result() << messaget::yellow; break;
124124
}
125125
// clang-format on
126126

127-
message.status() << property.status_as_string();
127+
message.result() << property.status_as_string();
128128

129-
message.status() << messaget::reset;
129+
message.result() << messaget::reset;
130130

131131
if(
132132
show_proof_via && property.is_proved() &&
133133
property.proof_via.has_value())
134134
{
135-
message.status() << " (" << property.proof_via.value() << ')';
135+
message.result() << " (" << property.proof_via.value() << ')';
136136
}
137137

138-
message.status() << messaget::eom;
138+
message.result() << messaget::eom;
139139

140140
if(property.has_witness_trace())
141141
{
@@ -145,29 +145,29 @@ void report_results(
145145

146146
if(cmdline.isset("trace"))
147147
{
148-
message.status() << term() << ":\n" << messaget::eom;
148+
message.result() << term() << ":\n" << messaget::eom;
149149
show_trans_trace(
150150
property.witness_trace.value(), message, ns, std::cout);
151151
}
152152
else if(cmdline.isset("numbered-trace"))
153153
{
154-
message.status() << term();
154+
message.result() << term();
155155
auto failing_opt =
156156
property.witness_trace->get_min_failing_timeframe();
157157
if(failing_opt.has_value())
158158
{
159159
if(*failing_opt == 0)
160-
message.status() << " with 1 state";
160+
message.result() << " with 1 state";
161161
else
162-
message.status() << " with " << *failing_opt + 1 << " states";
162+
message.result() << " with " << *failing_opt + 1 << " states";
163163
}
164-
message.status() << ':' << messaget::eom;
164+
message.result() << ':' << messaget::eom;
165165
show_trans_trace_numbered(
166166
property.witness_trace.value(), message, ns, std::cout);
167167
}
168168
else if(cmdline.isset("waveform"))
169169
{
170-
message.status() << term() << ":" << messaget::eom;
170+
message.result() << term() << ":" << messaget::eom;
171171
show_waveform(property.witness_trace.value(), ns);
172172
}
173173
}

0 commit comments

Comments
 (0)