Improve test coverage in gobject/
[platform/upstream/glib.git] / gobject / tests / Makefile.am
index 8452164..390f41a 100644 (file)
@@ -1,9 +1,66 @@
 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 += threadtests dynamictests binding properties reference ifaceproperties
+TEST_PROGS +=          \
+       qdata           \
+       boxed           \
+       enums           \
+       param           \
+       signals         \
+       threadtests     \
+       dynamictests    \
+       binding         \
+       properties      \
+       reference       \
+       ifaceproperties \
+       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