Initial Import
[profile/ivi/check.git] / README
1 About Check
2 -----------
3
4 Check is a unit testing framework for C. It features a simple interface
5 for defining unit tests, putting little in the way of the
6 developer. Tests are run in a separate address space, so Check can
7 catch both assertion failures and code errors that cause segmentation
8 faults or other signals. The output from unit tests can be used within
9 source code editors and IDEs.
10
11 See http://check.sourceforge.net/ for more information, including a
12 tutorial.  The tutorial is also available as `info check'.
13
14 Installation
15 ------------
16
17 Check has the following dependencies:
18
19   automake-1.9.6
20   autoconf-2.59
21   libtool-1.5.22
22   pkg-config-0.20
23   texinfo-4.7 (for documentation)
24   tetex-bin (or any texinfo-compatible TeX installation, for documentation)
25   POSIX sed
26
27 The versions specified may be higher than those actually needed.
28
29 First, do
30
31 $ autoreconf --install
32
33 in this directory to set everything up.  autoreconf calls all of the
34 necessary tools for you, like autoconf, automake, autoheader, etc.  If
35 you ever change something during development, run autoreconf again
36 (without --install), and it will perform the minimum set of actions
37 necessary.
38
39 Then, read the directions in INSTALL if you need more information.
40
41 Linking against Check
42 ---------------------
43
44 Check uses variadic macros in check.h, and the strict C90 options for
45 gcc will complain about this.  In gcc 4.0 and above you can turn this
46 off explicitly with -Wno-variadic-macros.  In a future API it would be
47 nice to eliminate these macros.
48
49 Debian rationale for not having upstream build packages (.deb files)
50 --------------------------------------------------------------------
51
52 For debian, it is highly undesirable if the upstream source contains a
53 debian directory as this one will never be the same as the "official"
54 Debian one, and patching is easier if it's not around.
55
56 Sometimes upstream insists on having the possibility to build Debian
57 packages themselves, in which case it is best to have a debian
58 directory in the CVS, but not ship it when doing "make dist".
59
60 Sometimes upstream insists on shipping the debian directory to their
61 users so these can easily build a .deb, which is really bad because
62 they usually don't remmeber to change the Debian changelog and version
63 accordingly, and generally don't know enough about Debian policy to
64 make conforming packages.
65
66 So in the end you will have different broken packages compiled on
67 various systems floating around which all have the same version number
68 and look like offical packages.
69
70   -- Robert Lemmen, 2006
71
72 The same holds for .rpm packages.  The Check maintainer for Fedora
73 Extras, Tom 'spot' Callaway, confirmed that they do not depend on an
74 upstream rpm target in Check.