Improve test coverage in gobject/
[platform/upstream/glib.git] / gobject / tests / Makefile.am
index fd3914a..390f41a 100644 (file)
@@ -1,11 +1,25 @@
 include $(top_srcdir)/Makefile.decl
+NULL =
 
-INCLUDES = -g $(gobject_INCLUDES) $(GLIB_DEBUG_FLAGS)
+AM_CPPFLAGS =                                  \
+       -g                                      \
+       -DG_LOG_DOMAIN=\"GLib-GObject\"         \
+       $(gobject_INCLUDES)                     \
+       $(GLIB_DEBUG_FLAGS)
+
+AM_CFLAGS = $(GLIB_WARN_CFLAGS)
+
+if CROSS_COMPILING
+  glib_genmarshal=$(GLIB_GENMARSHAL)
+else
+  glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal
+endif
 
 noinst_PROGRAMS  = $(TEST_PROGS)
 LDADD = ../libgobject-2.0.la $(top_builddir)/gthread/libgthread-2.0.la $(top_builddir)/glib/libglib-2.0.la
 
 TEST_PROGS +=          \
+       qdata           \
        boxed           \
        enums           \
        param           \
@@ -16,6 +30,37 @@ TEST_PROGS +=                \
        properties      \
        reference       \
        ifaceproperties \
-       valuearray
+       valuearray      \
+       type            \
+       $(NULL)
+
+signals_SOURCES = signals.c marshalers.c
+
+marshalers.h: Makefile.am marshalers.list
+       $(AM_V_GEN) $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --header --valist-marshallers > marshalers.h
+
+marshalers.c: Makefile.am marshalers.list
+       $(AM_V_GEN) (echo "#include \"marshalers.h\""; $(glib_genmarshal) --prefix=test $(srcdir)/marshalers.list --body --valist-marshallers) > $@.tmp && mv $@.tmp $@
+
+BUILT_SOURCES = marshalers.h marshalers.c
+CLEANFILES = marshalers.h marshalers.c
 
 ifaceproperties_SOURCES = ifaceproperties.c testcommon.h
+
+EXTRA_DIST += marshalers.list
+
+if BUILDOPT_INSTALL_TESTS
+insttestdir = $(pkglibexecdir)/installed-tests
+insttest_PROGRAMS = $(TEST_PROGS)
+
+testmetadir = $(datadir)/installed-tests/$(PACKAGE)
+testmeta_DATA = $(TEST_PROGS:=.test)
+
+%.test: %$(EXEEXT) Makefile
+       $(AM_V_GEN) (echo '[Test]' > $@.tmp; \
+        echo 'Type=session' >> $@.tmp; \
+        echo 'Exec=env G_TEST_DATA=$(pkglibexecdir)/installed-tests $(pkglibexecdir)/installed-tests/$<' >> $@.tmp; \
+        mv $@.tmp $@)
+
+
+endif