<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>compile</filename>
    </added>
    <added>
      <filename>src/test/fraction_test.c</filename>
    </added>
    <added>
      <filename>src/test/main.c</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,6 @@
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = src test
+SUBDIRS = src
+
+clean-local:
+	-rm -rf src/*.gcda src/*.gcno</diff>
      <filename>Makefile.am</filename>
    </modified>
    <modified>
      <diff>@@ -36,7 +36,7 @@ host_triplet = @host@
 subdir = .
 DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(top_srcdir)/configure AUTHORS COPYING \
-	ChangeLog INSTALL NEWS config.guess config.sub depcomp \
+	ChangeLog INSTALL NEWS compile config.guess config.sub depcomp \
 	install-sh ltmain.sh missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.in
@@ -219,7 +219,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = src test
+SUBDIRS = src
 all: all-recursive
 
 .SUFFIXES:
@@ -608,7 +608,7 @@ maintainer-clean-generic:
 	@echo &quot;it deletes files that may require special tools to rebuild.&quot;
 clean: clean-recursive
 
-clean-am: clean-generic clean-libtool mostlyclean-am
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
 
 distclean: distclean-recursive
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -681,20 +681,23 @@ uninstall-am:
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am am--refresh check check-am clean clean-generic \
-	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
-	distcheck distclean distclean-generic distclean-libtool \
-	distclean-tags distcleancheck distdir distuninstallcheck dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-data install-data-am install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-man install-pdf \
-	install-pdf-am install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs installdirs-am \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-recursive uninstall uninstall-am
-
+	clean-libtool clean-local ctags ctags-recursive dist dist-all \
+	dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ dist-xz \
+	dist-zip distcheck distclean distclean-generic \
+	distclean-libtool distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	installdirs-am maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags tags-recursive uninstall uninstall-am
+
+
+clean-local:
+	-rm -rf src/*.gcda src/*.gcno
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.</diff>
      <filename>Makefile.in</filename>
    </modified>
    <modified>
      <diff>@@ -8585,6 +8585,41 @@ AC_MSG_RESULT([$_am_result])
 rm -f confinc confmf
 ])
 
+# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_PROG_CC_C_O
+# --------------
+# Like AC_PROG_CC_C_O, but changed for automake.
+AC_DEFUN([AM_PROG_CC_C_O],
+[AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test &quot;$am_t&quot; != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC=&quot;\$(top_srcdir)/compile \$(CC)&quot;
+   CC=&quot;$am_aux_dir/compile $CC&quot;
+fi
+dnl Make sure AC_PROG_CC is never called again, or it will override our
+dnl setting of CC.
+m4_define([AC_PROG_CC],
+          [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])])
+])
+
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
 # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008</diff>
      <filename>aclocal.m4</filename>
    </modified>
    <modified>
      <diff>@@ -15402,6 +15402,139 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+if test &quot;x$CC&quot; != xcc; then
+  { $as_echo &quot;$as_me:$LINENO: checking whether $CC and cc understand -c and -o together&quot; &gt;&amp;5
+$as_echo_n &quot;checking whether $CC and cc understand -c and -o together... &quot; &gt;&amp;6; }
+else
+  { $as_echo &quot;$as_me:$LINENO: checking whether cc understands -c and -o together&quot; &gt;&amp;5
+$as_echo_n &quot;checking whether cc understands -c and -o together... &quot; &gt;&amp;6; }
+fi
+set dummy $CC; ac_cc=`$as_echo &quot;$2&quot; |
+		      sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval &quot;test \&quot;\${$as_var+set}\&quot; = set&quot;; }; then
+  $as_echo_n &quot;(cached) &quot; &gt;&amp;6
+else
+  cat &gt;conftest.$ac_ext &lt;&lt;_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h &gt;&gt;conftest.$ac_ext
+cat &gt;&gt;conftest.$ac_ext &lt;&lt;_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+# Make sure it works both with $CC and with simple cc.
+# We do the test twice because some compilers refuse to overwrite an
+# existing .o file with -o, though they will create one.
+ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext &gt;&amp;5'
+rm -f conftest2.*
+if { (case &quot;(($ac_try&quot; in
+  *\&quot;* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo=&quot;\&quot;\$as_me:$LINENO: $ac_try_echo\&quot;&quot;
+$as_echo &quot;$ac_try_echo&quot;) &gt;&amp;5
+  (eval &quot;$ac_try&quot;) 2&gt;&amp;5
+  ac_status=$?
+  $as_echo &quot;$as_me:$LINENO: \$? = $ac_status&quot; &gt;&amp;5
+  (exit $ac_status); } &amp;&amp;
+   test -f conftest2.$ac_objext &amp;&amp; { (case &quot;(($ac_try&quot; in
+  *\&quot;* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo=&quot;\&quot;\$as_me:$LINENO: $ac_try_echo\&quot;&quot;
+$as_echo &quot;$ac_try_echo&quot;) &gt;&amp;5
+  (eval &quot;$ac_try&quot;) 2&gt;&amp;5
+  ac_status=$?
+  $as_echo &quot;$as_me:$LINENO: \$? = $ac_status&quot; &gt;&amp;5
+  (exit $ac_status); };
+then
+  eval ac_cv_prog_cc_${ac_cc}_c_o=yes
+  if test &quot;x$CC&quot; != xcc; then
+    # Test first that cc exists at all.
+    if { ac_try='cc -c conftest.$ac_ext &gt;&amp;5'
+  { (case &quot;(($ac_try&quot; in
+  *\&quot;* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo=&quot;\&quot;\$as_me:$LINENO: $ac_try_echo\&quot;&quot;
+$as_echo &quot;$ac_try_echo&quot;) &gt;&amp;5
+  (eval &quot;$ac_try&quot;) 2&gt;&amp;5
+  ac_status=$?
+  $as_echo &quot;$as_me:$LINENO: \$? = $ac_status&quot; &gt;&amp;5
+  (exit $ac_status); }; }; then
+      ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext &gt;&amp;5'
+      rm -f conftest2.*
+      if { (case &quot;(($ac_try&quot; in
+  *\&quot;* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo=&quot;\&quot;\$as_me:$LINENO: $ac_try_echo\&quot;&quot;
+$as_echo &quot;$ac_try_echo&quot;) &gt;&amp;5
+  (eval &quot;$ac_try&quot;) 2&gt;&amp;5
+  ac_status=$?
+  $as_echo &quot;$as_me:$LINENO: \$? = $ac_status&quot; &gt;&amp;5
+  (exit $ac_status); } &amp;&amp;
+	 test -f conftest2.$ac_objext &amp;&amp; { (case &quot;(($ac_try&quot; in
+  *\&quot;* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo=&quot;\&quot;\$as_me:$LINENO: $ac_try_echo\&quot;&quot;
+$as_echo &quot;$ac_try_echo&quot;) &gt;&amp;5
+  (eval &quot;$ac_try&quot;) 2&gt;&amp;5
+  ac_status=$?
+  $as_echo &quot;$as_me:$LINENO: \$? = $ac_status&quot; &gt;&amp;5
+  (exit $ac_status); };
+      then
+	# cc works too.
+	:
+      else
+	# cc exists but doesn't like -o.
+	eval ac_cv_prog_cc_${ac_cc}_c_o=no
+      fi
+    fi
+  fi
+else
+  eval ac_cv_prog_cc_${ac_cc}_c_o=no
+fi
+rm -f core conftest*
+
+fi
+if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then
+  { $as_echo &quot;$as_me:$LINENO: result: yes&quot; &gt;&amp;5
+$as_echo &quot;yes&quot; &gt;&amp;6; }
+else
+  { $as_echo &quot;$as_me:$LINENO: result: no&quot; &gt;&amp;5
+$as_echo &quot;no&quot; &gt;&amp;6; }
+
+cat &gt;&gt;confdefs.h &lt;&lt;\_ACEOF
+#define NO_MINUS_C_MINUS_O 1
+_ACEOF
+
+fi
+
+# FIXME: we rely on the cache variable name because
+# there is no other way.
+set dummy $CC
+am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'`
+eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o
+if test &quot;$am_t&quot; != yes; then
+   # Losing compiler, so override with the script.
+   # FIXME: It is wrong to rewrite CC.
+   # But if we don't then we get into trouble of one sort or another.
+   # A longer-term fix would be to have automake use am__CC in this case,
+   # and then we could set am__CC=&quot;\$(top_srcdir)/compile \$(CC)&quot;
+   CC=&quot;$am_aux_dir/compile $CC&quot;
+fi
+
+
+
 # Ask user for path to cmockery
 
 # Check whether --with-cmockery was given.
@@ -15897,7 +16030,7 @@ fi
 
 
 
-ac_config_files=&quot;$ac_config_files Makefile src/Makefile test/Makefile&quot;
+ac_config_files=&quot;$ac_config_files Makefile src/Makefile&quot;
 
 
 cat &gt;confcache &lt;&lt;\_ACEOF
@@ -16897,7 +17030,6 @@ do
     &quot;libtool&quot;) CONFIG_COMMANDS=&quot;$CONFIG_COMMANDS libtool&quot; ;;
     &quot;Makefile&quot;) CONFIG_FILES=&quot;$CONFIG_FILES Makefile&quot; ;;
     &quot;src/Makefile&quot;) CONFIG_FILES=&quot;$CONFIG_FILES src/Makefile&quot; ;;
-    &quot;test/Makefile&quot;) CONFIG_FILES=&quot;$CONFIG_FILES test/Makefile&quot; ;;
 
   *) { { $as_echo &quot;$as_me:$LINENO: error: invalid argument: $ac_config_target&quot; &gt;&amp;5
 $as_echo &quot;$as_me: error: invalid argument: $ac_config_target&quot; &gt;&amp;2;}</diff>
      <filename>configure</filename>
    </modified>
    <modified>
      <diff>@@ -17,6 +17,8 @@ AC_PROG_LN_S
 AC_PROG_MAKE_SET
 LT_INIT
 
+AM_PROG_CC_C_O
+
 # Ask user for path to cmockery
 AC_ARG_WITH([cmockery],
     [--with-cmockery=&lt;path&gt; prefix of cmockery installation. e.g. /usr/local or /usr],
@@ -46,6 +48,6 @@ AC_FUNC_MALLOC
 AC_CHECK_LIB([cmockery], [mock_assert])
 AC_CONFIG_MACRO_DIR([m4])
 
-AC_CONFIG_FILES([Makefile src/Makefile test/Makefile])
+AC_CONFIG_FILES([Makefile src/Makefile])
 
 AC_OUTPUT</diff>
      <filename>configure.in</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,16 @@
 AM_CFLAGS = -Wall -g
-ACLOCAL_AMFLAGS = -I m4
 
 lib_LTLIBRARIES = libfraction.la
 libfraction_la_SOURCES = fraction.h fraction.c
 
 include_HEADERS = fraction.h
+
+check_PROGRAMS = main fraction_test
+main_SOURCES = test/main.c $(libfraction_la_SOURCES)
+main_CFLAGS = ${AM_CFLAGS}
+
+fraction_test_SOURCES = test/fraction_test.c $(libfraction_la_SOURCES)
+fraction_test_CFLAGS = ${AM_CFLAGS} -DUNIT_TESTING=1 -fprofile-arcs -ftest-coverage
+fraction_test_LDADD = ${CMOCKERY_LIBS}
+
+TESTS = $(check_PROGRAMS)</diff>
      <filename>src/Makefile.am</filename>
    </modified>
    <modified>
      <diff>@@ -35,6 +35,7 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+check_PROGRAMS = main$(EXEEXT) fraction_test$(EXEEXT)
 subdir = src
 DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in $(srcdir)/config.h.in
@@ -72,6 +73,22 @@ LTLIBRARIES = $(lib_LTLIBRARIES)
 libfraction_la_LIBADD =
 am_libfraction_la_OBJECTS = fraction.lo
 libfraction_la_OBJECTS = $(am_libfraction_la_OBJECTS)
+am__objects_1 = fraction_test-fraction.$(OBJEXT)
+am_fraction_test_OBJECTS = fraction_test-fraction_test.$(OBJEXT) \
+	$(am__objects_1)
+fraction_test_OBJECTS = $(am_fraction_test_OBJECTS)
+am__DEPENDENCIES_1 =
+fraction_test_DEPENDENCIES = $(am__DEPENDENCIES_1)
+fraction_test_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(fraction_test_CFLAGS) \
+	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am__objects_2 = main-fraction.$(OBJEXT)
+am_main_OBJECTS = main-main.$(OBJEXT) $(am__objects_2)
+main_OBJECTS = $(am_main_OBJECTS)
+main_LDADD = $(LDADD)
+main_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(main_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -85,11 +102,15 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(libfraction_la_SOURCES)
-DIST_SOURCES = $(libfraction_la_SOURCES)
+SOURCES = $(libfraction_la_SOURCES) $(fraction_test_SOURCES) \
+	$(main_SOURCES)
+DIST_SOURCES = $(libfraction_la_SOURCES) $(fraction_test_SOURCES) \
+	$(main_SOURCES)
 HEADERS = $(include_HEADERS)
 ETAGS = etags
 CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -209,10 +230,15 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 AM_CFLAGS = -Wall -g
-ACLOCAL_AMFLAGS = -I m4
 lib_LTLIBRARIES = libfraction.la
 libfraction_la_SOURCES = fraction.h fraction.c
 include_HEADERS = fraction.h
+main_SOURCES = test/main.c $(libfraction_la_SOURCES)
+main_CFLAGS = ${AM_CFLAGS}
+fraction_test_SOURCES = test/fraction_test.c $(libfraction_la_SOURCES)
+fraction_test_CFLAGS = ${AM_CFLAGS} -DUNIT_TESTING=1 -fprofile-arcs -ftest-coverage
+fraction_test_LDADD = ${CMOCKERY_LIBS}
+TESTS = $(check_PROGRAMS)
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-am
 
@@ -299,6 +325,21 @@ clean-libLTLIBRARIES:
 libfraction.la: $(libfraction_la_OBJECTS) $(libfraction_la_DEPENDENCIES) 
 	$(LINK) -rpath $(libdir) $(libfraction_la_OBJECTS) $(libfraction_la_LIBADD) $(LIBS)
 
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; test -n &quot;$$list&quot; || exit 0; \
+	echo &quot; rm -f&quot; $$list; \
+	rm -f $$list || exit $$?; \
+	test -n &quot;$(EXEEXT)&quot; || exit 0; \
+	list=`for p in $$list; do echo &quot;$$p&quot;; done | sed 's/$(EXEEXT)$$//'`; \
+	echo &quot; rm -f&quot; $$list; \
+	rm -f $$list
+fraction_test$(EXEEXT): $(fraction_test_OBJECTS) $(fraction_test_DEPENDENCIES) 
+	@rm -f fraction_test$(EXEEXT)
+	$(fraction_test_LINK) $(fraction_test_OBJECTS) $(fraction_test_LDADD) $(LIBS)
+main$(EXEEXT): $(main_OBJECTS) $(main_DEPENDENCIES) 
+	@rm -f main$(EXEEXT)
+	$(main_LINK) $(main_OBJECTS) $(main_LDADD) $(LIBS)
+
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
 
@@ -306,6 +347,10 @@ distclean-compile:
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fraction.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fraction_test-fraction.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fraction_test-fraction_test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main-fraction.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main-main.Po@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $&lt;
@@ -328,6 +373,62 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $&lt;
 
+fraction_test-fraction_test.o: test/fraction_test.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fraction_test_CFLAGS) $(CFLAGS) -MT fraction_test-fraction_test.o -MD -MP -MF $(DEPDIR)/fraction_test-fraction_test.Tpo -c -o fraction_test-fraction_test.o `test -f 'test/fraction_test.c' || echo '$(srcdir)/'`test/fraction_test.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/fraction_test-fraction_test.Tpo $(DEPDIR)/fraction_test-fraction_test.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='test/fraction_test.c' object='fraction_test-fraction_test.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fraction_test_CFLAGS) $(CFLAGS) -c -o fraction_test-fraction_test.o `test -f 'test/fraction_test.c' || echo '$(srcdir)/'`test/fraction_test.c
+
+fraction_test-fraction_test.obj: test/fraction_test.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fraction_test_CFLAGS) $(CFLAGS) -MT fraction_test-fraction_test.obj -MD -MP -MF $(DEPDIR)/fraction_test-fraction_test.Tpo -c -o fraction_test-fraction_test.obj `if test -f 'test/fraction_test.c'; then $(CYGPATH_W) 'test/fraction_test.c'; else $(CYGPATH_W) '$(srcdir)/test/fraction_test.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/fraction_test-fraction_test.Tpo $(DEPDIR)/fraction_test-fraction_test.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='test/fraction_test.c' object='fraction_test-fraction_test.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fraction_test_CFLAGS) $(CFLAGS) -c -o fraction_test-fraction_test.obj `if test -f 'test/fraction_test.c'; then $(CYGPATH_W) 'test/fraction_test.c'; else $(CYGPATH_W) '$(srcdir)/test/fraction_test.c'; fi`
+
+fraction_test-fraction.o: fraction.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fraction_test_CFLAGS) $(CFLAGS) -MT fraction_test-fraction.o -MD -MP -MF $(DEPDIR)/fraction_test-fraction.Tpo -c -o fraction_test-fraction.o `test -f 'fraction.c' || echo '$(srcdir)/'`fraction.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/fraction_test-fraction.Tpo $(DEPDIR)/fraction_test-fraction.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fraction.c' object='fraction_test-fraction.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fraction_test_CFLAGS) $(CFLAGS) -c -o fraction_test-fraction.o `test -f 'fraction.c' || echo '$(srcdir)/'`fraction.c
+
+fraction_test-fraction.obj: fraction.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fraction_test_CFLAGS) $(CFLAGS) -MT fraction_test-fraction.obj -MD -MP -MF $(DEPDIR)/fraction_test-fraction.Tpo -c -o fraction_test-fraction.obj `if test -f 'fraction.c'; then $(CYGPATH_W) 'fraction.c'; else $(CYGPATH_W) '$(srcdir)/fraction.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/fraction_test-fraction.Tpo $(DEPDIR)/fraction_test-fraction.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fraction.c' object='fraction_test-fraction.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fraction_test_CFLAGS) $(CFLAGS) -c -o fraction_test-fraction.obj `if test -f 'fraction.c'; then $(CYGPATH_W) 'fraction.c'; else $(CYGPATH_W) '$(srcdir)/fraction.c'; fi`
+
+main-main.o: test/main.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(main_CFLAGS) $(CFLAGS) -MT main-main.o -MD -MP -MF $(DEPDIR)/main-main.Tpo -c -o main-main.o `test -f 'test/main.c' || echo '$(srcdir)/'`test/main.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/main-main.Tpo $(DEPDIR)/main-main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='test/main.c' object='main-main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(main_CFLAGS) $(CFLAGS) -c -o main-main.o `test -f 'test/main.c' || echo '$(srcdir)/'`test/main.c
+
+main-main.obj: test/main.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(main_CFLAGS) $(CFLAGS) -MT main-main.obj -MD -MP -MF $(DEPDIR)/main-main.Tpo -c -o main-main.obj `if test -f 'test/main.c'; then $(CYGPATH_W) 'test/main.c'; else $(CYGPATH_W) '$(srcdir)/test/main.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/main-main.Tpo $(DEPDIR)/main-main.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='test/main.c' object='main-main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(main_CFLAGS) $(CFLAGS) -c -o main-main.obj `if test -f 'test/main.c'; then $(CYGPATH_W) 'test/main.c'; else $(CYGPATH_W) '$(srcdir)/test/main.c'; fi`
+
+main-fraction.o: fraction.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(main_CFLAGS) $(CFLAGS) -MT main-fraction.o -MD -MP -MF $(DEPDIR)/main-fraction.Tpo -c -o main-fraction.o `test -f 'fraction.c' || echo '$(srcdir)/'`fraction.c
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/main-fraction.Tpo $(DEPDIR)/main-fraction.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fraction.c' object='main-fraction.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(main_CFLAGS) $(CFLAGS) -c -o main-fraction.o `test -f 'fraction.c' || echo '$(srcdir)/'`fraction.c
+
+main-fraction.obj: fraction.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(main_CFLAGS) $(CFLAGS) -MT main-fraction.obj -MD -MP -MF $(DEPDIR)/main-fraction.Tpo -c -o main-fraction.obj `if test -f 'fraction.c'; then $(CYGPATH_W) 'fraction.c'; else $(CYGPATH_W) '$(srcdir)/fraction.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/main-fraction.Tpo $(DEPDIR)/main-fraction.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fraction.c' object='main-fraction.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(main_CFLAGS) $(CFLAGS) -c -o main-fraction.obj `if test -f 'fraction.c'; then $(CYGPATH_W) 'fraction.c'; else $(CYGPATH_W) '$(srcdir)/fraction.c'; fi`
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
@@ -406,6 +507,98 @@ GTAGS:
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n &quot;$$list&quot;; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir=&quot;$(srcdir)/&quot;; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case &quot; $(XFAIL_TESTS) &quot; in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case &quot; $(XFAIL_TESTS) &quot; in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo &quot;$${col}$$res$${std}: $$tst&quot;; \
+	  done; \
+	  if test &quot;$$all&quot; -eq 1; then \
+	    tests=&quot;test&quot;; \
+	    All=&quot;&quot;; \
+	  else \
+	    tests=&quot;tests&quot;; \
+	    All=&quot;All &quot;; \
+	  fi; \
+	  if test &quot;$$failed&quot; -eq 0; then \
+	    if test &quot;$$xfail&quot; -eq 0; then \
+	      banner=&quot;$$All$$all $$tests passed&quot;; \
+	    else \
+	      if test &quot;$$xfail&quot; -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner=&quot;$$All$$all $$tests behaved as expected ($$xfail expected $$failures)&quot;; \
+	    fi; \
+	  else \
+	    if test &quot;$$xpass&quot; -eq 0; then \
+	      banner=&quot;$$failed of $$all $$tests failed&quot;; \
+	    else \
+	      if test &quot;$$xpass&quot; -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner=&quot;$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)&quot;; \
+	    fi; \
+	  fi; \
+	  dashes=&quot;$$banner&quot;; \
+	  skipped=&quot;&quot;; \
+	  if test &quot;$$skip&quot; -ne 0; then \
+	    if test &quot;$$skip&quot; -eq 1; then \
+	      skipped=&quot;($$skip test was not run)&quot;; \
+	    else \
+	      skipped=&quot;($$skip tests were not run)&quot;; \
+	    fi; \
+	    test `echo &quot;$$skipped&quot; | wc -c` -le `echo &quot;$$banner&quot; | wc -c` || \
+	      dashes=&quot;$$skipped&quot;; \
+	  fi; \
+	  report=&quot;&quot;; \
+	  if test &quot;$$failed&quot; -ne 0 &amp;&amp; test -n &quot;$(PACKAGE_BUGREPORT)&quot;; then \
+	    report=&quot;Please report to $(PACKAGE_BUGREPORT)&quot;; \
+	    test `echo &quot;$$report&quot; | wc -c` -le `echo &quot;$$banner&quot; | wc -c` || \
+	      dashes=&quot;$$report&quot;; \
+	  fi; \
+	  dashes=`echo &quot;$$dashes&quot; | sed s/./=/g`; \
+	  if test &quot;$$failed&quot; -eq 0; then \
+	    echo &quot;$$grn$$dashes&quot;; \
+	  else \
+	    echo &quot;$$red$$dashes&quot;; \
+	  fi; \
+	  echo &quot;$$banner&quot;; \
+	  test -z &quot;$$skipped&quot; || echo &quot;$$skipped&quot;; \
+	  test -z &quot;$$report&quot; || echo &quot;$$report&quot;; \
+	  echo &quot;$$dashes$$std&quot;; \
+	  test &quot;$$failed&quot; -eq 0; \
+	else :; fi
+
 distdir: $(DISTFILES)
 	@srcdirstrip=`echo &quot;$(srcdir)&quot; | sed 's/[].[^$$\\*]/\\\\&amp;/g'`; \
 	topsrcdirstrip=`echo &quot;$(top_srcdir)&quot; | sed 's/[].[^$$\\*]/\\\\&amp;/g'`; \
@@ -437,6 +630,8 @@ distdir: $(DISTFILES)
 	  fi; \
 	done
 check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
 check: check-am
 all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h
 installdirs:
@@ -470,8 +665,8 @@ maintainer-clean-generic:
 	@echo &quot;it deletes files that may require special tools to rebuild.&quot;
 clean: clean-am
 
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
-	mostlyclean-am
+clean-am: clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libtool mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -539,19 +734,19 @@ ps-am:
 
 uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
 
-.MAKE: all install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libLTLIBRARIES clean-libtool ctags distclean \
-	distclean-compile distclean-generic distclean-hdr \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am \
-	install-includeHEADERS install-info install-info-am \
-	install-libLTLIBRARIES install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
+.MAKE: all check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libtool ctags distclean distclean-compile \
+	distclean-generic distclean-hdr distclean-libtool \
+	distclean-tags distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-includeHEADERS install-info \
+	install-info-am install-libLTLIBRARIES install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-includeHEADERS \</diff>
      <filename>src/Makefile.in</filename>
    </modified>
    <modified>
      <diff>@@ -47,6 +47,9 @@
    */
 #undef LT_OBJDIR
 
