|
34 | 34 | #include <goto-checker/all_properties_verifier.h>
|
35 | 35 | #include <goto-checker/all_properties_verifier_with_trace_storage.h>
|
36 | 36 | #include <goto-checker/bmc_util.h>
|
| 37 | +#include <goto-checker/cover_goals_verifier_with_trace_storage.h> |
37 | 38 | #include <goto-checker/multi_path_symex_checker.h>
|
38 | 39 | #include <goto-checker/multi_path_symex_only_checker.h>
|
39 | 40 | #include <goto-checker/properties.h>
|
|
72 | 73 |
|
73 | 74 | #include <langapi/mode.h>
|
74 | 75 |
|
| 76 | +#include "c_test_input_generator.h" |
75 | 77 | #include "xml_interface.h"
|
76 | 78 |
|
77 | 79 | cbmc_parse_optionst::cbmc_parse_optionst(int argc, const char **argv)
|
@@ -570,6 +572,19 @@ int cbmc_parse_optionst::doit()
|
570 | 572 | }
|
571 | 573 | }
|
572 | 574 |
|
| 575 | + if(options.is_set("cover")) |
| 576 | + { |
| 577 | + cover_goals_verifier_with_trace_storaget<multi_path_symex_checkert> |
| 578 | + verifier(options, ui_message_handler, goto_model); |
| 579 | + (void)verifier(); |
| 580 | + verifier.report(); |
| 581 | + |
| 582 | + c_test_input_generatort test_generator(ui_message_handler, options); |
| 583 | + test_generator(verifier.get_traces()); |
| 584 | + |
| 585 | + return CPROVER_EXIT_SUCCESS; |
| 586 | + } |
| 587 | + |
573 | 588 | std::unique_ptr<goto_verifiert> verifier = nullptr;
|
574 | 589 |
|
575 | 590 | if(
|
@@ -599,6 +614,7 @@ int cbmc_parse_optionst::doit()
|
599 | 614 |
|
600 | 615 | resultt result = (*verifier)();
|
601 | 616 | verifier->report();
|
| 617 | + |
602 | 618 | return result_to_exit_code(result);
|
603 | 619 | }
|
604 | 620 |
|
|
0 commit comments