What is Check?
Check is a unit testing framework for C. It features a simple interface for defining unit tests, putting little in the way of the developer. Tests are run in a separate address space, so both assertion failures and code errors that cause segmentation faults or other signals can be caught. Test results are reportable in the following: Subunit, TAP, XML, and a generic logging format.
Check works on many UNIX compatible environments, such as GNU/Linux, GNU/Hurd, BSD, and Mac OSX. Windows support is available through the Cygwin, MinGW, and MinGW-w64 platforms, as well as with MSVC using Visual Studios or CMake/NMake. If Check is compiled on a platform with some POSIX functions unavailable (such as fork), Check will disable the related features but still remain functional. Look at the Install page for installation instructions per platform.
The authors welcome any and all help with Check, whether through enhancement requests, bug reports, patches, or documentation. Please visit the Check project page.
Patches to Check, unless trivial, should be against the master branch, and should include a full set of unit tests verifying the new behavior. No functionality goes into Check without unit tests, and submitting a merge request without automated testing will delay potential acceptable of the patch.
The latest Check source can be browsed here or retrieved with git using the following:
git clone https://github.com/libcheck/check.git