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 4 SUBDIRS= . name-test 5 DIST_SUBDIRS=name-test 6 7 # CPPFLAGS for binaries that are normally dynamic 8 AM_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 16 AM_LDFLAGS = @R_DYNAMIC_LDFLAG@ 17 18 # CPPFLAGS for binaries that are always static 19 static_cppflags = \ 20 $(AM_CPPFLAGS) \ 21 -DDBUS_STATIC_BUILD \ 22 $(NULL) 23 24 libdbus_testutils_la_CPPFLAGS = \ 25 $(static_cppflags) 26 libdbus_testutils_la_SOURCES = \ 27 test-utils.c \ 28 test-utils.h \ 29 $(NULL) 30 libdbus_testutils_la_LIBADD = \ 31 $(top_builddir)/dbus/libdbus-internal.la \ 32 $(NULL) 33 34 noinst_LTLIBRARIES = libdbus-testutils.la 35 36 if DBUS_BUILD_TESTS 37 ## break-loader removed for now 38 ## these binaries are used in tests but are not themselves tests 39 TEST_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 52 TESTS = \ 53 ../bus/bus-test$(EXEEXT) \ 54 ../bus/bus-test-system$(EXEEXT) \ 55 ../dbus/dbus-test$(EXEEXT) \ 56 $(NULL) 57 58 if DBUS_UNIX 59 TESTS += ../bus/bus-test-launch-helper$(EXEEXT) 60 endif 61 62 else !DBUS_BUILD_TESTS 63 64 TEST_BINARIES= 65 TESTS= 66 67 endif !DBUS_BUILD_TESTS 68 69 noinst_PROGRAMS= $(TEST_BINARIES) 70 71 test_service_CPPFLAGS = $(static_cppflags) 72 test_service_LDADD = libdbus-testutils.la 73 test_names_CPPFLAGS = $(static_cppflags) 74 test_names_LDADD = libdbus-testutils.la 75 ## break_loader_CPPFLAGS = $(static_cppflags) 76 ## break_loader_LDADD = $(top_builddir)/dbus/libdbus-internal.la 77 test_shell_service_CPPFLAGS = $(static_cppflags) 78 test_shell_service_LDADD = libdbus-testutils.la 79 shell_test_CPPFLAGS = $(static_cppflags) 80 shell_test_LDADD = libdbus-testutils.la 81 spawn_test_CPPFLAGS = $(static_cppflags) 82 spawn_test_LDADD = $(top_builddir)/dbus/libdbus-internal.la 83 84 test_refs_SOURCES = internals/refs.c 85 test_refs_CPPFLAGS = $(static_cppflags) 86 test_refs_LDADD = libdbus-testutils.la $(GLIB_LIBS) 87 88 test_syslog_SOURCES = internals/syslog.c 89 test_syslog_CPPFLAGS = $(static_cppflags) 90 test_syslog_LDADD = libdbus-testutils.la $(GLIB_LIBS) 91 92 EXTRA_DIST = dbus-test-runner 93 94 testexecdir = $(libdir)/dbus-1.0/test 95 96 testexec_PROGRAMS = 97 98 installable_tests = \ 99 shell-test \ 100 $(NULL) 101 102 if DBUS_WITH_GLIB 103 installable_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) 114 endif DBUS_WITH_GLIB 115 116 installcheck_tests = 117 installcheck_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 122 TESTS_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 130 test_corrupt_SOURCES = corrupt.c 131 test_corrupt_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 132 $(GLIB_LIBS) \ 133 $(DBUS_GLIB_LIBS) 134 135 test_loopback_SOURCES = loopback.c 136 test_loopback_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 137 $(GLIB_LIBS) \ 138 $(DBUS_GLIB_LIBS) 139 140 test_relay_SOURCES = relay.c 141 test_relay_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 142 $(GLIB_LIBS) \ 143 $(DBUS_GLIB_LIBS) 144 145 test_dbus_daemon_SOURCES = dbus-daemon.c 146 test_dbus_daemon_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 147 $(GLIB_LIBS) \ 148 $(DBUS_GLIB_LIBS) 149 150 test_dbus_daemon_eavesdrop_SOURCES = dbus-daemon-eavesdrop.c 151 test_dbus_daemon_eavesdrop_CPPFLAGS = $(GLIB_CFLAGS) $(DBUS_GLIB_CFLAGS) 152 test_dbus_daemon_eavesdrop_LDFLAGS = @R_DYNAMIC_LDFLAG@ 153 test_dbus_daemon_eavesdrop_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 154 $(GLIB_LIBS) \ 155 $(DBUS_GLIB_LIBS) 156 157 test_marshal_SOURCES = marshal.c 158 test_marshal_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 159 $(GLIB_LIBS) \ 160 $(DBUS_GLIB_LIBS) 161 162 test_syntax_SOURCES = syntax.c 163 test_syntax_LDADD = $(top_builddir)/dbus/libdbus-1.la \ 164 $(GLIB_LIBS) 165 166 if DBUS_ENABLE_MODULAR_TESTS 167 TESTS += $(installable_tests) 168 installcheck_tests += $(installable_tests) 169 170 if DBUS_ENABLE_INSTALLED_TESTS 171 testexec_PROGRAMS += $(installable_tests) 172 else !DBUS_ENABLE_INSTALLED_TESTS 173 noinst_PROGRAMS += $(installable_tests) 174 endif !DBUS_ENABLE_INSTALLED_TESTS 175 176 endif 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. 181 installcheck-local: 182 $(MAKE) check-TESTS TESTS='$$(installcheck_tests)' \ 183 TESTS_ENVIRONMENT='$$(installcheck_environment)' 184 if DBUS_ENABLE_INSTALLED_TESTS 185 test -n "$(DESTDIR)" || \ 186 $(installcheck_environment) \ 187 $(srcdir)/dbus-test-runner \ 188 $(testexecdir) \ 189 $(testexec_PROGRAMS) 190 endif DBUS_ENABLE_INSTALLED_TESTS 191 192 in_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 212 EXTRA_DIST += $(in_data) 213 214 static_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 288 EXTRA_DIST += $(static_data) 289 290 ## copy tests to builddir so that generated tests and static tests 291 ## are all in one place. 292 all-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 306 clean-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 313 imported_data = \ 314 data/valid-config-files/session.conf \ 315 data/valid-config-files/system.conf \ 316 $(NULL) 317 318 noinst_DATA = $(imported_data) 319 CLEANFILES = $(noinst_DATA) 320 321 data/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 325 data/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