usage

To run ABI Cafe, just cargo install abi-cafe and run abi-cafe!

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.

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!

At a minimum, all you need to "do" to run abi-cafe in your test suite is run abi-cafe and check its status. Of course that's not so helpful when you don't know what it does! The default behaviours you are most likely to want to configure are:

(FIXME: write some docs that go over how to read test failures. grafitti is really useful to understand, as is the minimizer, although that needs work).

Examples

The following uses of abi-cafe all vendor it, as previously this was required.