+/* Define to 1 if your C compiler doesn't accept -c and -o together. */
+#undef NO_MINUS_C_MINUS_O
+
 /* Name of package */
 #undef PACKAGE
 </diff>
      <filename>src/config.h.in</filename>
    </modified>
    <modified>
      <diff>@@ -23,18 +23,27 @@
  * OTHER DEALINGS IN THE SOFTWARE.
  */
 
-#include &quot;fraction.h&quot;
+#include &lt;assert.h&gt;
 #include &lt;stdio.h&gt;
 #include &lt;stdlib.h&gt;
+#include &lt;malloc.h&gt;
+#include &quot;fraction.h&quot;
+
+#if UNIT_TESTING /*{{{*/
+#include &lt;stdarg.h&gt;
+#include &lt;stddef.h&gt;
+#include &lt;setjmp.h&gt;
+#include &lt;google/cmockery.h&gt;
+#endif /* UNIT_TESTING }}}*/
+
 
 Fraction *
 fraction_create(const int n,
                 const int d)
 {
-#if UNIT_TESTING
-    printf(&quot;Hello Bitches\n&quot;);
-#endif
     Fraction * f = (Fraction *) malloc(sizeof(Fraction));
+    assert(f != NULL);
+
     fraction_set(f, n, d);
     return f;
 }
