usage
To run ABI Cafe, just checkout the repository and cargo run
!
(Working on a prebuilt solution, a few last blockers to resolve before shipping that.)
While ABI Cafe isn't a For Reals Fuzzer (yet?), it accomplishes a similar goal through the magic of procedural generation and combinatorics. These docs serve to describe the N layers of combinatorics we use to turn a grain of sand into a mountain of broken compilers.
- test files:
--tests
- calling conventions:
--conventions
- type reprs:
--reprs
- toolchain pairings:
--pairs
- value generators:
--gen-vals
- value selectors:
--select-vals
- value writers:
--write-vals
When you run abi-cafe
we will end up running the cross-product of all of these settings, typically resulting in thousands of function calls. See the subsections for details!
You can also run --help
to get information on all the supported features.
As Part Of Your Testsuite
We're still cleaning up the details of this usecase to make it nicer. If you would like to use abi-cafe in your testsuite, please let us know what you'd need/want!
For now, we can at least gesture to these two examples: