Commit 323fc27
authored
Add a timeout option (#3649)
This PR adds a new option, `--cbmc-timeout` which can be used for
setting a timeout for the CBMC run.
The timeout applies on a per-harness basis in the Kani run.
The implementation uses [tokio ](https://tokio.rs/) to perform
non-blocking reads from the CBMC process's `stdout` so that the timeout
can be checked asynchronously.
**Call-outs:**
There are other names I considered for the option:
- `--harness-timeout`: This makes it clearer that the timeout applies to
each individual harness (and not to the overall Kani run). It doesn't
indicate that the timeout only applies to the CBMC portion of the flow
though.
- `--engine-timeout`: This makes it a bit more general across multiple
engine/backends. The notion of an engine is not really part of the Kani
jargon currently though, so might not be clear to users.
By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 and MIT licenses.1 parent 87cd331 commit 323fc27
File tree
18 files changed
+427
-46
lines changed- kani-driver
- src
- args
- assess
- tests
- ui/harness-timeout
18 files changed
+427
-46
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
5 | 20 | | |
6 | 21 | | |
7 | 22 | | |
| |||
113 | 128 | | |
114 | 129 | | |
115 | 130 | | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
116 | 146 | | |
117 | 147 | | |
118 | 148 | | |
| |||
164 | 194 | | |
165 | 195 | | |
166 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
167 | 203 | | |
168 | 204 | | |
169 | 205 | | |
| |||
592 | 628 | | |
593 | 629 | | |
594 | 630 | | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
595 | 637 | | |
596 | 638 | | |
597 | 639 | | |
| |||
640 | 682 | | |
641 | 683 | | |
642 | 684 | | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
643 | 691 | | |
644 | 692 | | |
645 | 693 | | |
| |||
807 | 855 | | |
808 | 856 | | |
809 | 857 | | |
| 858 | + | |
810 | 859 | | |
811 | 860 | | |
812 | 861 | | |
| |||
930 | 979 | | |
931 | 980 | | |
932 | 981 | | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
933 | 1003 | | |
934 | 1004 | | |
935 | 1005 | | |
| |||
1051 | 1121 | | |
1052 | 1122 | | |
1053 | 1123 | | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
1054 | 1133 | | |
1055 | 1134 | | |
1056 | 1135 | | |
| |||
1512 | 1591 | | |
1513 | 1592 | | |
1514 | 1593 | | |
| 1594 | + | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
| 1601 | + | |
| 1602 | + | |
1515 | 1603 | | |
1516 | 1604 | | |
1517 | 1605 | | |
| |||
1692 | 1780 | | |
1693 | 1781 | | |
1694 | 1782 | | |
| 1783 | + | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + | |
| 1787 | + | |
| 1788 | + | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
1695 | 1798 | | |
1696 | 1799 | | |
1697 | 1800 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
65 | 113 | | |
66 | 114 | | |
67 | 115 | | |
| |||
281 | 329 | | |
282 | 330 | | |
283 | 331 | | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
284 | 336 | | |
285 | 337 | | |
286 | 338 | | |
| |||
637 | 689 | | |
638 | 690 | | |
639 | 691 | | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
640 | 704 | | |
641 | 705 | | |
642 | 706 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
38 | | - | |
39 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
40 | 44 | | |
41 | 45 | | |
42 | 46 | | |
| |||
0 commit comments