Emeric Vigier | 2f62582 | 2012-08-06 11:09:52 -0400 | [diff] [blame] | 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 | INCLUDES=-I$(top_srcdir) $(DBUS_TEST_CFLAGS) |
| 8 | |
| 9 | libdbus_testutils_la_SOURCES = test-utils.h test-utils.c |
| 10 | |
| 11 | noinst_LTLIBRARIES = libdbus-testutils.la |
| 12 | |
| 13 | if DBUS_BUILD_TESTS |
| 14 | ## break-loader removed for now |
| 15 | ## most of these binaries are used in tests but are not themselves tests |
| 16 | TEST_BINARIES=test-service test-names test-shell-service shell-test spawn-test test-segfault test-exit test-sleep-forever |
| 17 | |
| 18 | ## these are the things to run in make check (i.e. they are actual tests) |
| 19 | ## (binaries in here must also be in TEST_BINARIES) |
| 20 | TESTS=shell-test |
| 21 | else |
| 22 | TEST_BINARIES= |
| 23 | TESTS= |
| 24 | endif |
| 25 | |
| 26 | if DBUS_GCOV_ENABLED |
| 27 | GCOV_BINARIES=decode-gcov |
| 28 | else |
| 29 | GCOV_BINARIES= |
| 30 | endif |
| 31 | |
| 32 | noinst_PROGRAMS= $(TEST_BINARIES) $(GCOV_BINARIES) |
| 33 | |
| 34 | test_service_SOURCES= \ |
| 35 | test-service.c |
| 36 | |
| 37 | test_names_SOURCES= \ |
| 38 | test-names.c |
| 39 | |
| 40 | ##break_loader_SOURCES= \ |
| 41 | ## break-loader.c |
| 42 | |
| 43 | test_shell_service_SOURCES = \ |
| 44 | test-shell-service.c |
| 45 | |
| 46 | shell_test_SOURCES= \ |
| 47 | shell-test.c |
| 48 | |
| 49 | spawn_test_SOURCES= \ |
| 50 | spawn-test.c |
| 51 | |
| 52 | test_exit_SOURCES = \ |
| 53 | test-exit.c |
| 54 | |
| 55 | test_segfault_SOURCES = \ |
| 56 | test-segfault.c |
| 57 | |
| 58 | test_sleep_forever_SOURCES = \ |
| 59 | test-sleep-forever.c |
| 60 | |
| 61 | decode_gcov_SOURCES= \ |
| 62 | decode-gcov.c |
| 63 | |
| 64 | # When any programs are not linked to libdbus-internal, fix this. |
| 65 | AM_CPPFLAGS=-DDBUS_STATIC_BUILD |
| 66 | TEST_LIBS=$(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS) |
| 67 | |
| 68 | test_service_LDADD=libdbus-testutils.la $(TEST_LIBS) |
| 69 | test_service_LDFLAGS=@R_DYNAMIC_LDFLAG@ |
| 70 | test_names_LDADD=libdbus-testutils.la $(TEST_LIBS) |
| 71 | test_names_LDFLAGS=@R_DYNAMIC_LDFLAG@ |
| 72 | ## break_loader_LDADD= $(TEST_LIBS) |
| 73 | ## break_loader_LDFLAGS=@R_DYNAMIC_LDFLAG@ |
| 74 | test_shell_service_LDADD=libdbus-testutils.la $(TEST_LIBS) |
| 75 | test_shell_service_LDFLAGS=@R_DYNAMIC_LDFLAG@ |
| 76 | shell_test_LDADD=libdbus-testutils.la $(TEST_LIBS) |
| 77 | shell_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ |
| 78 | spawn_test_LDADD=$(TEST_LIBS) |
| 79 | spawn_test_LDFLAGS=@R_DYNAMIC_LDFLAG@ |
| 80 | decode_gcov_LDADD=$(TEST_LIBS) |
| 81 | decode_gcov_LDFLAGS=@R_DYNAMIC_LDFLAG@ |
| 82 | |
| 83 | EXTRA_DIST= |
| 84 | |
| 85 | ## keep these in creation order, i.e. uppermost dirs first |
| 86 | TESTDIRS= \ |
| 87 | data \ |
| 88 | data/valid-messages \ |
| 89 | data/invalid-messages \ |
| 90 | data/incomplete-messages \ |
| 91 | data/auth \ |
| 92 | data/sha-1 \ |
| 93 | data/valid-config-files \ |
| 94 | data/valid-config-files-system \ |
| 95 | data/valid-config-files/basic.d \ |
| 96 | data/valid-config-files/session.d \ |
| 97 | data/valid-config-files/system.d \ |
| 98 | data/valid-service-files \ |
| 99 | data/valid-service-files-system \ |
| 100 | data/invalid-service-files-system \ |
| 101 | data/invalid-config-files \ |
| 102 | data/invalid-config-files-system \ |
| 103 | data/equiv-config-files \ |
| 104 | data/equiv-config-files/basic \ |
| 105 | data/equiv-config-files/basic/basic.d \ |
| 106 | data/equiv-config-files/entities \ |
| 107 | data/equiv-config-files/entities/basic.d |
| 108 | |
| 109 | |
| 110 | FIND_TESTS=find . -type f -a \( -name "*.message" -o -name "*.message-raw" -o -name "*.auth-script" -o -name "*.sha1" -o -name "*.txt" -o -name "*.conf" -o -name "*.service" \) |
| 111 | |
| 112 | dist-hook: |
| 113 | for D in $(TESTDIRS); do \ |
| 114 | test -d $(distdir)/$$D || mkdir $(distdir)/$$D || exit 1 ; \ |
| 115 | done ; \ |
| 116 | FILES=`(cd $(srcdir) && $(FIND_TESTS) -o -name "*.in" -a -not -name Makefile.in | grep -Ev "(.svn|CVS)" )` ; \ |
| 117 | for F in $$FILES; do \ |
| 118 | echo '-- Disting file '$$F ; \ |
| 119 | cp -f $(srcdir)/$$F $(distdir)/$$F || exit 1 ; \ |
| 120 | done |
| 121 | |
| 122 | ## copy tests to builddir so that generated tests and static tests |
| 123 | ## are all in one place. |
| 124 | all-local: |
| 125 | for D in $(TESTDIRS); do \ |
| 126 | test -d $(top_builddir)/test/$$D || mkdir $(top_builddir)/test/$$D || exit 1 ; \ |
| 127 | done ; \ |
| 128 | if ! (test $(srcdir) = . || test $(srcdir) -ef .) ; then \ |
| 129 | FILES=`(cd $(srcdir) && $(FIND_TESTS) | grep -Ev "(.svn|CVS)" )` ; \ |
| 130 | for F in $$FILES; do \ |
| 131 | SRC=$(srcdir)/$$F ; \ |
| 132 | DEST=$(top_builddir)/test/$$F ; \ |
| 133 | echo '-- Copying test file '$$F ; \ |
| 134 | cp $$SRC $$DEST || exit 1 ; \ |
| 135 | chmod u+w $$DEST || exit 1 ; \ |
| 136 | done ; \ |
| 137 | else \ |
| 138 | echo '-- No need to copy test data as srcdir = builddir' ; \ |
| 139 | fi ; \ |
| 140 | echo '-- Copying' $(top_builddir)/bus/*.conf 'to test directory' ; \ |
| 141 | cp $(top_builddir)/bus/*.conf $(top_builddir)/test/data/valid-config-files || exit 1 ; \ |
| 142 | chmod u+w $(top_builddir)/test/data/valid-config-files/*.conf || exit 1 |
| 143 | |
| 144 | ## this doesn't clean generated test data files when srcdir=builddir |
| 145 | clean-local: |
| 146 | if test $(srcdir) != . ; then \ |
| 147 | FILES=`(cd $(top_builddir)/test && $(FIND_TESTS) | grep -Ev "(.svn|CVS)" )` ; \ |
| 148 | for F in $$FILES; do \ |
| 149 | DEST=$(top_builddir)/test/$$F ; \ |
| 150 | echo '-- Deleting test file '$$F ; \ |
| 151 | rm $$DEST || exit 1 ; \ |
| 152 | done ; \ |
| 153 | REVERSEDIRS= ; \ |
| 154 | for D in $(TESTDIRS); do \ |
| 155 | REVERSEDIRS="$$D $$REVERSEDIRS" ; \ |
| 156 | done ; \ |
| 157 | for D in $$REVERSEDIRS; do \ |
| 158 | rmdir $(top_builddir)/test/$$D || exit 1 ; \ |
| 159 | done ; \ |
| 160 | fi |