1 include $(top_srcdir)/glib-tap.mk
3 dist_uninstalled_test_data =
6 SUBDIRS = gdbus-object-manager-example services
9 $(top_builddir)/glib/libglib-2.0.la \
10 $(top_builddir)/gobject/libgobject-2.0.la \
11 $(top_builddir)/gmodule/libgmodule-2.0.la \
12 $(top_builddir)/gio/libgio-2.0.la
13 AM_CPPFLAGS = $(gio_INCLUDES) $(GLIB_DEBUG_FLAGS) -I$(top_builddir)/gio -I$(top_srcdir)/gio
14 DEFS = -DG_LOG_DOMAIN=\"GLib-GIO\" -DTEST_SERVICES=\""$(abs_top_builddir)/gio/tests/services"\"
15 AM_CFLAGS = $(GLIB_WARN_CFLAGS)
17 # -----------------------------------------------------------------------------
18 # Test programs buildable on all platforms
21 async-close-output-stream \
22 buffered-input-stream \
23 buffered-output-stream \
30 fileattributematcher \
40 memory-output-stream \
59 uninstalled_test_programs = \
71 uninstalled_test_extra_programs = \
75 gapplication-example-actions \
76 gapplication-example-cmdline \
77 gapplication-example-cmdline2 \
78 gapplication-example-cmdline3 \
79 gapplication-example-dbushooks \
80 gapplication-example-open \
81 gdbus-example-export \
82 gdbus-example-own-name \
84 gdbus-example-proxy-subclass \
85 gdbus-example-server \
86 gdbus-example-subtree \
87 gdbus-example-watch-name \
88 gdbus-example-watch-proxy \
96 test_extra_programs = \
97 gdbus-connection-flush-helper \
101 dist_uninstalled_test_data += $(addprefix schema-tests/,$(schema_tests))
103 array-default-not-in-choices.gschema.xml \
104 bad-choice.gschema.xml \
105 bad-key.gschema.xml \
106 bad-key2.gschema.xml \
107 bad-key3.gschema.xml \
108 bad-key4.gschema.xml \
109 bad-type.gschema.xml \
110 bare-alias.gschema.xml \
111 choice-alias.gschema.xml \
112 choice-bad.gschema.xml \
113 choice-badtype.gschema.xml \
114 choice-invalid-alias.gschema.xml \
115 choice-missing-value.gschema.xml \
116 choice-shadowed-alias.gschema.xml \
117 choice-upside-down.gschema.xml \
119 choices-wrong-type.gschema.xml \
120 default-in-aliases.gschema.xml \
121 default-not-in-choices.gschema.xml \
122 default-out-of-range.gschema.xml \
123 empty-key.gschema.xml \
124 enum-with-aliases.gschema.xml \
125 enum-with-bad-default.gschema.xml \
126 enum-with-chained-alias.gschema.xml \
127 enum-with-choice.gschema.xml \
128 enum-with-invalid-alias.gschema.xml \
129 enum-with-repeated-alias.gschema.xml \
130 enum-with-repeated-nick.gschema.xml \
131 enum-with-repeated-value.gschema.xml \
132 enum-with-shadow-alias.gschema.xml \
134 extend-and-shadow-indirect.gschema.xml \
135 extend-and-shadow.gschema.xml \
136 extend-missing.gschema.xml \
137 extend-nonlist.gschema.xml \
138 extend-self.gschema.xml \
139 extend-wrong-list-indirect.gschema.xml \
140 extend-wrong-list.gschema.xml \
141 extending.gschema.xml \
142 flags-aliased-default.gschema.xml \
143 flags-bad-default.gschema.xml \
144 flags-more-than-one-bit.gschema.xml \
145 flags-with-enum-attr.gschema.xml \
146 flags-with-enum-tag.gschema.xml \
147 from-docs.gschema.xml \
148 incomplete-list.gschema.xml \
149 inherit-gettext-domain.gschema.xml \
150 invalid-path.gschema.xml \
151 key-in-list-indirect.gschema.xml \
152 key-in-list.gschema.xml \
153 list-of-missing.gschema.xml \
154 missing-quotes.gschema.xml \
155 no-default.gschema.xml \
156 overflow.gschema.xml \
157 override-missing.gschema.xml \
158 override-range-error.gschema.xml \
159 override-then-key.gschema.xml \
160 override-twice.gschema.xml \
161 override-type-error.gschema.xml \
162 override.gschema.xml \
163 range-badtype.gschema.xml \
164 range-default-high.gschema.xml \
165 range-default-low.gschema.xml \
166 range-high-default.gschema.xml \
167 range-low-default.gschema.xml \
168 range-missing-max.gschema.xml \
169 range-missing-min.gschema.xml \
170 range-parse-error.gschema.xml \
171 range-wrong-type.gschema.xml \
173 wrong-category.gschema.xml \
176 test_programs += tls-certificate
177 tls_certificate_SOURCES = \
181 dist_test_data += $(cert_data_files)
182 cert_data_files = $(addprefix cert-tests/,$(cert_tests))
195 uninstalled_test_extra_programs += socket-client
196 socket_client_SOURCES = \
198 gtlsconsoleinteraction.c \
199 gtlsconsoleinteraction.h
200 EXTRA_DIST += socket-common.c
202 uninstalled_test_extra_programs += gdbus-daemon
203 nodist_gdbus_daemon_SOURCES = \
204 $(top_builddir)/gio/gdbus-daemon-generated.c
205 gdbus_daemon_SOURCES = \
207 $(top_srcdir)/gio/gdbusdaemon.c
209 # -----------------------------------------------------------------------------
210 # Test programs buildable on UNIX only
217 gdbus-peer-object-manager \
224 # Uninstalled because of the check-for-executable logic in DesktopAppInfo unable to find the installed executable
225 uninstalled_test_programs += \
231 appinfo-test-actions.desktop \
232 appinfo-test-gnome.desktop \
233 appinfo-test-notgnome.desktop \
234 appinfo-test.desktop \
235 appinfo-test2.desktop \
237 org.gtk.test.dbusappinfo.desktop \
240 test_extra_programs += \
244 uninstalled_test_extra_programs += \
245 gdbus-example-unix-fd-client \
248 test_programs += mimeapps
249 clean-local: clean-mimeapps
251 rm -rf xdgdatadir xdgdatahome
253 uninstalled_test_programs += gsettings gschema-compile
254 gsettings_DEPENDENCIES = test.mo
255 CLEANFILES += test.mo de/LC_MESSAGES/test.mo
256 gsettings_CFLAGS = $(AM_CFLAGS) -DSRCDIR=\"$(abs_srcdir)\"
258 $(AM_V_GEN) $(MSGFMT) -o test.mo $(srcdir)/de.po; \
259 $(MKDIR_P) de/LC_MESSAGES; \
260 cp -f test.mo de/LC_MESSAGES
262 dist_uninstalled_test_data += \
263 org.gtk.test.gschema.xml \
264 org.gtk.schemasourcecheck.gschema.xml \
267 # Generated while running the testcase itself...
269 org.gtk.test.enums.xml \
272 schema-source/gschemas.compiled
274 test_programs += gdbus-connection-flush
275 gdbus_connection_flush_SOURCES = \
276 gdbus-connection-flush.c \
282 test_programs += gdbus-non-socket
283 gdbus_non_socket_SOURCES = \
292 # These three are manual-run tests because they need a session bus but don't bring one up themselves
293 uninstalled_test_extra_programs += gdbus-example-objectmanager-client
294 gdbus_example_objectmanager_client_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
296 uninstalled_test_extra_programs += gdbus-example-objectmanager-server
297 gdbus_example_objectmanager_server_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
299 uninstalled_test_extra_programs += gdbus-test-fixture
300 gdbus_test_fixture_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
302 # This is peer to peer so it doesn't need a session bus (so we can run it normally)
303 test_programs += gdbus-peer
304 gdbus_peer_LDADD = gdbus-object-manager-example/libgdbus-example-objectmanager.la $(LDADD)
306 # This test is currently unreliable
307 test_extra_programs += gdbus-overflow
309 # -----------------------------------------------------------------------------
310 # Test programs that need to bring up a session bus (requires dbus-daemon)
313 gdbus_sessionbus_sources = gdbus-sessionbus.c gdbus-sessionbus.h gdbus-tests.h gdbus-tests.c
321 gdbus-close-pending \
323 gdbus-connection-loss \
324 gdbus-connection-slow \
326 gdbus-exit-on-close \
328 gdbus-introspection \
331 gdbus-proxy-threads \
332 gdbus-proxy-well-known-name \
338 gdbus_proxy_threads_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
339 actions_SOURCES = $(gdbus_sessionbus_sources) actions.c
340 dbus_appinfo_SOURCES = $(gdbus_sessionbus_sources) dbus-appinfo.c
341 gapplication_SOURCES = $(gdbus_sessionbus_sources) gapplication.c
342 gdbus_auth_SOURCES = $(gdbus_sessionbus_sources) gdbus-auth.c
343 gdbus_bz627724_SOURCES = $(gdbus_sessionbus_sources) gdbus-bz627724.c
344 gdbus_close_pending_SOURCES = $(gdbus_sessionbus_sources) gdbus-close-pending.c
345 gdbus_connection_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection.c
346 gdbus_connection_loss_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection-loss.c
347 gdbus_connection_slow_SOURCES = $(gdbus_sessionbus_sources) gdbus-connection-slow.c
348 gdbus_error_SOURCES = $(gdbus_sessionbus_sources) gdbus-error.c
349 gdbus_exit_on_close_SOURCES = $(gdbus_sessionbus_sources) gdbus-exit-on-close.c
350 gdbus_export_SOURCES = $(gdbus_sessionbus_sources) gdbus-export.c
351 gdbus_introspection_SOURCES = $(gdbus_sessionbus_sources) gdbus-introspection.c
352 gdbus_names_SOURCES = $(gdbus_sessionbus_sources) gdbus-names.c
353 gdbus_proxy_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy.c
354 gdbus_proxy_threads_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy-threads.c
355 gdbus_proxy_well_known_name_SOURCES = $(gdbus_sessionbus_sources) gdbus-proxy-well-known-name.c
356 gdbus_test_codegen_SOURCES = $(gdbus_sessionbus_sources) gdbus-test-codegen.c
357 gdbus_threading_SOURCES = $(gdbus_sessionbus_sources) gdbus-threading.c
358 gmenumodel_SOURCES = $(gdbus_sessionbus_sources) gmenumodel.c
359 nodist_gdbus_test_codegen_SOURCES = gdbus-test-codegen-generated.c gdbus-test-codegen-generated.h
361 gdbus-test-codegen.o: gdbus-test-codegen-generated.h
362 gdbus-test-codegen-generated.h gdbus-test-codegen-generated.c: test-codegen.xml Makefile $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen
363 $(AM_V_GEN) UNINSTALLED_GLIB_SRCDIR=$(top_srcdir) \
364 UNINSTALLED_GLIB_BUILDDIR=$(top_builddir) \
365 $(PYTHON) $(top_builddir)/gio/gdbus-2.0/codegen/gdbus-codegen \
366 --interface-prefix org.project. \
367 --generate-c-code gdbus-test-codegen-generated \
368 --c-generate-object-manager \
369 --c-namespace Foo_iGen \
370 --generate-docbook gdbus-test-codegen-generated-doc \
371 --annotate "org.project.Bar" Key1 Value1 \
372 --annotate "org.project.Bar" org.gtk.GDBus.Internal Value2 \
373 --annotate "org.project.Bar.HelloWorld()" Key3 Value3 \
374 --annotate "org.project.Bar::TestSignal" Key4 Value4 \
375 --annotate "org.project.Bar:ay" Key5 Value5 \
376 --annotate "org.project.Bar.TestPrimitiveTypes()[val_int32]" Key6 Value6 \
377 --annotate "org.project.Bar.TestPrimitiveTypes()[ret_uint32]" Key7 Value7 \
378 --annotate "org.project.Bar::TestSignal[array_of_strings]" Key8 Value8 \
379 $(srcdir)/test-codegen.xml \
382 EXTRA_DIST += test-codegen.xml
383 CLEANFILES += gdbus-test-codegen-generated.[ch] gdbus-test-codegen-generated-doc-*.xml
385 endif # HAVE_DBUS_DAEMON
387 # -----------------------------------------------------------------------------
390 test_programs += win32-streams
394 no_undefined = -no-undefined
398 test_programs += gdbus-serialization
399 gdbus_serialization_CFLAGS = $(AM_CFLAGS) $(DBUS1_CFLAGS)
400 gdbus_serialization_LDADD = $(LDADD) $(DBUS1_LIBS)
401 gdbus_serialization_SOURCES = \
402 gdbus-serialization.c \
407 # -----------------------------------------------------------------------------
408 # The resources test is a bit more complicated...
410 test_programs += resources
411 resources_SOURCES = resources.c
412 nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h
413 resources_DEPENDENCIES = test.gresource
415 test_ltlibraries += libresourceplugin.la
416 libresourceplugin_la_SOURCES = resourceplugin.c plugin_resources.c
417 libresourceplugin_la_LDFLAGS = -avoid-version -module -export-dynamic $(no_undefined)
418 libresourceplugin_la_LIBADD = $(LDADD)
420 # libtool contains a bug whereby the created .la file doesn't contain the correct dlname='' in the case that
421 # you're building a library but not installing it. This is apparently because the only considered use for an
422 # uninstalled library is as a convenience library for linking (despite the fact that we give -module). The lack
423 # of dlname='' in the .la trips up libltdl and GModule as well. We can trick libtool into believing that we
424 # will install the module by giving it a bogus -rpath for the uninstalled cases.
426 # See http://lists.gnu.org/archive/html/bug-libtool/2013-05/msg00009.html
427 if !ENABLE_INSTALLED_TESTS
428 libresourceplugin_la_LDFLAGS += -rpath /
432 glib_compile_resources=$(GLIB_COMPILE_RESOURCES)
434 glib_compile_resources=$(top_builddir)/gio/glib-compile-resources
437 resources.o: test_resources2.h
438 test_resources.c: test2.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test2.gresource.xml)
439 $(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name _g_test1 $<
441 test_resources2.h test_resources2.c: test3.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test3.gresource.xml)
442 $(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate --c-name _g_test2 --manual-register $<
444 plugin_resources.c: test4.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test4.gresource.xml)
445 $(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) --generate-source --c-name _g_plugin $<
447 test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/test.gresource.xml)
448 $(AM_V_GEN) $(glib_compile_resources) --target=$@ --sourcedir=$(srcdir) $<
450 EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml
452 CLEANFILES += test_resources.c test_resources2.[ch] plugin_resources.c test.gresource