MAINTAINERCLEANFILES =
if HAVE_GLIB
-AM_CPPFLAGS = -I$(top_srcdir)/src/ $(GLIB_CFLAGS) $(GTHREAD_CFLAGS)
+AM_CPPFLAGS = -DSRCDIR="\"$(srcdir)\"" -I$(top_srcdir)/src/ $(GLIB_CFLAGS) $(GTHREAD_CFLAGS)
LDADD = $(top_builddir)/src/libharfbuzz.la $(GLIB_LIBS) $(GTHREAD_LIBS)
EXTRA_DIST += hb-test.h
test_cplusplus_CPPFLAGS += $(FREETYPE_CFLAGS)
# TODO replace freetype with other stuff in the following test
test_object_CPPFLAGS = $(AM_CPPFLAGS) $(FREETYPE_CFLAGS)
-test_object_LIBS = $(LDADD) $(FREETYPE_LIBS)
+test_object_LDADD = $(LDADD) $(FREETYPE_LIBS)
+
+TEST_PROGS += \
+ test-shape-complex \
+ $(NULL)
+test_shape_complex_CPPFLAGS = $(AM_CPPFLAGS) $(FREETYPE_CFLAGS)
+test_shape_complex_LDADD = $(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 .
-
+# Default test running environment
TESTS = $(TEST_PROGS)
TESTS_ENVIRONMENT = \
MALLOC_CHECK_=2 \
MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256)) \
G_DEBUG=gc-friendly \
G_SLICE=always-malloc \
+ srcdir=$(srcdir) \
$(ENV)
+
# check-tool: Run tests under $(TOOL)
check-tool:
$(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) check \
# check-gtester: Run tests under gtester
GTESTER = gtester
check-gtester:
- $(AM_V_at)$(MAKE) $(AM_MAKEFLGS) check-tool-raw TOOL="$(GTESTER) --verbose"
+ $(AM_V_at)$(MAKE) $(AM_MAKEFLGS) check-tool-raw TOOL="$(GTESTER) --verbose --keep-going"
-# Check tests under valgrind. Saves log to valgrind-log
+
+# Check tests under valgrind. Saves log to log-valgrind.txt
VALGRIND_FLAGS = \
--tool=memcheck --suppressions=$(srcdir)/.valgrind-suppressions \
--track-origins=yes \
--leak-check=yes
$(EXTRA_VALGRIND_FLAGS)
# Can't do for now: --show-reachable=yes
-CLEANFILES += valgrind-log
+CLEANFILES += log-valgrind.txt
valgrind_verbose = $(valgrind_verbose_$(V))
valgrind_verbose_ = $(valgrind_verbose_$(AM_DEFAULT_VERBOSITY))
valgrind_verbose_0 = | \
# TODO: The following check does not fail if valgrind finds error. It should.
check-valgrind:
$(AM_V_at)$(MAKE) $(AM_MAKEFLGS) check-tool TOOL="valgrind $(VALGRIND_FLAGS)" \
- 2>&1 | tee valgrind-log $(valgrind_verbose)
+ 2>&1 | tee log-valgrind.txt $(valgrind_verbose)
+
+
+# check-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
+check-symbols: symbols-untested.txt
+ @! cat $^ | grep .
+
else
@exit 77
endif
-.PHONY: test-symbols check-tool check-valgrind
+.PHONY: check-symbols check-tool check-valgrind
-include $(top_srcdir)/git.mk