1## the "name-test" subdir in fact contains a bunch of tests now that need a temporary bus 2## to be running to do stuff with. The directory should be renamed. 3## We want to build the current directory first to pick up the testutils lib 4SUBDIRS= . name-test 5DIST_SUBDIRS=name-test 6 7# CPPFLAGS for binaries that are normally dynamic 8AM_CPPFLAGS = \ 9 -I$(top_srcdir) \ 10 $(DBUS_STATIC_BUILD_CPPFLAGS) \ 11 $(GLIB_CFLAGS) \ 12 $(DBUS_GLIB_CFLAGS) \ 13 $(NULL) 14 15# improve backtraces from test stuff 16AM_LDFLAGS = @R_DYNAMIC_LDFLAG@ 17 18# CPPFLAGS for binaries that are always static 19static_cppflags = \ 20 $(AM_CPPFLAGS) \ 21 -DDBUS_STATIC_BUILD \ 22 $(NULL) 23 24libdbus_testutils_la_CPPFLAGS = \ 25 $(static_cppflags) 26libdbus_testutils_la_SOURCES = \ 27 test-utils.c \ 28 test-utils.h \ 29 $(NULL) 30libdbus_testutils_la_LIBADD = \ 31 $(top_builddir)/dbus/libdbus-internal.la \ 32 $(NULL) 33 34noinst_LTLIBRARIES = libdbus-testutils.la 35 36if DBUS_BUILD_TESTS 37## break-loader removed for now 38## these binaries are used in tests but are not themselves tests 39TEST_BINARIES = \ 40 spawn-test \ 41 test-exit \ 42 test-names \ 43 test-segfault \ 44 test-service \ 45 test-shell-service \ 46 test-sleep-forever \ 47 $(NULL) 48 49## These are conceptually part of directories that come earlier in SUBDIRS 50## order, but we don't want to run them til we arrive in this directory, 51## since they depend on stuff from this directory 52TESTS = \ 53 ../bus/bus-test$(EXEEXT) \ 54 ../bus/bus-test-system$(EXEEXT) \ 55 ../dbus/dbus-test$(EXEEXT) \ 56 $(NULL) 57 58if DBUS_UNIX 59TESTS += ../bus/bus-test-launch-helper$(EXEEXT) 60endif 61 62else !DBUS_BUILD_TESTS 63 64TEST_BINARIES= 65TESTS= 66 67endif !DBUS_BUILD_TESTS 68 69noinst_PROGRAMS= $(TEST_BINARIES) 70 71test_service_CPPFLAGS = $(static_cppflags) 72test_service_LDADD = libdbus-testutils.la 73test_names_CPPFLAGS = $(static_cppflags) 74test_names_LDADD = libdbus-testutils.la 75## break_loader_CPPFLAGS = $(static_cppflags) 76## break_loader_LDADD = $(top_builddir)/dbus/libdbus-internal.la 77test_shell_service_CPPFLAGS = $(static_cppflags) 78test_shell_service_LDADD = libdbus-testutils.la 79shell_test_CPPFLAGS = $(static_cppflags) 80shell_test_LDADD = libdbus-testutils.la 81spawn_test_CPPFLAGS = $(static_cppflags) 82spawn_test_LDADD = $(top_builddir)/dbus/libdbus-internal.la 83 84test_refs_SOURCES = internals/refs.c 85test_refs_CPPFLAGS = $(static_cppflags) 86test_refs_LDADD = libdbus-testutils.la $(GLIB_LIBS) 87 88test_syslog_SOURCES = internals/syslog.c 89test_syslog_CPPFLAGS = $(static_cppflags) 90test_syslog_LDADD = libdbus-testutils.la $(GLIB_LIBS) 91 92EXTRA_DIST = dbus-test-runner 93 94testexecdir = $(libdir)/dbus-1.0/test 95 96testexec_PROGRAMS = 97 98installable_tests = \ 99 shell-test \ 100 $(NULL) 101 102if DBUS_WITH_GLIB 103installable_tests += \ 104 test-corrupt \ 105 test-dbus-daemon \ 106 test-dbus-daemon-eavesdrop \ 107 test-loopback \ 108 test-marshal \ 109 test-refs \ 110 test-relay \ 111 test-syntax \ 112 test-syslog \ 113 $(NULL) 114endif DBUS_WITH_GLIB 115 116installcheck_tests = 117installcheck_environment = \ 118 DBUS_TEST_DAEMON=$(DESTDIR)$(DBUS_DAEMONDIR)/dbus-daemon$(EXEEXT) \ 119 DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus \ 120 DBUS_TEST_SYSCONFDIR=$(DESTDIR)$(sysconfdir) 121 122TESTS_ENVIRONMENT = \ 123 DBUS_BLOCK_ON_ABORT=1 \ 124 DBUS_FATAL_WARNINGS=1 \ 125 DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT) \ 126 DBUS_TEST_DATA=@abs_top_builddir@/test/data \ 127 DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus \ 128 $(NULL) 129 130test_corrupt_SOURCES = corrupt.c 131test_corrupt_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 132 $(GLIB_LIBS) \ 133 $(DBUS_GLIB_LIBS) 134 135test_loopback_SOURCES = loopback.c 136test_loopback_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 137 $(GLIB_LIBS) \ 138 $(DBUS_GLIB_LIBS) 139 140test_relay_SOURCES = relay.c 141test_relay_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 142 $(GLIB_LIBS) \ 143 $(DBUS_GLIB_LIBS) 144 145test_dbus_daemon_SOURCES = dbus-daemon.c 146test_dbus_daemon_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 147 $(GLIB_LIBS) \ 148 $(DBUS_GLIB_LIBS) 149 150test_dbus_daemon_eavesdrop_SOURCES = dbus-daemon-eavesdrop.c 151test_dbus_daemon_eavesdrop_CPPFLAGS = $(GLIB_CFLAGS) $(DBUS_GLIB_CFLAGS) 152test_dbus_daemon_eavesdrop_LDFLAGS = @R_DYNAMIC_LDFLAG@ 153test_dbus_daemon_eavesdrop_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 154 $(GLIB_LIBS) \ 155 $(DBUS_GLIB_LIBS) 156 157test_marshal_SOURCES = marshal.c 158test_marshal_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 159 $(GLIB_LIBS) \ 160 $(DBUS_GLIB_LIBS) 161 162test_syntax_SOURCES = syntax.c 163test_syntax_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 164 $(GLIB_LIBS) 165 166if DBUS_ENABLE_MODULAR_TESTS 167TESTS += $(installable_tests) 168installcheck_tests += $(installable_tests) 169 170if DBUS_ENABLE_INSTALLED_TESTS 171 testexec_PROGRAMS += $(installable_tests) 172else !DBUS_ENABLE_INSTALLED_TESTS 173 noinst_PROGRAMS += $(installable_tests) 174endif !DBUS_ENABLE_INSTALLED_TESTS 175 176endif DBUS_ENABLE_MODULAR_TESTS 177 178# If we're installing the tests into a DESTDIR we can't run them 179# again using the installed copy, because we don't know how to 180# do a portable equivalent of setting LD_LIBRARY_PATH. 181installcheck-local: 182 $(MAKE) check-TESTS TESTS='$$(installcheck_tests)' \ 183 TESTS_ENVIRONMENT='$$(installcheck_environment)' 184if DBUS_ENABLE_INSTALLED_TESTS 185 test -n "$(DESTDIR)" || \ 186 $(installcheck_environment) \ 187 $(srcdir)/dbus-test-runner \ 188 $(testexecdir) \ 189 $(testexec_PROGRAMS) 190endif DBUS_ENABLE_INSTALLED_TESTS 191 192in_data = \ 193 data/valid-config-files-system/debug-allow-all-fail.conf.in \ 194 data/valid-config-files-system/debug-allow-all-pass.conf.in \ 195 data/valid-config-files/debug-allow-all-sha1.conf.in \ 196 data/valid-config-files/debug-allow-all.conf.in \ 197 data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoExec.service.in \ 198 data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoService.service.in \ 199 data/invalid-service-files-system/org.freedesktop.DBus.TestSuiteNoUser.service.in \ 200 data/valid-service-files-system/org.freedesktop.DBus.TestSuiteEchoService.service.in \ 201 data/valid-service-files-system/org.freedesktop.DBus.TestSuiteSegfaultService.service.in \ 202 data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service.in \ 203 data/valid-service-files-system/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service.in \ 204 data/valid-service-files/org.freedesktop.DBus.TestSuite.PrivServer.service.in \ 205 data/valid-service-files/org.freedesktop.DBus.TestSuiteEchoService.service.in \ 206 data/valid-service-files/org.freedesktop.DBus.TestSuiteForkingEchoService.service.in \ 207 data/valid-service-files/org.freedesktop.DBus.TestSuiteSegfaultService.service.in \ 208 data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceFail.service.in \ 209 data/valid-service-files/org.freedesktop.DBus.TestSuiteShellEchoServiceSuccess.service.in \ 210 $(NULL) 211 212EXTRA_DIST += $(in_data) 213 214static_data = \ 215 name-test/tmp-session-like-system.conf \ 216 data/auth/anonymous-client-successful.auth-script \ 217 data/auth/anonymous-server-successful.auth-script \ 218 data/auth/cancel.auth-script \ 219 data/auth/client-out-of-mechanisms.auth-script \ 220 data/auth/external-failed.auth-script \ 221 data/auth/external-root.auth-script \ 222 data/auth/external-silly.auth-script \ 223 data/auth/external-successful.auth-script \ 224 data/auth/extra-bytes.auth-script \ 225 data/auth/fail-after-n-attempts.auth-script \ 226 data/auth/fallback.auth-script \ 227 data/auth/invalid-command-client.auth-script \ 228 data/auth/invalid-command.auth-script \ 229 data/auth/invalid-hex-encoding.auth-script \ 230 data/auth/mechanisms.auth-script \ 231 data/equiv-config-files/basic/basic-1.conf \ 232 data/equiv-config-files/basic/basic-2.conf \ 233 data/equiv-config-files/basic/basic.d/basic.conf \ 234 data/equiv-config-files/entities/basic.d/basic.conf \ 235 data/equiv-config-files/entities/entities-1.conf \ 236 data/equiv-config-files/entities/entities-2.conf \ 237 data/incomplete-messages/missing-body.message \ 238 data/invalid-config-files/badselinux-1.conf \ 239 data/invalid-config-files/badselinux-2.conf \ 240 data/invalid-config-files/circular-1.conf \ 241 data/invalid-config-files/circular-2.conf \ 242 data/invalid-config-files/circular-3.conf \ 243 data/invalid-config-files/not-well-formed.conf \ 244 data/invalid-config-files/truncated-file.conf \ 245 data/invalid-messages/array-of-nil.message \ 246 data/invalid-messages/array-with-mixed-types.message \ 247 data/invalid-messages/bad-boolean-array.message \ 248 data/invalid-messages/bad-boolean.message \ 249 data/invalid-messages/bad-endian.message \ 250 data/invalid-messages/bad-header-field-alignment.message \ 251 data/invalid-messages/boolean-has-no-value.message-raw \ 252 data/invalid-messages/local-namespace.message \ 253 data/invalid-messages/no-dot-in-name.message \ 254 data/invalid-messages/not-nul-header-padding.message \ 255 data/invalid-messages/overlong-name.message \ 256 data/invalid-messages/too-little-header-padding.message \ 257 data/invalid-messages/too-much-header-padding-by-far.message \ 258 data/invalid-messages/too-much-header-padding.message \ 259 data/invalid-messages/too-short-dict.message \ 260 data/sha-1/Readme.txt \ 261 data/sha-1/bit-hashes.sha1 \ 262 data/sha-1/bit-messages.sha1 \ 263 data/sha-1/byte-hashes.sha1 \ 264 data/sha-1/byte-messages.sha1 \ 265 data/valid-config-files/basic.conf \ 266 data/valid-config-files/basic.d/basic.conf \ 267 data/valid-config-files/entities.conf \ 268 data/valid-config-files/incoming-limit.conf \ 269 data/valid-config-files/many-rules.conf \ 270 data/valid-config-files/system.d/test.conf \ 271 data/valid-messages/array-of-array-of-uint32.message \ 272 data/valid-messages/dict-simple.message \ 273 data/valid-messages/dict.message \ 274 data/valid-messages/emptiness.message \ 275 data/valid-messages/lots-of-arguments.message \ 276 data/valid-messages/no-padding.message \ 277 data/valid-messages/opposite-endian.message \ 278 data/valid-messages/recursive-types.message \ 279 data/valid-messages/simplest-manual.message \ 280 data/valid-messages/simplest.message \ 281 data/valid-messages/standard-acquire-service.message \ 282 data/valid-messages/standard-hello.message \ 283 data/valid-messages/standard-list-services.message \ 284 data/valid-messages/standard-service-exists.message \ 285 data/valid-messages/unknown-header-field.message \ 286 $(NULL) 287 288EXTRA_DIST += $(static_data) 289 290## copy tests to builddir so that generated tests and static tests 291## are all in one place. 292all-local: 293 $(AM_V_at)$(MKDIR_P) data/valid-config-files/session.d 294 $(AM_V_at)set -e && \ 295 if test $(srcdir) = . || test $(srcdir) -ef .; then \ 296 echo '-- No need to copy test data as srcdir = builddir'; \ 297 else \ 298 for F in $(static_data); do \ 299 $(MKDIR_P) $${F%/*}; \ 300 rm -f $$F; \ 301 cp $(srcdir)/$$F $$F; \ 302 done; \ 303 fi 304 305## this doesn't clean most copied test data files when srcdir=builddir 306clean-local: 307 $(AM_V_at)if test $(srcdir) = . || test $(srcdir) -ef .; then \ 308 echo '-- No need to clean test data as srcdir = builddir'; \ 309 else \ 310 rm -f $(static_data); \ 311 fi 312 313imported_data = \ 314 data/valid-config-files/session.conf \ 315 data/valid-config-files/system.conf \ 316 $(NULL) 317 318noinst_DATA = $(imported_data) 319CLEANFILES = $(noinst_DATA) 320 321data/valid-config-files/session.conf: $(top_builddir)/bus/session.conf 322 $(AM_V_at)$(MKDIR_P) data/valid-config-files 323 $(AM_V_GEN)cp $< $@ 324 325data/valid-config-files/system.conf: $(top_builddir)/bus/system.conf 326 $(AM_V_at)$(MKDIR_P) data/valid-config-files 327 $(AM_V_GEN)cp $< $@ 328