3 [![Travis Build Status](https://travis-ci.org/libcheck/check.svg?branch=master)](https://travis-ci.org/libcheck/check)
4 [![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/github/libcheck/check?svg=true)](https://ci.appveyor.com/project/libcheck/check/branch/master)
7 Check is a unit testing framework for C. It features a simple interface
8 for defining unit tests, putting little in the way of the
9 developer. Tests are run in a separate address space, so Check can
10 catch both assertion failures and code errors that cause segmentation
11 faults or other signals. The output from unit tests can be used within
12 source code editors and IDEs.
14 See https://libcheck.github.io/check for more information, including a
15 tutorial. The tutorial is also available as `info check`.
19 Check has the following dependencies:
21 * [automake](https://www.gnu.org/software/automake/)-1.9.6 (1.11.3 on OS X if you are using /usr/bin/ar)
22 * [autoconf](https://www.gnu.org/software/autoconf/)-2.59
23 * [libtool](https://www.gnu.org/software/libtool/)-1.5.22
24 * [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)-0.20
25 * [texinfo](https://www.gnu.org/software/texinfo/)-4.7 (for documentation)
26 * tetex-bin (or any texinfo-compatible TeX installation, for documentation)
27 * POSIX [sed](https://en.wikipedia.org/wiki/Sed)
29 The versions specified may be higher than those actually needed.
33 $ autoreconf --install
40 in this directory to set everything up. autoreconf calls all of the
41 necessary tools for you, like autoconf, automake, autoheader, etc. If
42 you ever change something during development, run autoreconf again
43 (without --install), and it will perform the minimum set of actions
44 necessary. Check is installed to `/usr/local/lib` by default. ldconfig rebuilds
45 the linker cache so that newly installed library file is included in the cache.
53 $ CTEST_OUTPUT_ON_FAILURE=1 make test
55 # Linking against Check
57 Check uses variadic macros in check.h, and the strict C90 options for
58 gcc will complain about this. In gcc 4.0 and above you can turn this
59 off explicitly with `-Wno-variadic-macros`. In a future API it would be
60 nice to eliminate these macros.