@@ -44,6 +53,7 @@ fraction_set(Fraction * const f,
              const int n,
              const int d)
 {
+    assert(f != NULL);
     f-&gt;numerator = n;
     f-&gt;denominator = d;
 }
@@ -52,6 +62,9 @@ Fraction *
 fraction_add(const Fraction * const a,
              const Fraction * const b)
 {
+    assert(a != NULL);
+    assert(b != NULL);
+
     int numerator = a-&gt;numerator;
     int denominator = a-&gt;denominator;
 
@@ -67,12 +80,15 @@ fraction_add(const Fraction * const a,
 void
 fraction_destroy(Fraction * f)
 {
+    assert(f != NULL);
     free(f);
 }
 
 void
 fraction_reduce(Fraction * const f)
 {
+    assert(f != NULL);
+
     int u = f-&gt;numerator;
     int v = f-&gt;denominator;
     int tmp;
@@ -90,5 +106,6 @@ fraction_reduce(Fraction * const f)
 void
 fraction_print(const Fraction * const f)
 {
+    assert(f != NULL);
     printf(&quot;%d/%d\n&quot;, f-&gt;numerator, f-&gt;denominator);
 }</diff>
      <filename>src/fraction.c</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>test/Makefile.am</filename>
    </removed>
    <removed>
      <filename>test/Makefile.in</filename>
    </removed>
    <removed>
      <filename>test/fraction_test.c</filename>
    </removed>
    <removed>
      <filename>test/main.c</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>5542b3a788c6d880b42bce4b045ecdb6dad55354</id>
    </parent>
  </parents>
  <author>
    <name>K. Adam Christensen</name>
    <email>pope@shifteleven.com</email>
  </author>
  <url>http://github.com/pope/libfraction/commit/a88537877daee6c65060f74c527acb150908ce09</url>
  <id>a88537877daee6c65060f74c527acb150908ce09</id>
  <committed-date>2009-05-29T07:05:22-07:00</committed-date>
  <authored-date>2009-05-29T07:05:22-07:00</authored-date>
  <message>Moved the tests inside of the src directory.  This also means one less
Makefile to manage.

I also got cmockery working with malloc and all that.  Getting fairly
comportable with this setup.  Oh, also added a clean-local to the
makefile to get rid of the gcov files</message>
  <tree>4577db321d6309a5069d194fd167240a622a3d86</tree>
  <committer>
    <name>K. Adam Christensen</name>
    <email>pope@shifteleven.com</email>
  </committer>
</commit>
