Makefile.am 12.3 KB
Newer Older
1 2
## the "name-test" subdir in fact contains a bunch of tests now that need a temporary bus 
## to be running to do stuff with. The directory should be renamed.
3 4
## We want to build the current directory first to pick up the testutils lib
SUBDIRS= . name-test 
John Palmieri's avatar
John Palmieri committed
5
DIST_SUBDIRS=name-test
6

7
# CPPFLAGS for binaries that are normally dynamic
8 9
AM_CPPFLAGS = \
	-I$(top_srcdir) \
10
	$(DBUS_STATIC_BUILD_CPPFLAGS) \
11 12 13
	$(GLIB_CFLAGS) \
	$(DBUS_GLIB_CFLAGS) \
	$(NULL)
14

15 16 17
# improve backtraces from test stuff
AM_LDFLAGS = @R_DYNAMIC_LDFLAG@

18
# CPPFLAGS for binaries that are always static
19 20 21
static_cppflags = \
	$(AM_CPPFLAGS) \
	-DDBUS_STATIC_BUILD \
22
	-DDBUS_COMPILATION \
23
	-DDBUS_TEST_USE_INTERNAL \
24 25
	$(NULL)

26 27 28 29 30 31 32
noinst_LTLIBRARIES = libdbus-testutils-internal.la

# You can link either libdbus-testutils, dbus-glib and libdbus-1,
# or libdbus-testutils-internal and libdbus-internal - never both in the
# same binary.
if DBUS_WITH_DBUS_GLIB
noinst_LTLIBRARIES += libdbus-testutils.la
33 34 35 36 37
libdbus_testutils_la_SOURCES = \
	test-utils.c \
	test-utils.h \
	$(NULL)
libdbus_testutils_la_LIBADD = \
38 39 40
	$(top_builddir)/dbus/libdbus-1.la \
	$(GLIB_LIBS) \
	$(DBUS_GLIB_LIBS) \
41
	$(NULL)
42 43
testutils_shared_if_possible_cppflags = $(AM_CPPFLAGS)
testutils_shared_if_possible_libs = libdbus-testutils.la
44
else
45 46
testutils_shared_if_possible_cppflags = $(static_cppflags)
testutils_shared_if_possible_libs = libdbus-testutils-internal.la
47
endif
48

49 50 51 52 53 54 55 56 57 58
libdbus_testutils_internal_la_CPPFLAGS = \
	$(static_cppflags) \
	$(NULL)
libdbus_testutils_internal_la_SOURCES = \
	test-utils.c \
	test-utils.h \
	$(NULL)
libdbus_testutils_internal_la_LIBADD = \
	$(top_builddir)/dbus/libdbus-internal.la \
	$(NULL)
59

60
if DBUS_ENABLE_EMBEDDED_TESTS
61
## break-loader removed for now
62
## these binaries are used in tests but are not themselves tests
63 64 65 66 67 68 69 70 71
TEST_BINARIES = \
	spawn-test \
	test-exit \
	test-names \
	test-segfault \
	test-service \
	test-shell-service \
	test-sleep-forever \
	$(NULL)
72

73 74 75
## These are conceptually part of directories that come earlier in SUBDIRS
## order, but we don't want to run them til we arrive in this directory,
## since they depend on stuff from this directory
76
TESTS = \
77 78
	../bus/bus-test$(EXEEXT) \
	../bus/bus-test-system$(EXEEXT) \
79
	../dbus/test-dbus$(EXEEXT) \
80 81
	$(NULL)

82 83 84 85
if DBUS_UNIX
TESTS += ../bus/bus-test-launch-helper$(EXEEXT)
endif

86
else !DBUS_ENABLE_EMBEDDED_TESTS
87

88
TEST_BINARIES=
89
TESTS=
90

91
endif !DBUS_ENABLE_EMBEDDED_TESTS
92

93
noinst_PROGRAMS= $(TEST_BINARIES)
94

