The tests can be executed by `make test` from a configured build, the `src` or `test` directory and will put their intermediate and log files in the build directory. If called from outside from the build directory the last configured build directory is used. We have four test drivers. The simplest one ./api/run.sh is going through the API directly to test basic stand-alone functionality of the library. Next is a simple usage test for all command line options. ./usage/run.sh The regression suite for CNF files ./cnf/run.sh is more thorough and should catch simple bugs. It checks solutions and checks generated proofs too. The third test driver uses a regression suite and executes traces by replaying them through `mobical` ./traces/run.sh Last but not least the model based tester `../src/mobical.cpp` is the most effective test driver and can be run through ./mbt/run.sh All test drivers place their intermediate and logging files into the build directory. Thus if for instance you build in a `release` subdirectory within the root directory of CaDiCaL mkdir release cd release ../configure make test will use the library and binaries in this `release` sub-directory for running all the tests. The log files including generated proofs are all put into the `release` subdirectory too. For more information on external fuzz-testing see > Robert Brummayer, Florian Lonsing, Armin Biere: > Automated Testing and Debugging of SAT and QBF Solvers. SAT 2010: 44-57 Model based testing of SAT solvers is described in > Cyrille Artho, Armin Biere, Martina Seidl: > Model-Based Testing for Verification Back-Ends. TAP 2013: 39-55 The simple API test driver and the regression suite are executed by the default goal of the `makefile`. There is no need to clean up test output since it is all put into the build directory.