Latest Check Release

August 7, 2020: Check 0.15.2 is now available for download. Check is available under the LGPL license. New features available in this release are listed on the NEWS page.

About Project

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.

Supported Platforms

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.


Questions are accepted on the mailing list check-users AT and bugs and feature requests can be submitted via the Github page here.


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