Skip to content
Snippets Groups Projects
Commit 93d29150 authored by Per Lindgren's avatar Per Lindgren
Browse files

README license

parent 99b03c9a
No related branches found
No related tags found
No related merge requests found
......@@ -44,7 +44,7 @@ Example usage:
LLVM KLEE strives to cover all feasible paths. When generating tests for errors encountered (paths to `abort`), KLEE will generate *one* test for each unique position in the source code that lead up to the `abort`. Code that emits a Rust `panic!()`, will all reach the same `panic_handler` (which calls into `abort`), and KLEE will detect the `panic_handler` as the source of the error, and consequently generate *one* such test. (Perhaps there is a way to force KLEE to generate one test per unique path leading up to the `panic_handler`, but we have not yet found it. Tech note: The `panic` implementation can unfortunately not be inlined as far as we have seen.)
As a consequence, you have to eleminate sources of `panic!()` one by one, which may be time consuming.
As a consequence, you have to eliminate sources of `panic!()` one by one, which may be time consuming.
We provide a set of macros `klee_abort`, `klee_assert` and `klee_assert_eq`, that gets fully inlined, allowing KLEE to generate specific tests for each failing assertion. Using these, all errors will be covered by unique test.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment