1tests_list = \
2    test-account \
3    test-account-channel-request \
4    test-account-manager \
5    test-account-request \
6    test-base-client \
7    test-call-cancellation \
8    test-call-channel \
9    test-channel \
10    test-channel-dispatcher \
11    test-channel-dispatch-operation \
12    test-channel-introspect \
13    test-channel-request \
14    test-channel-manager-request-properties \
15    test-cli-group \
16    test-client \
17    test-client-channel-factory \
18    test-cm \
19    test-cm-message \
20    test-connection \
21    test-connection-aliasing \
22    test-connection-balance \
23    test-connection-bug-18845 \
24    test-connection-error \
25    test-connection-handles \
26    test-connection-inject-bug16307 \
27    test-connection-interests \
28    test-connection-getinterfaces-failure \
29    test-contact-lists \
30    test-contact-list-client \
31    test-contacts \
32    test-contacts-bug-19101 \
33    test-contacts-mixin \
34    test-contacts-slow-path \
35    test-dbus \
36    test-dbus-tube \
37    test-debug-client \
38    test-disconnection \
39    test-error-enum \
40    test-example-no-protocols \
41    test-file-transfer-channel \
42    test-finalized-in-invalidated-handler \
43    test-get-interface-after-invalidate \
44    test-group-mixin \
45    test-handle-repo \
46    test-handle-set \
47    test-invalidated-while-invoking-signals \
48    test-list-cm-no-cm \
49    test-long-connection-name \
50    test-message-mixin \
51    test-params-cm \
52    test-properties \
53    test-protocol-objects \
54    test-proxy-preparation \
55    test-room-list \
56    test-self-handle \
57    test-self-presence \
58    test-simple-approver \
59    test-simple-handler \
60    test-simple-observer \
61    test-stream-tube \
62    test-text-channel \
63    test-text-mixin \
64    test-text-respawn \
65    test-tls-certificate \
66    test-unsupported-interface
67
68if ENABLE_INSTALLED_TESTS
69managersdir = @tpglibtestsdir@/telepathy/managers/
70managers_DATA = \
71	telepathy/managers/spurious.manager \
72	telepathy/managers/test_manager_file_invalid.manager \
73	telepathy/managers/test_manager_file.manager \
74	$(NULL)
75
76testsdir = @tpglibtestsdir@
77tests_PROGRAMS = $(tests_list)
78tests_SCRIPTS = run-test.sh
79tests_DATA = tpglib-dbus-tests.list
80else
81noinst_PROGRAMS = $(tests_list)
82endif
83
84TESTS = $(tests_list)
85
86tpglib-dbus-tests.list:
87	$(AM_V_GEN)echo $(tests_list) > $@
88
89LDADD = \
90    $(top_builddir)/tests/lib/libtp-glib-tests.la \
91    $(top_builddir)/telepathy-glib/libtelepathy-glib.la \
92    $(GLIB_LIBS) \
93    $(DBUS_LIBS) \
94    $(NULL)
95
96test_account_SOURCES = account.c
97
98# this one uses internal ABI
99test_account_channel_request_SOURCES = account-channel-request.c
100test_account_channel_request_LDADD = \
101    $(top_builddir)/tests/lib/libtp-glib-tests-internal.la \
102    $(top_builddir)/telepathy-glib/libtelepathy-glib-internal.la \
103    $(GLIB_LIBS)
104
105test_account_request_SOURCES = account-request.c
106
107test_account_manager_SOURCES = account-manager.c
108
109test_base_client_SOURCES = base-client.c
110
111test_call_cancellation_SOURCES = call-cancellation.c
112
113test_channel_SOURCES = channel.c
114
115test_channel_dispatcher_SOURCES = channel-dispatcher.c
116
117test_channel_dispatch_operation_SOURCES = channel-dispatch-operation.c
118
119test_channel_introspect_SOURCES = channel-introspect.c
120
121test_channel_request_SOURCES = channel-request.c
122
123test_call_channel_SOURCES = call-channel.c
124test_call_channel_LDADD = \
125    $(LDADD) \
126    $(top_builddir)/examples/cm/call/libexample-cm-call.la
127
128test_client_SOURCES = client.c
129
130test_cli_group_SOURCES = cli-group.c
131
132test_cm_SOURCES = cm.c
133
134test_list_cm_no_cm_SOURCES = list-cm-no-cm.c
135
136test_connection_SOURCES = connection.c
137
138test_contact_lists_SOURCES = contact-lists.c
139test_contact_lists_LDADD = \
140    $(LDADD) \
141    $(top_builddir)/examples/cm/contactlist/libexample-cm-contactlist.la
142
143test_contact_list_client_SOURCES = contact-list-client.c
144test_contact_list_client_LDADD = \
145    $(LDADD) \
146    $(top_builddir)/examples/cm/contactlist/libexample-cm-contactlist.la
147
148test_connection_aliasing_SOURCES = connection-aliasing.c
149test_connection_aliasing_LDADD = \
150    $(LDADD) \
151    $(top_builddir)/examples/cm/contactlist/libexample-cm-contactlist.la
152
153test_connection_balance_SOURCES = connection-balance.c
154
155test_connection_bug_18845_SOURCES = connection-bug-18845.c
156
157test_connection_handles_SOURCES = connection-handles.c
158
159test_connection_error_SOURCES = connection-error.c
160
161test_connection_inject_bug16307_SOURCES = connection-inject-bug16307.c
162
163test_connection_interests_SOURCES = connection-interests.c
164
165test_connection_getinterfaces_failure_SOURCES = \
166    connection-getinterfaces-failure.c
167
168test_contacts_SOURCES = contacts.c
169
170test_contacts_bug_19101_SOURCES = contacts-bug-19101.c
171
172test_contacts_mixin_SOURCES = contacts-mixin.c
173
174test_contacts_slow_path_SOURCES = contacts-slow-path.c
175
176test_dbus_SOURCES = dbus.c
177
178test_disconnection_SOURCES = disconnection.c
179
180test_error_enum_SOURCES = error-enum.c
181nodist_test_error_enum_SOURCES = _gen/errors-check.h
182
183test_example_no_protocols_SOURCES = example-no-protocols.c
184
185test_file_transfer_channel_SOURCES = file-transfer-channel.c
186
187test_finalized_in_invalidated_handler_SOURCES = \
188    finalized-in-invalidated-handler.c
189
190test_get_interface_after_invalidate_SOURCES = \
191    get-interface-after-invalidate.c
192
193test_group_mixin_SOURCES = group-mixin.c
194
195test_handle_repo_SOURCES = handle-repo.c
196
197test_handle_set_SOURCES = handle-set.c
198
199test_invalidated_while_invoking_signals_SOURCES = \
200    invalidated-while-invoking-signals.c
201
202test_long_connection_name_SOURCES = long-connection-name.c
203
204test_message_mixin_LDADD = \
205    $(LDADD) \
206    $(top_builddir)/examples/cm/echo-message-parts/libexample-cm-echo-2.la
207test_message_mixin_SOURCES = \
208    message-mixin.c
209
210test_properties_SOURCES = properties.c
211nodist_test_properties_SOURCES = \
212    _gen/svc.h \
213    _gen/svc.c
214
215test_protocol_objects_LDADD = \
216    $(LDADD) \
217    $(top_builddir)/examples/cm/echo-message-parts/libexample-cm-echo-2.la
218test_protocol_objects_SOURCES = protocol-objects.c
219
220test_self_handle_SOURCES = self-handle.c
221
222test_self_presence_SOURCES = self-presence.c
223
224test_text_mixin_SOURCES = text-mixin.c
225
226test_text_respawn_SOURCES = text-respawn.c
227
228test_unsupported_interface_SOURCES = unsupported-interface.c
229
230test_params_cm_SOURCES = \
231    params-cm.c
232
233test_simple_observer_SOURCES = simple-observer.c
234
235test_simple_approver_SOURCES = simple-approver.c
236
237test_simple_handler_SOURCES = simple-handler.c
238
239test_stream_tube_SOURCES = stream-tube.c
240
241test_client_channel_factory_SOURCES = client-channel-factory.c
242
243test_proxy_preparation_SOURCES = proxy-preparation.c
244
245test_channel_manager_request_properties_SOURCES = channel-manager-request-properties.c
246
247test_dbus_tube_SOURCES = dbus-tube.c
248
249# this one uses internal ABI
250test_cm_message_SOURCES = \
251    cm-message.c
252test_cm_message_LDADD = \
253    $(top_builddir)/tests/lib/libtp-glib-tests-internal.la \
254    $(top_builddir)/telepathy-glib/libtelepathy-glib-internal.la \
255    $(GLIB_LIBS)
256
257test_text_channel_SOURCES = text-channel.c
258
259test_text_channel_LDADD = \
260    $(LDADD) \
261    $(top_builddir)/examples/cm/echo-message-parts/libexample-cm-echo-2.la
262
263test_debug_client_SOURCES = debug-client.c
264
265test_room_list_SOURCES = room-list.c
266
267test_tls_certificate_SOURCES = tls-certificate.c
268
269check_c_sources = *.c
270include $(top_srcdir)/tools/check-coding-style.mk
271check-local: check-coding-style
272
273AM_CPPFLAGS = \
274    -I${top_srcdir} -I${top_builddir} \
275    -D_TP_COMPILATION \
276    -D_TP_IGNORE_DEPRECATIONS \
277    $(GLIB_CFLAGS) \
278    $(DBUS_CFLAGS) \
279    $(NULL)
280AM_LDFLAGS = \
281    $(ERROR_LDFLAGS) \
282    $(NULL)
283
284AM_CFLAGS = $(ERROR_CFLAGS)
285
286TESTS_ENVIRONMENT = \
287    abs_top_builddir=@abs_top_builddir@ \
288    XDG_DATA_HOME=@abs_builddir@ \
289    XDG_DATA_DIRS=@abs_srcdir@:$${XDG_DATA_DIRS:=/usr/local/share:/usr/share} \
290    G_SLICE=debug-blocks \
291    G_DEBUG=fatal_warnings,fatal_criticals$(maybe_gc_friendly) \
292    G_MESSAGES_DEBUG=all \
293    GIO_USE_VFS=local \
294    GSETTINGS_BACKEND=memory \
295    TP_TESTS_SERVICES_DIR=@abs_srcdir@/dbus-1/services \
296    DBUS_SESSION_BUS_ADDRESS=this-is-clearly-not-valid \
297    $(top_srcdir)/tools/test-wrapper.sh \
298    $(EXTRA_TESTS_ENVIRONMENT)
299
300EXTRA_TESTS_ENVIRONMENT =
301
302check-valgrind:
303	$(MAKE) check-TESTS \
304		maybe_gc_friendly=,gc-friendly \
305		TESTS_ENVIRONMENT="$(VALGRIND_TESTS_ENVIRONMENT)"
306
307include $(top_srcdir)/tools/valgrind.mk
308
309VALGRIND_TESTS_ENVIRONMENT = \
310    $(TESTS_ENVIRONMENT) \
311    env G_SLICE=always-malloc CHECK_VERBOSE=1 \
312    $(top_builddir)/libtool --mode=execute \
313    $(VALGRIND) --suppressions=$(top_srcdir)/tests/tests.supp $(VALGRIND_FLAGS)
314
315BUILT_SOURCES = \
316	_gen/errors-check.h \
317	_gen/svc.h \
318	_gen/svc.c \
319	run-test.sh \
320	$(NULL)
321
322CLEANFILES = \
323    $(BUILT_SOURCES)
324
325distclean-local:
326	rm -f capture-*.log
327	rm -rf _gen
328
329EXTRA_DIST = \
330    dbus-1/services/spurious.service \
331    telepathy/managers/spurious.manager \
332    telepathy/managers/test_manager_file.manager \
333    telepathy/managers/test_manager_file_invalid.manager \
334    with-properties.xml \
335    run-test.sh.in \
336    $(NULL)
337
338run-test.sh: run-test.sh.in
339	$(AM_V_GEN)sed \
340		-e "s|[@]tpglibtestsdir[@]|@tpglibtestsdir@|g" \
341		-e "s|[@]libexec[@]|${libexecdir}|g" \
342		$< > $@
343	@chmod +x $@
344
345service_files = services/dbus-1/spurious.service
346
347if ENABLE_INSTALLED_TESTS
348dbusservicedir = @tpglibtestsdir@/dbus-1/services
349dbusservice_DATA = $(service_files)
350endif
351
352_gen/svc.h: _gen/svc.c
353	@:
354
355_gen/svc.c: with-properties.xml \
356	$(top_srcdir)/tools/glib-ginterface-gen.py \
357	Makefile.am
358	$(AM_V_at)$(MKDIR_P) _gen
359	$(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-ginterface-gen.py \
360		--filename=_gen/svc \
361		--signal-marshal-prefix=NOT_NEEDED \
362		--include='<telepathy-glib/dbus-properties-mixin.h>' \
363		$< Test_Svc_
364
365_gen/errors-check.h: $(top_srcdir)/spec/errors.xml \
366	$(top_srcdir)/tools/glib-errors-check-gen.py
367	$(AM_V_at)$(MKDIR_P) _gen
368	$(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-errors-check-gen.py $< > $@
369