@@ -26,6 +26,7 @@ Author: Daniel Kroening, dkr@amazon.com
2626#include " propagate.h"
2727#include " report_properties.h"
2828#include " report_traces.h"
29+ #include " solver_progress.h"
2930#include " solver_types.h"
3031#include " state.h"
3132
@@ -393,29 +394,6 @@ void solver(
393394 property.status = propertyt::DROPPED;
394395}
395396
396- void solver_progress (size_t i, size_t n, bool verbose)
397- {
398- if (verbose)
399- {
400- }
401- else
402- {
403- if (i == n)
404- {
405- if (consolet::is_terminal ())
406- std::cout << " \x1b [1A\x1b [0K" ; // clear the line
407- }
408- else
409- {
410- if (i != 0 && consolet::is_terminal ())
411- std::cout << " \x1b [1A" ;
412-
413- std::cout << consolet::orange << " Doing property " << (i + 1 ) << ' /' << n
414- << consolet::reset << ' \n ' ;
415- }
416- }
417- }
418-
419397solver_resultt solver (
420398 const std::vector<exprt> &constraints,
421399 const solver_optionst &solver_options,
@@ -441,14 +419,16 @@ solver_resultt solver(
441419 return solver_resultt::ALL_PASS;
442420 }
443421
422+ solver_progresst solver_progress (properties.size (), solver_options.verbose );
423+
444424 // solve each property separately, in order of occurence
445425 for (std::size_t i = 0 ; i < properties.size (); i++)
446426 {
447- solver_progress (i, properties. size (), solver_options. verbose );
427+ solver_progress (i);
448428 solver (frames, address_taken, solver_options, ns, properties, i);
449429 }
450430
451- solver_progress (properties. size (), properties. size (), solver_options. verbose );
431+ solver_progress. finished ( );
452432
453433 // reporting
454434 report_properties (properties);
0 commit comments