[test] Add test-symbols that checks API symbol text coverage
authorBehdad Esfahbod <behdad@behdad.org>
Fri, 27 May 2011 05:33:18 +0000 (01:33 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Fri, 27 May 2011 07:40:03 +0000 (03:40 -0400)
We're not at 100% coverage yet, so do not enable the test by default.

test/Makefile.am

index bfa423b..63f1396 100644 (file)
@@ -1,6 +1,9 @@
 include Makefile.decl
 
 NULL =
+CLEANFILES =
+DISTCLEANFILES =
+MAINTAINERCLEANFILES =
 
 if HAVE_GLIB
 AM_CPPFLAGS = -I$(top_srcdir)/src/ $(GLIB_CFLAGS) $(GTHREAD_CFLAGS)
@@ -47,10 +50,28 @@ test_object_LIBS = $(LDADD) $(FREETYPE_LIBS)
 endif
 
 
+# test-symbols: Finds untested API symbols
+symbols-tested.txt: $(TEST_PROGS)
+       $(AM_V_GEN)$(top_builddir)/libtool --mode=execute nm $^ \
+       | grep ' U hb_' | sed 's/.* U hb_/hb_/' \
+       | sort | uniq > $@.tmp && mv $@.tmp $@
+symbols-exported.txt: $(top_builddir)/src/.libs/libharfbuzz.so
+       $(AM_V_GEN)$(top_builddir)/libtool --mode=execute nm $^ \
+       | grep ' T ' | sed 's/.* T //' | grep -v '^\(_init\|_fini\)$$' \
+       | sort | uniq > $@.tmp && mv $@.tmp $@
+symbols-untested.txt: symbols-tested.txt symbols-exported.txt
+       $(AM_V_GEN)diff $^ > $@.tmp; mv $@.tmp $@
+CLEANFILES += symbols-tested.txt symbols-exported.txt symbols-untested.txt
+test-symbols: symbols-untested.txt
+       @! cat $^ | grep .
+
+
 else
 check-am:
        @echo "You need to have glib support enabled to run the tests"
        @exit 77
 endif
 
+.PHONY: test-symbols
+
 -include $(top_srcdir)/git.mk