95
test_service_CPPFLAGS = $(static_cppflags)
96
test_service_LDADD = libdbus-testutils-internal.la
97
test_names_CPPFLAGS = $(static_cppflags)
98
test_names_LDADD = libdbus-testutils-internal.la
99
## break_loader_CPPFLAGS = $(static_cppflags)
100
## break_loader_LDADD = $(top_builddir)/dbus/libdbus-internal.la
101
test_shell_service_CPPFLAGS = $(static_cppflags)
102
test_shell_service_LDADD = libdbus-testutils-internal.la
103
shell_test_CPPFLAGS = $(static_cppflags)
104
shell_test_LDADD = libdbus-testutils-internal.la
105
spawn_test_CPPFLAGS = $(static_cppflags)
106
spawn_test_LDADD = $(top_builddir)/dbus/libdbus-internal.la
107

108 109 110 111
test_printf_SOURCES = internals/printf.c
test_printf_CPPFLAGS = $(static_cppflags)
test_printf_LDADD = $(top_builddir)/dbus/libdbus-internal.la

112
test_refs_SOURCES = internals/refs.c
Simon McVittie's avatar
Simon McVittie committed
113
test_refs_CPPFLAGS = $(static_cppflags)
114
test_refs_LDADD = libdbus-testutils-internal.la $(GLIB_LIBS)
115

116
test_syslog_SOURCES = internals/syslog.c
117
test_syslog_CPPFLAGS = $(static_cppflags)
118
test_syslog_LDADD = libdbus-testutils-internal.la $(GLIB_LIBS)
119

120
EXTRA_DIST = dbus-test-runner
121

122 123 124 125 126
testexecdir = $(libdir)/dbus-1.0/test

testexec_PROGRAMS =

installable_tests = \
127
	shell-test \
128
	test-printf \
129
	$(NULL)
Ralf Habacker's avatar
Ralf Habacker committed
130
installable_manual_tests = \
131
	$(NULL)
132 133 134

if DBUS_WITH_GLIB
installable_tests += \
135
	test-corrupt \
136
	test-dbus-daemon \
137
	test-dbus-daemon-eavesdrop \
138
	test-loopback \
139
	test-marshal \
140
	test-refs \
141
	test-relay \
142
	test-syntax \
143
	test-syslog \
144
	$(NULL)
145 146 147
installable_manual_tests += \
	manual-authz \
	$(NULL)
148
endif DBUS_WITH_GLIB
149

150 151
installcheck_tests =
installcheck_environment = \
152
	XDG_RUNTIME_DIR=@abs_top_builddir@/test/XDG_RUNTIME_DIR \
153
	DBUS_TEST_DAEMON=$(DESTDIR)$(DBUS_DAEMONDIR)/dbus-daemon$(EXEEXT) \
154
	DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus \
155
	DBUS_TEST_SYSCONFDIR=$(DESTDIR)$(sysconfdir)
156

157
TESTS_ENVIRONMENT = \
158
	XDG_RUNTIME_DIR=@abs_top_builddir@/test/XDG_RUNTIME_DIR \
159
	DBUS_FATAL_WARNINGS=1 \
160
	DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT) \
161 162 163
	DBUS_TEST_DATA=@abs_top_builddir@/test/data \
	DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus \
	$(NULL)
164

165
manual_authz_SOURCES = manual-authz.c
166
manual_authz_CPPFLAGS = $(testutils_shared_if_possible_cppflags)
167
manual_authz_LDADD = \
168
    $(testutils_shared_if_possible_libs) \
169
    $(GLIB_LIBS) \
170
    $(NULL)
171

172
test_corrupt_SOURCES = corrupt.c
173
test_corrupt_CPPFLAGS = $(testutils_shared_if_possible_cppflags)
174
test_corrupt_LDADD = \
175
    $(testutils_shared_if_possible_libs) \
176
    $(GLIB_LIBS) \
177
    $(NULL)
178

179
test_loopback_SOURCES = loopback.c
180
test_loopback_CPPFLAGS = $(testutils_shared_if_possible_cppflags)
181
test_loopback_LDADD = \
182
    $(testutils_shared_if_possible_libs) \
183
    $(GLIB_LIBS) \
184
    $(NULL)
185

186
test_relay_SOURCES = relay.c
187
test_relay_CPPFLAGS = $(testutils_shared_if_possible_cppflags)
188
test_relay_LDADD = \
189
    $(testutils_shared_if_possible_libs) \
190
    $(GLIB_LIBS) \
191
    $(NULL)
192

193
test_dbus_daemon_SOURCES = dbus-daemon.c
194
test_dbus_daemon_CPPFLAGS = $(testutils_shared_if_possible_cppflags)
195
test_dbus_daemon_LDADD = \
196
    $(testutils_shared_if_possible_libs) \
