Exotic is a minimalistic tool for unit testing C or C++ code. Exotic consists of two parts, a tool generating wrapper code for the tests, and a C library.
Exotic can also generate standalone code which does not require the C library, which is ideal for source code distributions.
Download the latest source code here.
EXO_TEST(test_name, { /* test block */ });
Create a test file to test the function "magic()", the test is considered success if the return value is non-zero (true):
#include "magic.h" EXO_TEST(test_function_magic_1, { int n = magic(); return n == 42; }); EXO_TEST(test_function_magic_2, { int n = magic(); return n != 42; });
Place this test in a file, such as test_magic.tcc
Now, all you need to do is run the exotic tool to create the source code for a runnable executable:
exotic test_magic.tcc > autotest.c
Exotic have now created a C file which can be compiled to a runnable binary. The generated file will also ensure that all found test cases are registered and run when. In this case test_function_magic_1 and test_function_magic_2 will be run.
This can be compiled as:
cc -o autotest autotest.c -lexotic
The tests can be performed by running autotest, use autotest -h for help.