Revert checkstatsweight3 part of previous commit
[xapian.git] / xapian-core / tests / Makefile.am
blobc5669ae4c6a1eda5c3df9af3c4c3b804c9d29d04
1 ## Process this file with automake to produce Makefile.in
3 AUTOMAKE_OPTIONS = 1.12.2 serial-tests subdir-objects
5 if MAINTAINER_MODE
6 # Export these so that we run the locally installed autotools when building
7 # from a bootstrapped git tree.
8 export ACLOCAL AUTOCONF AUTOHEADER AUTOM4TE AUTOMAKE
9 endif
11 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/common -I$(top_srcdir)/include \
12  -I$(top_builddir)/include -I$(srcdir)/harness
13 AM_CXXFLAGS += $(WERROR)
15 # If tests are run under valgrind and the test is killed at the wrong moment
16 # then a log file is left behind.
17 CLEANFILES = .valgrind.log.*
19 libxapian_la = libxapian@LIBRARY_VERSION_SUFFIX@.la
21 TESTS_ENVIRONMENT = ./runtest
23 .PHONY: check-none check-inmemory \
24         check-glass \
25         check-honey \
26         check-multi check-multi-glass \
27         check-remote check-remoteprog check-remotetcp \
28         check-remoteprog-glass \
29         check-remotetcp-glass \
30         up remove-cached-databases
32 up:
33         cd .. && $(MAKE)
35 check-none: apitest$(EXEEXT) \
36             internaltest$(EXEEXT) \
37             stemtest$(EXEEXT) \
38             unittest$(EXEEXT)
39         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b none
40         $(TESTS_ENVIRONMENT) ./internaltest$(EXEEXT)
41         $(TESTS_ENVIRONMENT) ./stemtest$(EXEEXT)
42         $(TESTS_ENVIRONMENT) ./unittest$(EXEEXT)
44 check-inmemory: apitest$(EXEEXT)
45         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b inmemory
47 check-multi: apitest$(EXEEXT)
48         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b multi
50 check-singlefile: apitest$(EXEEXT)
51         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b singlefile
53 if BUILD_BACKEND_REMOTE
54 check-remote: check-remoteprog check-remotetcp
56 check-remoteprog: apitest$(EXEEXT)
57         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b remoteprog
59 check-remotetcp: apitest$(EXEEXT)
60         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b remotetcp
62 if BUILD_BACKEND_GLASS
63 check-remoteprog-glass: apitest$(EXEEXT)
64         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b remoteprog_glass
65 check-remotetcp-glass: apitest$(EXEEXT)
66         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b remotetcp_glass
67 endif
69 endif
71 if BUILD_BACKEND_GLASS
72 check-multi-glass: apitest$(EXEEXT)
73         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b multi_glass
74 check-glass: apitest$(EXEEXT)
75         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b glass
76 check-singlefile-glass: apitest$(EXEEXT)
77         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b singlefile_glass
78 endif
80 if BUILD_BACKEND_HONEY
81 check-honey: apitest$(EXEEXT)
82         $(TESTS_ENVIRONMENT) ./apitest$(EXEEXT) -b honey
83 endif
85 ## Test programs to be run
86 TESTS = apitest$(EXEEXT) internaltest$(EXEEXT) stemtest$(EXEEXT) \
87  unittest$(EXEEXT)
89 ## Programs to build
90 check_PROGRAMS = \
91         apitest internaltest stemtest unittest
93 # Make sure runtest is up to date before running tests
94 check_SCRIPTS = runtest
96 ## Sources:
98 noinst_HEADERS = apitest.h dbcheck.h
100 collated_apitest_sources = \
101  api_anydb.cc \
102  api_backend.cc \
103  api_closedb.cc \
104  api_cluster.cc \
105  api_collapse.cc \
106  api_compact.cc \
107  api_db.cc \
108  api_diversify.cc \
109  api_generated.cc \
110  api_geospatial.cc \
111  api_matchspy.cc \
112  api_metadata.cc \
113  api_nodb.cc \
114  api_none.cc \
115  api_opsynonym.cc \
116  api_opvalue.cc \
117  api_percentages.cc \
118  api_posdb.cc \
119  api_postingsource.cc \
120  api_qpbackend.cc \
121  api_query.cc \
122  api_queryopt.cc \
123  api_queryparser.cc \
124  api_replacedoc.cc \
125  api_replicate.cc \
126  api_scalability.cc \
127  api_serialise.cc \
128  api_snippets.cc \
129  api_sorting.cc \
130  api_spelling.cc \
131  api_stem.cc \
132  api_termgen.cc \
133  api_transdb.cc \
134  api_unicode.cc \
135  api_valuestats.cc \
136  api_valuestream.cc \
137  api_weight.cc \
138  api_wrdb.cc
140 apitest_SOURCES = apitest.cc dbcheck.cc $(collated_apitest_sources) \
141  api_all.h api_collated.h $(testharness_sources)
143 apitest_LDFLAGS = $(NO_INSTALL)
144 apitest_LDADD = ../libgetopt.la ../$(libxapian_la)
146 stemtest_SOURCES = stemtest.cc $(testharness_sources)
147 stemtest_LDFLAGS = $(NO_INSTALL)
148 stemtest_LDADD = ../libgetopt.la ../$(libxapian_la)
150 internaltest_SOURCES = internaltest.cc $(testharness_sources)
151 internaltest_LDFLAGS = $(NO_INSTALL)
152 internaltest_LDADD = ../libgetopt.la ../$(libxapian_la)
154 unittest_SOURCES = unittest.cc $(utestharness_sources)
155 unittest_LDFLAGS = $(NO_INSTALL)
156 unittest_LDADD = ../libgetopt.la $(XAPIAN_LIBS)
158 BUILT_SOURCES =
160 if MAINTAINER_MODE
161 BUILT_SOURCES += api_all.h api_collated.h $(collated_apitest_sources:.cc=.h) \
162  api_collated.stamp api_generated.cc
164 api_all.h api_collated.h $(collated_apitest_sources:.cc=.h): api_collated.stamp
165 ## Recover from the removal of $@.  A full explanation of these rules is in the
166 ## automake manual under the heading "Multiple Outputs".
167         @if test -f $@; then :; else \
168           trap 'rm -rf api_collated.lock api_collated.stamp' 1 2 13 15; \
169           if mkdir api_collated.lock 2>/dev/null; then \
170             rm -f api_collated.stamp; \
171             $(MAKE) $(AM_MAKEFLAGS) api_collated.stamp; \
172             rmdir api_collated.lock; \
173           else \
174             while test -d api_collated.lock; do sleep 1; done; \
175             test -f api_collated.stamp; exit $$?; \
176           fi; \
177         fi
178 api_collated.stamp: $(collated_apitest_sources) collate-test Makefile.am
179         $(PERL) "$(srcdir)/collate-test" "$(srcdir)" api_collated.h api_all.h $(collated_apitest_sources)
180         touch $@
182 api_generated.cc: generate-api_generated
183         $(PERL) "$(srcdir)/generate-api_generated" > api_generated.ccT
184         mv api_generated.ccT api_generated.cc
185 endif
187 EXTRA_DIST = collate-test generate-api_generated api_all.h api_collated.h \
188         $(collated_apitest_sources:.cc=.h) api_collated.stamp
190 ## Distribute test data:
191 EXTRA_DIST +=\
192         runtest.in \
193         ubsan.supp \
194         valgrind.supp \
195         testdata/apitest_onedoc.txt \
196         testdata/apitest_simpledata.txt \
197         testdata/apitest_simpledata2.txt \
198         testdata/apitest_simpledata3.txt \
199         testdata/apitest_termorder.txt \
200         testdata/apitest_rset.txt \
201         testdata/apitest_phrase.txt \
202         testdata/apitest_punc.txt \
203         testdata/apitest_space.txt \
204         testdata/apitest_allterms.txt \
205         testdata/apitest_allterms2.txt \
206         testdata/apitest_allterms4.txt \
207         testdata/apitest_poslist.txt \
208         testdata/apitest_manydocs.txt \
209         testdata/apitest_sortconsist.txt \
210         testdata/apitest_sortrel.txt \
211         testdata/apitest_declen.txt \
212         testdata/apitest_diversify.txt \
213         testdata/etext.txt \
214         testdata/glass_corrupt_db1 \
215         testdata/glass_corrupt_db2 \
216         testdata/glass_corrupt_db3 \
217         testdata/phraseweightcheckbug1.txt \
218         testdata/snippet.txt
220 remove-cached-databases:
221         rm -rf .glass .honey .multiglass .multiglassremoteprog_glass \
222                .multiremoteprog_glass .replicatmp .singlefileglass .stub
224 clean-local: remove-cached-databases
226 # Remove the cached databases before "make check" to avoid issues with missing
227 # bugs in database creation when we reuse databases from a previous test run.
228 check: remove-cached-databases
230 include harness/Makefile.mk
231 include perftest/Makefile.mk
232 include soaktest/Makefile.mk
234 EXTRA_DIST += zlib-vg.c
235 if USE_ZLIB_VG
236 check_SCRIPTS += zlib-vg.so
237 CLEANFILES += zlib-vg.so
239 zlib-vg.so: zlib-vg.c
240         $(CC) -fPIC -shared -o zlib-vg.so $(srcdir)/zlib-vg.c -ldl
241 endif
243 .PHONY: check-syntax
245 MAINTAINERCLEANFILES = $(BUILT_SOURCES)
247 check-syntax:
248         $(CXXCOMPILE) -fsyntax-only -gstabs+ $(CHK_SOURCES)