197
    $(GLIB_LIBS) \
198
    $(NULL)
199

200
test_dbus_daemon_eavesdrop_SOURCES = dbus-daemon-eavesdrop.c
201
test_dbus_daemon_eavesdrop_CPPFLAGS = $(testutils_shared_if_possible_cppflags)
202
test_dbus_daemon_eavesdrop_LDADD = \
203
    $(testutils_shared_if_possible_libs) \
204
    $(GLIB_LIBS) \
205
    $(NULL)
206

207
test_marshal_SOURCES = marshal.c
208 209
test_marshal_LDADD = \
    $(top_builddir)/dbus/libdbus-1.la \
210
    $(GLIB_LIBS) \
211
    $(NULL)
212

213
test_syntax_SOURCES = syntax.c
214 215 216 217
test_syntax_LDADD = \
    $(top_builddir)/dbus/libdbus-1.la \
    $(GLIB_LIBS) \
    $(NULL)
218

219
if DBUS_ENABLE_MODULAR_TESTS
220 221 222 223
TESTS += $(installable_tests)
installcheck_tests += $(installable_tests)

if DBUS_ENABLE_INSTALLED_TESTS
224
  testexec_PROGRAMS += $(installable_tests) $(installable_manual_tests)
225
else !DBUS_ENABLE_INSTALLED_TESTS
226
  noinst_PROGRAMS += $(installable_tests) $(installable_manual_tests)
227 228
endif !DBUS_ENABLE_INSTALLED_TESTS

229 230
endif DBUS_ENABLE_MODULAR_TESTS

231 232 233
# If we're installing the tests into a DESTDIR we can't run them
# again using the installed copy, because we don't know how to
# do a portable equivalent of setting LD_LIBRARY_PATH.
234 235 236
installcheck-local:
	$(MAKE) check-TESTS TESTS='$$(installcheck_tests)' \
		TESTS_ENVIRONMENT='$$(installcheck_environment)'
237
if DBUS_ENABLE_INSTALLED_TESTS
238
	test -n "$(DESTDIR)" || \
239 240 241 242 243
	$(installcheck_environment) \
		$(srcdir)/dbus-test-runner \
		$(testexecdir) \
		$(testexec_PROGRAMS)
endif DBUS_ENABLE_INSTALLED_TESTS
244

245 246 247 248 249
in_data = \
	data/valid-config-files-system/debug-allow-all-fail.conf.in \
	data/valid-config-files-system/debug-allow-all-pass.conf.in \
	data/valid-config-files/debug-allow-all-sha1.conf.in \
	data/valid-config-files/debug-allow-all.conf.in \
250
	data/valid-config-files/incoming-limit.conf.in \
251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
	data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoExec.service.in \
	data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoService.service.in \
	data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoUser.service.in \
	data/valid-service-files-system/org.freedesktop.DBus.TestSuiteEchoService.service.in \
	data/valid-service-files-system/org.freedesktop.DBus.TestSuiteSegfaultService.service.in \
	data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service.in \
	data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service.in \
	data/valid-service-files/org.freedesktop.DBus.TestSuite.PrivServer.service.in \
	data/valid-service-files/org.freedesktop.DBus.TestSuiteEchoService.service.in \
	data/valid-service-files/org.freedesktop.DBus.TestSuiteForkingEchoService.service.in \
	data/valid-service-files/org.freedesktop.DBus.TestSuiteSegfaultService.service.in \
	data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service.in \
	data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service.in \
	$(NULL)

EXTRA_DIST += $(in_data)

