include $(top_srcdir)/Makefile.decl
-NULL =
+noinst_PROGRAMS = $(TEST_PROGS)
+
+TEST_PROGS += tests
+
+tests_SOURCES = \
+ testarraylist.vala \
+ testarrayqueue.vala \
+ testbidirlist.vala \
+ testbidirsortedset.vala \
+ testbidirsortedmap.vala \
+ testcase.vala \
+ testcollection.vala \
+ testconcurrentlist.vala \
+ testconcurrentset.vala \
+ testdata.vala \
+ testdeque.vala \
+ testfunctions.vala \
+ testhashmap.vala \
+ testhashmultimap.vala \
+ testhashmultiset.vala \
+ testhashset.vala \
+ testlinkedlist.vala \
+ testlinkedlistasdeque.vala \
+ testlist.vala \
+ testmain.vala \
+ testmap.vala \
+ testmultimap.vala \
+ testmultiset.vala \
+ testpriorityqueue.vala \
+ testqueue.vala \
+ testreadonlybidirlist.vala \
+ testreadonlycollection.vala \
+ testreadonlylist.vala \
+ testreadonlymap.vala \
+ testreadonlyset.vala \
+ testset.vala \
+ testsortedset.vala \
+ testsortedmap.vala \
+ testtreemap.vala \
+ testtreemultimap.vala \
+ testtreemultiset.vala \
+ testtreeset.vala \
+ $(NULL)
+
+tests_DEPENDENCIES = \
+ $(top_srcdir)/gee/gee-0.8.vapi \
+ $(NULL)
+
+tests_VALAFLAGS = \
+ --basedir $(top_srcdir) \
+ --vapidir $(top_srcdir)/gee \
+ --pkg gee-0.8 --pkg posix \
+ $(VALAFLAGS) \
+ $(NULL)
-AM_CPPFLAGS = \
- -I$(top_srcdir) \
+tests_CPPFLAGS = \
+ -I$(top_srcdir)/gee \
$(GLIB_CFLAGS) \
$(NULL)
-noinst_PROGRAMS = $(TEST_PROGS)
+tests_LDADD = \
+ $(GLIB_LIBS) ../gee/libgee-0.8.la \
+ $(NULL)
+
+coverage-reset:
+ lcov --base-directory=@top_srcdir@ --directory @top_srcdir@/gee --zerocounters
+
+coverage-report:
+ lcov --directory @top_srcdir@/gee \
+ --capture \
+ --output-file @top_builddir@/lcov.info
+
+ lcov --directory @top_srcdir@/gee \
+ --output-file @top_builddir@/lcov.info \
+ --remove @top_builddir@/lcov.info \
+ "/usr/include/*" "*.c" "*.h" "*.vapi"
+
+ $(mkdir_p) @top_builddir@/tests/coverage
+ git_commit=`GIT_DIR=@top_srcdir@/.git git log -1 --pretty=format:%h 2>/dev/null`;\
+ genhtml --title "@PACKAGE_STRING@ $$git_commit" \
+ --output-directory @top_builddir@/tests/coverage @top_builddir@/lcov.info
+ @echo
+ @echo 'lcov report can be found in:'
+ @echo 'file://@abs_top_builddir@/tests/coverage/index.html'
+ @echo
-progs_ldadd = $(GLIB_LIBS) ../gee/libgee.la
-
-TEST_PROGS += testarraylist
-testarraylist_VALASOURCES = testarraylist.vala
-testarraylist_SOURCES = testarraylist.c testarraylist.h
-$(testarraylist_SOURCES): $(testarraylist_VALASOURCES)
- $(VALAC) -C --basedir $(top_srcdir) --vapidir $(top_srcdir)/gee --pkg gee-1.0 $^
- touch $@
-testarraylist_LDADD = $(progs_ldadd)
-EXTRA_DIST += $(testarraylist_VALASOURCES)
-
-TEST_PROGS += testhashmap
-testhashmap_VALASOURCES = testhashmap.vala
-testhashmap_SOURCES = testhashmap.c testhashmap.h
-$(testhashmap_SOURCES): $(testhashmap_VALASOURCES)
- $(VALAC) -C --basedir $(top_srcdir) --vapidir $(top_srcdir)/gee --pkg gee-1.0 $^
- touch $@
-testhashmap_LDADD = $(progs_ldadd)
-EXTRA_DIST += $(testhashmap_VALASOURCES)
-
-TEST_PROGS += testhashset
-testhashset_VALASOURCES = testhashset.vala
-testhashset_SOURCES = testhashset.c testhashset.h
-$(testhashset_SOURCES): $(testhashset_VALASOURCES)
- $(VALAC) -C --basedir $(top_srcdir) --vapidir $(top_srcdir)/gee --pkg gee-1.0 $^
- touch $@
-testhashset_LDADD = $(progs_ldadd)
-EXTRA_DIST += $(testhashset_VALASOURCES)
+clean-local:
+ -rm -rf coverage
+.PHONY: coverage-report