+Thu Jun 21, 2001:
+Released Check 0.6.0
+Features improved unit test reporting options, more complete unit tests, and end-to-end test, and a full API into TestResults
+
+Check 0.5.2
+Minor edits
+Check 0.5.1
+GPL compliance release
+Check 0.5.0
+Initial public release
example-1.html\
example-2.html\
example-3.html\
- example-4.html\
- example-5.html
+ example-4.html
example_docs =\
money\
\layout Section
-How to get Check
-\layout Subsection
-
-Anonymous CVS
-\layout Standard
-
-Check is currently under development, so the normal way to get Check is
- through CVS.
- Follow the following simple instructions:
-\layout Enumerate
-
-Navigate to the directory below which you want the new check directory to
- be formed.
- That is, if you navigate to /home/luser/foo/bar, the check files will be
- in /home/luser/foo/bar/check.
-\layout Enumerate
-
-Issue the following command to login to CVS.
- When prompted to supply the anonymous password, simply hit return.
-\begin_deeper
-\layout Code
-
-cvs -d:pserver:anonymous@cvs.check.sourceforge.net:/cvsroot/check login
-\end_deeper
-\layout Enumerate
-
-Issue the following command to setup the check subdirectory
-\begin_deeper
-\layout Code
-
-cvs -z3 -d:pserver:anonymous@cvs.check.sourceforge.net:/cvsroot/check co check
-\end_deeper
-\layout Enumerate
-
-To keep current with CVS, use the following command within the check directory
-\begin_deeper
-\layout Code
-
-cvs -z3 update -dP
-\layout Standard
-
-Note that you do not have to supply the server directory path or the user
- name (it is all kept in the CVS local directory.)
-\end_deeper
-\layout Standard
-
-From that point on, using Check should simply be a matter of the standard:
-
-\layout Code
-
-$ ./configure
-\layout Code
-
-$ make
-\layout Code
-
-$ make install
-\layout Standard
-
-Of course, since Check comes with its own unit tests, you can substitute
-
-\begin_inset Quotes eld
-\end_inset
-
-make check
-\begin_inset Quotes erd
-\end_inset
-
- for
-\begin_inset Quotes eld
-\end_inset
-
-make
-\begin_inset Quotes erd
-\end_inset
-
- in the above.
-\layout Subsection
-
-Contributing
-\layout Standard
-
-The author welcomes any and all help with Check, whether through enhancement
- requests, bug reports, patches, documentation, etc.
- Please visit the Check project page at
-\begin_inset LatexCommand \htmlurl[http://sourceforge.net/projects/check/]{http://sourceforge.net/projects/check/}
-
-\end_inset
-
-.
- Check is free software, licensed under the GPL.
-\layout Section
-
Unit testing in C
\layout Standard
We then run the suite, using the CRNORMAL flag to specify that we should
print a summary of the run, and list any failures that may have occurred.
We could also have specified the CRSILENT flag to specify that no output
- should occur, and the CRMINIMAL flag to specify that only the run summary
- should be printed.
+ should occur, the CRMINIMAL flag to specify that only the run summary should
+ be printed, or the CRVERBOSE flag to indicate that all tests should be
+ reported on, whether they passed or failed.
We capture the number of failures that occurred during the run, and use
that to decide how to return.
The check target created by Automake uses the return value to decide whether
0%: Checks: 1, Failures: 1, Errors: 0
\layout Code
-check_money.c:9:Core: Amount not set correctly on creation
+check_money.c:9:F:Core: Amount not set correctly on creation
\layout Standard
The first number in the summary line tells us that 0% of our tests passed,
and the rest of the line tells us that there was one check, and one failure.
- The next line tells us exactly where that failure occurred.
+ The next line tells us exactly where that failure occurred, what kind of
+ failure it was (P for pass, F for failure, E for error).
\layout Standard
Let's implement the money_amount function, so that it will pass its tests.
0%: Checks: 1, Failures: 0, Errors: 1
\layout Code
-check_money.c:5:Core: (after this point) Received signal 11
+check_money.c:5:E:Core: (after this point) Received signal 11
\layout Standard
What does this mean? Note that we now have an error, rather than a failure.
<P>Check was inspired by similar frameworks that currently exist
for most programming languages; the most famous example being
- JUnit for Java ( <A HREF="www.junit.com">www.junit.com</A>
- ). There is a list of unit test frameworks for multiple languages
- at
- <A
- HREF="http://www.xprogramming.com/software.htm">www.xprogramming.com/software.htm</A>
- . Unit testing has a long history as part of formal quality
+ JUnit for Java (<A HREF="www.junit.com">www.junit.com</A>). There
+ is a list of unit test frameworks for multiple languages at <A
+ HREF="http://www.xprogramming.com/software.htm">www.xprogramming.com/software.htm</A>
+ . Unit testing has a long history as part of formal quality
assurance methodologies, but has recently been associated with the
lightweight methodology called Extreme Programming. In that
methodology, the characteristic practice involves interspersing
- unit test writing with coding (" test a little, code a little"
- ). While the incremental unit test/code approach is indispensable
- to Extreme Programming, it is also applicable, and perhaps
- indispensable, outside of that methodology.
- <P>The incremental
- test/code approach provides three main benefits to the developer:
- <P>
+ unit test writing with coding (" test a little, code a
+ little"). While the incremental unit test/code approach is
+ indispensable to Extreme Programming, it is also applicable, and
+ perhaps indispensable, outside of that methodology.
+
+ <P>The incremental test/code approach provides three main benefits
+ to the developer:<P>
+
<OL>
<LI>Because the unit tests use the interface to the unit being
tested, they allow the developer to think about how the
trails; with it, you can take the most direct path to where you
want to go.<P>
+ <H2>Information about Check</H2>
+
<P>Look at the Check homepage for the latest
information on Check: <A
HREF="http://check.sourceforge.net">http://check.sourceforge.net</A>
HREF="http://sourceforge.net/projects/check/">http://sourceforge.net/projects/check/</A>
</P>
- <P>Check can be dowloaded from <A HREF="http://sourceforge.net/project/showfiles.php?group_id=28255&release_id=37982">here</A>.</P>
-
<P>A tutorial introduction to Check can be found <A
HREF="example.html">here</A>.</P>
+
+ <H2>Getting Check</H2>
+ <P>Check can be dowloaded from <A HREF="http://sourceforge.net/project/showfiles.php?group_id=28255&release_id=37982">here</A>.</P>
+
+ <H2>Contributing</H2>
+
+ <P>The author welcomes any and all help with Check, whether
+ through enhancement requests, bug reports, patches, documentation,
+ etc. Please visit the Check project page at <A
+ HREF="http://sourceforge.net/projects/check/">http://sourceforge.net/projects/check/</A>
+
+ <P>To contribute to Check, you should download the source through
+ anonymous CVS, following these simple instructions:</P>
+ <OL>
+ <LI>Navigate to the directory below which you want the new check
+ directory to be formed. That is, if you navigate to
+ /home/luser/foo/bar, the check files will be in
+ /home/luser/foo/bar/check.</LI>
+
+ <LI>Issue the following command to login to CVS. When prompted
+ to supply the anonymous password, simply hit return.
+ <HR>
+<PRE>
+$ cvs -d:pserver:anonymous@cvs.check.sourceforge.net:/cvsroot/check login
+</PRE>
+ <HR>
+ </LI>
+ <LI>Issue the following command to setup the check subdirectory
+ <HR>
+<PRE>
+$ cvs -z3 -d:pserver:anonymous@cvs.check.sourceforge.net:/cvsroot/check co check
+</PRE>
+ <HR>
+ </LI>
+
+ <LI>To keep current with CVS, use the following command within the
+check directory
+ <HR>
+<PRE>
+$ cvs -z3 update -dP
+</PRE>
+ <HR>
+
+ <P>Note that you do not have to supply the server directory
+ path or the user name (it is all kept in the CVS local
+ directory.)
+ </LI>
+ </OL>
+
+ <P>From that point on, using Check should simply be a matter of
+ the standard:
+ <P>
+ <HR>
+ <PRE>
+$ ./configure
+$ make
+$ make install
+</PRE>
+ <HR>
+ <P>Of course, since Check comes with its own unit tests, you can (and should)
+ substitute "make check" for "make" in the above.</P>
+
<A href="http://sourceforge.net"> <IMG
src="http://sourceforge.net/sflogo.php?group_id=28255"
width="88" height="31" border="0" alt="SourceForge Logo"></A>
Summary: A unit test framework for C
Name: check
-Version: 0.5.2
+Version: 0.6.0
Release: 1
Epoch: 1
-Source: http://prdownloads.sourceforge.net/check/check-0.5.2.tar.gz
+Source: http://prdownloads.sourceforge.net/check/check-0.6.0.tar.gz
Group: Development/Tools
Copyright: GPL
URL: http://check.sourceforge.net
Prefix: %{_prefix}
BuildPrereq: lyx sgml-tools
BuildRoot: %{_tmppath}/%{name}-%{version}-root
+Packager: Arien Malec <arien_malec@yahoo.com>
%description
Check is a unit test 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 Check can catch both assertion failures and code errors that cause segmentation faults or other signals. The output from unit tests can be used within source code editors and IDEs.
%doc %{_prefix}/share/doc/%{name}-%{version}/example-2.html
%doc %{_prefix}/share/doc/%{name}-%{version}/example-3.html
%doc %{_prefix}/share/doc/%{name}-%{version}/example-4.html
-%doc %{_prefix}/share/doc/%{name}-%{version}/example-5.html
%doc %{_prefix}/share/doc/%{name}-%{version}/example.html
%doc %{_prefix}/share/doc/%{name}-%{version}/example.lyx
%doc %{_prefix}/share/doc/%{name}-%{version}/example.sgml
%doc %{_prefix}/share/doc/%{name}-%{version}/money/config.h.in
%changelog
+* Thu Jun 21 2001 Arien Malec <arien_malec@yahoo.com>
+- Updated for 0.6.0, removed example-5.html
* Sat Jun 2 2001 Arien Malec <arien_malec@yahoo.com>
- First packaging.
TESTS=check_check check_list check_check_msg test_output.sh
noinst_PROGRAMS=check_check check_list check_stress check_check_msg ex_output
+EXTRA_DIST=test_output.sh
check_check_SOURCES= \
check_check.c
TESTS = check_check check_list check_check_msg test_output.sh
noinst_PROGRAMS = check_check check_list check_stress check_check_msg ex_output
+EXTRA_DIST = test_output.sh
check_check_SOURCES = check_check.c