static_data = \
	name-test/tmp-session-like-system.conf \
	data/auth/anonymous-client-successful.auth-script \
	data/auth/anonymous-server-successful.auth-script \
	data/auth/cancel.auth-script \
	data/auth/client-out-of-mechanisms.auth-script \
	data/auth/external-failed.auth-script \
	data/auth/external-root.auth-script \
	data/auth/external-silly.auth-script \
	data/auth/external-successful.auth-script \
	data/auth/extra-bytes.auth-script \
	data/auth/fail-after-n-attempts.auth-script \
	data/auth/fallback.auth-script \
	data/auth/invalid-command-client.auth-script \
	data/auth/invalid-command.auth-script \
	data/auth/invalid-hex-encoding.auth-script \
	data/auth/mechanisms.auth-script \
	data/equiv-config-files/basic/basic-1.conf \
	data/equiv-config-files/basic/basic-2.conf \
	data/equiv-config-files/basic/basic.d/basic.conf \
	data/equiv-config-files/entities/basic.d/basic.conf \
	data/equiv-config-files/entities/entities-1.conf \
	data/equiv-config-files/entities/entities-2.conf \
	data/incomplete-messages/missing-body.message \
	data/invalid-config-files/badselinux-1.conf \
	data/invalid-config-files/badselinux-2.conf \
	data/invalid-config-files/circular-1.conf \
	data/invalid-config-files/circular-2.conf \
	data/invalid-config-files/circular-3.conf \
	data/invalid-config-files/not-well-formed.conf \
	data/invalid-config-files/truncated-file.conf \
	data/invalid-messages/array-of-nil.message \
	data/invalid-messages/array-with-mixed-types.message \
	data/invalid-messages/bad-boolean-array.message \
	data/invalid-messages/bad-boolean.message \
	data/invalid-messages/bad-endian.message \
	data/invalid-messages/bad-header-field-alignment.message \
	data/invalid-messages/boolean-has-no-value.message-raw \
	data/invalid-messages/local-namespace.message \
	data/invalid-messages/no-dot-in-name.message \
	data/invalid-messages/not-nul-header-padding.message \
	data/invalid-messages/overlong-name.message \
	data/invalid-messages/too-little-header-padding.message \
	data/invalid-messages/too-much-header-padding-by-far.message \
	data/invalid-messages/too-much-header-padding.message \
	data/invalid-messages/too-short-dict.message \
	data/sha-1/Readme.txt \
	data/sha-1/bit-hashes.sha1 \
	data/sha-1/bit-messages.sha1 \
	data/sha-1/byte-hashes.sha1 \
	data/sha-1/byte-messages.sha1 \
	data/valid-config-files/basic.conf \
	data/valid-config-files/basic.d/basic.conf \
	data/valid-config-files/entities.conf \
	data/valid-config-files/many-rules.conf \
	data/valid-config-files/system.d/test.conf \
	data/valid-messages/array-of-array-of-uint32.message \
	data/valid-messages/dict-simple.message \
	data/valid-messages/dict.message \
	data/valid-messages/emptiness.message \
	data/valid-messages/lots-of-arguments.message \
	data/valid-messages/no-padding.message \
	data/valid-messages/opposite-endian.message \
	data/valid-messages/recursive-types.message \
	data/valid-messages/simplest-manual.message \
	data/valid-messages/simplest.message \
	data/valid-messages/standard-acquire-service.message \
	data/valid-messages/standard-hello.message \
	data/valid-messages/standard-list-services.message \
	data/valid-messages/standard-service-exists.message \
	data/valid-messages/unknown-header-field.message \
	$(NULL)

EXTRA_DIST += $(static_data)

## copy tests to builddir so that generated tests and static tests
344 345
## are all in one place.
all-local:
346
	$(AM_V_at)$(MKDIR_P) data/valid-config-files/session.d
347 348 349 350 351
	$(AM_V_at)set -e && \
	if test $(srcdir) = . || test $(srcdir) -ef .; then \
		echo '-- No need to copy test data as srcdir = builddir'; \
	else \
		for F in $(static_data); do \
352
			$(MKDIR_P) $${F%/*}; \
353
			rm -f $$F; \
354
			cp $(srcdir)/$$F $$F; \
355 356 357 358
		done; \
	fi

## this doesn't clean most copied test data files when srcdir=builddir
359
clean-local:
360 361 362 363
	$(AM_V_at)if test $(srcdir) = . || test $(srcdir) -ef .; then \
		echo '-- No need to clean test data as srcdir = builddir'; \
	else \
		rm -f $(static_data); \
364
	fi
365 366 367 368 369 370 371

imported_data = \
	data/valid-config-files/session.conf \
	data/valid-config-files/system.conf \
	$(NULL)

noinst_DATA = $(imported_data)
372
CLEANFILES = $(noinst_DATA) XDG_RUNTIME_DIR
373

374
$(imported_data): data/valid-config-files/%.conf: $(top_builddir)/bus/%.conf
375 376
	$(AM_V_at)$(MKDIR_P) data/valid-config-files
	$(AM_V_GEN)cp $< $@