1 /* Warning: This file is generated by ./collate-test - do not modify directly! */
2 
3     if (!backend) {
4 	static const test_desc tests[] = {
5 	    { "stubdb7", test_stubdb7 },
6 	    { "defaultctor1", test_defaultctor1 },
7 	    { "copyassign1", test_copyassign1 },
8 	    { "matchspy6", test_matchspy6 },
9 	    { "trivial1", test_trivial1 },
10 	    { "getqterms1", test_getqterms1 },
11 	    { "getqterms2", test_getqterms2 },
12 	    { "emptyquery2", test_emptyquery2 },
13 	    { "emptyquery3", test_emptyquery3 },
14 	    { "querylen1", test_querylen1 },
15 	    { "querylen2", test_querylen2 },
16 	    { "queryvalid1", test_queryvalid1 },
17 	    { "subqcollapse1", test_subqcollapse1 },
18 	    { "emptyquerypart1", test_emptyquerypart1 },
19 	    { "singlesubq1", test_singlesubq1 },
20 	    { "stemlangs1", test_stemlangs1 },
21 	    { "weight1", test_weight1 },
22 	    { "nosuchdb1", test_nosuchdb1 },
23 	    { "addvalue1", test_addvalue1 },
24 	    { "poscollapse2", test_poscollapse2 },
25 	    { "uninitdb1", test_uninitdb1 },
26 	    { "scaleweight3", test_scaleweight3 },
27 	    { "scaleweight4", test_scaleweight4 },
28 	    { "rset3", test_rset3 },
29 	    { "rset4", test_rset4 },
30 	    { "valuesetmatchdecider1", test_valuesetmatchdecider1 },
31 	    { "emptymset1", test_emptymset1 },
32 	    { "nosubdatabases1", test_nosubdatabases1 },
33 	    { "document1", test_document1 },
34 	    { "document2", test_document2 },
35 	    { "valuege3", test_valuege3 },
36 	    { "queryterms1", test_queryterms1 },
37 	    { "matchnothing1", test_matchnothing1 },
38 	    { "nearsubqueries1", test_nearsubqueries1 },
39 	    { "serialise_document1", test_serialise_document1 },
40 	    { "serialise_query1", test_serialise_query1 },
41 	    { "serialise_query2", test_serialise_query2 },
42 	    { "serialise_query3", test_serialise_query3 },
43 	    { "serialise_query4", test_serialise_query4 },
44 	    { "double_register_leak", test_double_register_leak },
45 	    { "registry1", test_registry1 },
46 	    { "registry2", test_registry2 },
47 	    { "registry3", test_registry3 },
48 	    { "multivaluekeymaker1", test_multivaluekeymaker1 },
49 	    { "stem1", test_stem1 },
50 	    { "stem2", test_stem2 },
51 	    { "stemlangs2", test_stemlangs2 },
52 	    { "utf8iterator1", test_utf8iterator1 },
53 	    { "utf8iterator2", test_utf8iterator2 },
54 	    { "unicode1", test_unicode1 },
55 	    { "caseconvert1", test_caseconvert1 },
56 	    { "caseconvert2", test_caseconvert2 },
57 	    { "utf8convert1", test_utf8convert1 },
58 	    { "unicodepredicates1", test_unicodepredicates1 },
59 	    { "valuestats5", test_valuestats5 },
60 	    { "fixedweightsource2", test_fixedweightsource2 },
61 	    { "tradweight3", test_tradweight3 },
62 	    { "bm25weight3", test_bm25weight3 },
63 	    { 0, 0 }
64 	};
65 	result = max(result, test_driver::run(tests));
66     }
67     if (backend) {
68 	static const test_desc tests[] = {
69 	    { "zerodocid1", test_zerodocid1 },
70 	    { "emptyquery1", test_emptyquery1 },
71 	    { "simplequery1", test_simplequery1 },
72 	    { "simplequery2", test_simplequery2 },
73 	    { "simplequery3", test_simplequery3 },
74 	    { "wildquery1", test_wildquery1 },
75 	    { "msetmaxitems1", test_msetmaxitems1 },
76 	    { "expandweights1", test_expandweights1 },
77 	    { "expandweights2", test_expandweights2 },
78 	    { "expandweights3", test_expandweights3 },
79 	    { "expandweights4", test_expandweights4 },
80 	    { "expandmaxitems1", test_expandmaxitems1 },
81 	    { "boolquery1", test_boolquery1 },
82 	    { "msetfirst1", test_msetfirst1 },
83 	    { "topercent1", test_topercent1 },
84 	    { "topercent2", test_topercent2 },
85 	    { "expandfunctor1", test_expandfunctor1 },
86 	    { "pctcutoff1", test_pctcutoff1 },
87 	    { "pctcutoff2", test_pctcutoff2 },
88 	    { "pctcutoff3", test_pctcutoff3 },
89 	    { "cutoff1", test_cutoff1 },
90 	    { "allowqterms1", test_allowqterms1 },
91 	    { "maxattain1", test_maxattain1 },
92 	    { "reversebool1", test_reversebool1 },
93 	    { "reversebool2", test_reversebool2 },
94 	    { "getmterms1", test_getmterms1 },
95 	    { "getmterms2", test_getmterms2 },
96 	    { "poscollapse1", test_poscollapse1 },
97 	    { "repeatquery1", test_repeatquery1 },
98 	    { "fetchdocs1", test_fetchdocs1 },
99 	    { "absentterm1", test_absentterm1 },
100 	    { "absentterm2", test_absentterm2 },
101 	    { "rset1", test_rset1 },
102 	    { "rset2", test_rset2 },
103 	    { "eliteset1", test_eliteset1 },
104 	    { "eliteset2", test_eliteset2 },
105 	    { "eliteset3", test_eliteset3 },
106 	    { "eliteset4", test_eliteset4 },
107 	    { "eliteset5", test_eliteset5 },
108 	    { "termlisttermfreq1", test_termlisttermfreq1 },
109 	    { "qterminfo1", test_qterminfo1 },
110 	    { "qterminfo2", test_qterminfo2 },
111 	    { "msetzeroitems1", test_msetzeroitems1 },
112 	    { "matches1", test_matches1 },
113 	    { "wqf1", test_wqf1 },
114 	    { "qlen1", test_qlen1 },
115 	    { "termlist1", test_termlist1 },
116 	    { "termlist2", test_termlist2 },
117 	    { "termlist3", test_termlist3 },
118 	    { "termlist4", test_termlist4 },
119 	    { "puncterms1", test_puncterms1 },
120 	    { "spaceterms1", test_spaceterms1 },
121 	    { "xor1", test_xor1 },
122 	    { "xor2", test_xor2 },
123 	    { "getdoc1", test_getdoc1 },
124 	    { "emptyop1", test_emptyop1 },
125 	    { "checkatleast1", test_checkatleast1 },
126 	    { "checkatleast2", test_checkatleast2 },
127 	    { "checkatleast3", test_checkatleast3 },
128 	    { "allpostlist1", test_allpostlist1 },
129 	    { "emptyterm1", test_emptyterm1 },
130 	    { "scaleweight1", test_scaleweight1 },
131 	    { "scaleweight2", test_scaleweight2 },
132 	    { "bm25weight1", test_bm25weight1 },
133 	    { "tradweight1", test_tradweight1 },
134 	    { "tradweight4", test_tradweight4 },
135 	    { "dbstats1", test_dbstats1 },
136 	    { "dbstats2", test_dbstats2 },
137 	    { "alldocspl3", test_alldocspl3 },
138 	    { "msetfirst2", test_msetfirst2 },
139 	    { "bm25weight2", test_bm25weight2 },
140 	    { "tradweight2", test_tradweight2 },
141 	    { "emptydb1", test_emptydb1 },
142 	    { "msetweights1", test_msetweights1 },
143 	    { "itorskiptofromend1", test_itorskiptofromend1 },
144 	    { "sortvalue2", test_sortvalue2 },
145 	    { "enquiregetquery1", test_enquiregetquery1 },
146 	    { "closedb1", test_closedb1 },
147 	    { "closedb3", test_closedb3 },
148 	    { "collapsekey5", test_collapsekey5 },
149 	    { "termstats", test_termstats },
150 	    { "msetiterator1", test_msetiterator1 },
151 	    { "msetiterator2", test_msetiterator2 },
152 	    { "msetiterator3", test_msetiterator3 },
153 	    { "esetiterator1", test_esetiterator1 },
154 	    { "esetiterator2", test_esetiterator2 },
155 	    { "collapsekey1", test_collapsekey1 },
156 	    { "collapsekey2", test_collapsekey2 },
157 	    { "collapsekey3", test_collapsekey3 },
158 	    { "collapsekey4", test_collapsekey4 },
159 	    { "allterms1", test_allterms1 },
160 	    { "allterms2", test_allterms2 },
161 	    { "allterms3", test_allterms3 },
162 	    { "allterms4", test_allterms4 },
163 	    { "allterms5", test_allterms5 },
164 	    { "allterms6", test_allterms6 },
165 	    { "specialterms1", test_specialterms1 },
166 	    { "specialterms2", test_specialterms2 },
167 	    { "postlist1", test_postlist1 },
168 	    { "postlist2", test_postlist2 },
169 	    { "postlist3", test_postlist3 },
170 	    { "postlist4", test_postlist4 },
171 	    { "postlist5", test_postlist5 },
172 	    { "postlist6", test_postlist6 },
173 	    { "collfreq1", test_collfreq1 },
174 	    { "sortvalue1", test_sortvalue1 },
175 	    { "sortrel1", test_sortrel1 },
176 	    { "matchall1", test_matchall1 },
177 	    { "matchspy5", test_matchspy5 },
178 	    { "synonym1", test_synonym1 },
179 	    { "synonym2", test_synonym2 },
180 	    { "synonym3", test_synonym3 },
181 	    { "synonym4", test_synonym4 },
182 	    { "valuerange1", test_valuerange1 },
183 	    { "valuege1", test_valuege1 },
184 	    { "valuege2", test_valuege2 },
185 	    { "valuele1", test_valuele1 },
186 	    { "valuege4", test_valuege4 },
187 	    { "valuerange3", test_valuerange3 },
188 	    { "valuerange4", test_valuerange4 },
189 	    { "consistency3", test_consistency3 },
190 	    { "pctcutoff5", test_pctcutoff5 },
191 	    { "topercent4", test_topercent4 },
192 	    { "topercent5", test_topercent5 },
193 	    { "topercent6", test_topercent6 },
194 	    { "valueweightsource1", test_valueweightsource1 },
195 	    { "fixedweightsource1", test_fixedweightsource1 },
196 	    { "xor3", test_xor3 },
197 	    { "loosephrase1", test_loosephrase1 },
198 	    { "loosenear1", test_loosenear1 },
199 	    { "notandor1", test_notandor1 },
200 	    { "valuestream2", test_valuestream2 },
201 	    { "valuestream3", test_valuestream3 },
202 	    { "valuemapsource1", test_valuemapsource1 },
203 	    { "bm25weight4", test_bm25weight4 },
204 	    { "bm25weight5", test_bm25weight5 },
205 	    { 0, 0 }
206 	};
207 	result = max(result, test_driver::run(tests));
208     }
209     if (backend&&!inmemory&&!remote) {
210 	static const test_desc tests[] = {
211 	    { "stubdb1", test_stubdb1 },
212 	    { "stubdb2", test_stubdb2 },
213 	    { "stubdb3", test_stubdb3 },
214 	    { "stubdb4", test_stubdb4 },
215 	    { "stubdb5", test_stubdb5 },
216 	    { 0, 0 }
217 	};
218 	result = max(result, test_driver::run(tests));
219     }
220     if (backend&&!multi) {
221 	static const test_desc tests[] = {
222 	    { "multidb3", test_multidb3 },
223 	    { "multidb4", test_multidb4 },
224 	    { "multidb5", test_multidb5 },
225 	    { "rsetmultidb1", test_rsetmultidb1 },
226 	    { "rsetmultidb3", test_rsetmultidb3 },
227 	    { "uuid1", test_uuid1 },
228 	    { "rsetmultidb2", test_rsetmultidb2 },
229 	    { "multiexpand1", test_multiexpand1 },
230 	    { "valuestream1", test_valuestream1 },
231 	    { "valuemapsource2", test_valuemapsource2 },
232 	    { "decvalwtsource4", test_decvalwtsource4 },
233 	    { 0, 0 }
234 	};
235 	result = max(result, test_driver::run(tests));
236     }
237     if (backend&&!multi&&!remote) {
238 	static const test_desc tests[] = {
239 	    { "checkinitweight1", test_checkinitweight1 },
240 	    { 0, 0 }
241 	};
242 	result = max(result, test_driver::run(tests));
243     }
244     if (backend&&!remote) {
245 	static const test_desc tests[] = {
246 	    { "matchdecider1", test_matchdecider1 },
247 	    { "matchdecider2", test_matchdecider2 },
248 	    { "matchdecider3", test_matchdecider3 },
249 	    { "consistency1", test_consistency1 },
250 	    { "userweight1", test_userweight1 },
251 	    { "valuesetmatchdecider2", test_valuesetmatchdecider2 },
252 	    { "matchspy1", test_matchspy1 },
253 	    { "externalsource4", test_externalsource4 },
254 	    { "sortfunctor1", test_sortfunctor1 },
255 	    { "changesorter1", test_changesorter1 },
256 	    { "sortfunctorempty1", test_sortfunctorempty1 },
257 	    { "oldsortfunctor1", test_oldsortfunctor1 },
258 	    { "oldchangesorter1", test_oldchangesorter1 },
259 	    { "oldsortfunctorempty1", test_oldsortfunctorempty1 },
260 	    { "checkstatsweight1", test_checkstatsweight1 },
261 	    { 0, 0 }
262 	};
263 	result = max(result, test_driver::run(tests));
264     }
265     if (backend&&!remote&&!multi) {
266 	static const test_desc tests[] = {
267 	    { "pctcutoff4", test_pctcutoff4 },
268 	    { "externalsource1", test_externalsource1 },
269 	    { "externalsource3", test_externalsource3 },
270 	    { "changemaxweightsource1", test_changemaxweightsource1 },
271 	    { "emptyvalwtsource1", test_emptyvalwtsource1 },
272 	    { 0, 0 }
273 	};
274 	result = max(result, test_driver::run(tests));
275     }
276     if (brass||chert) {
277 	static const test_desc tests[] = {
278 	    { "lockfilealreadyopen1", test_lockfilealreadyopen1 },
279 	    { "dbfilefd012", test_dbfilefd012 },
280 	    { "compactempty1", test_compactempty1 },
281 	    { "compactmultipass1", test_compactmultipass1 },
282 	    { 0, 0 }
283 	};
284 	result = max(result, test_driver::run(tests));
285     }
286     if (brass||chert||flint) {
287 	static const test_desc tests[] = {
288 	    { "lockfileumask1", test_lockfileumask1 },
289 	    { "lockfilefd0or1", test_lockfilefd0or1 },
290 	    { "failedreplace1", test_failedreplace1 },
291 	    { "failedreplace2", test_failedreplace2 },
292 	    { "blocksize1", test_blocksize1 },
293 	    { "cursorbug1", test_cursorbug1 },
294 	    { "compactmerge1", test_compactmerge1 },
295 	    { "compactstub1", test_compactstub1 },
296 	    { "compactstub2", test_compactstub2 },
297 	    { "compactstub3", test_compactstub3 },
298 	    { "compactstub4", test_compactstub4 },
299 	    { "crashrecovery1", test_crashrecovery1 },
300 	    { "lazytablebug1", test_lazytablebug1 },
301 	    { "cursordelbug1", test_cursordelbug1 },
302 	    { 0, 0 }
303 	};
304 	result = max(result, test_driver::run(tests));
305     }
306     if (flint) {
307 	static const test_desc tests[] = {
308 	    { "flintdatabaseopeningerror1", test_flintdatabaseopeningerror1 },
309 	    { "flintdatabaseformaterror1", test_flintdatabaseformaterror1 },
310 	    { "flintdatabaseformaterror2", test_flintdatabaseformaterror2 },
311 	    { "flintdatabaseformaterror3", test_flintdatabaseformaterror3 },
312 	    { "flintbackwardcompat1", test_flintbackwardcompat1 },
313 	    { "flintbackwardcompat2", test_flintbackwardcompat2 },
314 	    { "flintdatabaseopen1", test_flintdatabaseopen1 },
315 	    { 0, 0 }
316 	};
317 	result = max(result, test_driver::run(tests));
318     }
319     if (generated) {
320 	static const test_desc tests[] = {
321 	    { "msize1", test_msize1 },
322 	    { "msize2", test_msize2 },
323 	    { "xordecay1", test_xordecay1 },
324 	    { "ordecay1", test_ordecay1 },
325 	    { "ordecay2", test_ordecay2 },
326 	    { "orcheck1", test_orcheck1 },
327 	    { "compactnorenumber1", test_compactnorenumber1 },
328 	    { "compactmultichunks1", test_compactmultichunks1 },
329 	    { "compactmissingtables1", test_compactmissingtables1 },
330 	    { "compactmergesynonym1", test_compactmergesynonym1 },
331 	    { "matchspy2", test_matchspy2 },
332 	    { "matchspy4", test_matchspy4 },
333 	    { "valuerange5", test_valuerange5 },
334 	    { "topercent7", test_topercent7 },
335 	    { 0, 0 }
336 	};
337 	result = max(result, test_driver::run(tests));
338     }
339     if (generated&&positional) {
340 	static const test_desc tests[] = {
341 	    { "phrasebug1", test_phrasebug1 },
342 	    { 0, 0 }
343 	};
344 	result = max(result, test_driver::run(tests));
345     }
346     if (inmemory) {
347 	static const test_desc tests[] = {
348 	    { "stubdb6", test_stubdb6 },
349 	    { 0, 0 }
350 	};
351 	result = max(result, test_driver::run(tests));
352     }
353     if (metadata) {
354 	static const test_desc tests[] = {
355 	    { "metadata3", test_metadata3 },
356 	    { 0, 0 }
357 	};
358 	result = max(result, test_driver::run(tests));
359     }
360     if (metadata&&!inmemory) {
361 	static const test_desc tests[] = {
362 	    { "metadata2", test_metadata2 },
363 	    { "metadata4", test_metadata4 },
364 	    { 0, 0 }
365 	};
366 	result = max(result, test_driver::run(tests));
367     }
368     if (positional) {
369 	static const test_desc tests[] = {
370 	    { "phrase3", test_phrase3 },
371 	    { "near1", test_near1 },
372 	    { "near2", test_near2 },
373 	    { "phrase1", test_phrase1 },
374 	    { "phrase2", test_phrase2 },
375 	    { "poslist1", test_poslist1 },
376 	    { "positfromtermit1", test_positfromtermit1 },
377 	    { 0, 0 }
378 	};
379 	result = max(result, test_driver::run(tests));
380     }
381     if (positional&&writable) {
382 	static const test_desc tests[] = {
383 	    { "poslist2", test_poslist2 },
384 	    { "poslist3", test_poslist3 },
385 	    { "poslistupdate1", test_poslistupdate1 },
386 	    { 0, 0 }
387 	};
388 	result = max(result, test_driver::run(tests));
389     }
390     if (remote) {
391 	static const test_desc tests[] = {
392 	    { "matchdecider4", test_matchdecider4 },
393 	    { "closedb6", test_closedb6 },
394 	    { "keepalive1", test_keepalive1 },
395 	    { "netstats1", test_netstats1 },
396 	    { "topercent3", test_topercent3 },
397 	    { "externalsource2", test_externalsource2 },
398 	    { "sortfunctorremote1", test_sortfunctorremote1 },
399 	    { 0, 0 }
400 	};
401 	result = max(result, test_driver::run(tests));
402     }
403     if (replicas) {
404 	static const test_desc tests[] = {
405 	    { "replicate1", test_replicate1 },
406 	    { "replicate2", test_replicate2 },
407 	    { "replicate3", test_replicate3 },
408 	    { "replicate4", test_replicate4 },
409 	    { "replicate5", test_replicate5 },
410 	    { "replicate6", test_replicate6 },
411 	    { 0, 0 }
412 	};
413 	result = max(result, test_driver::run(tests));
414     }
415     if (spelling) {
416 	static const test_desc tests[] = {
417 	    { "spell1", test_spell1 },
418 	    { "spell2", test_spell2 },
419 	    { "spell3", test_spell3 },
420 	    { "spell4", test_spell4 },
421 	    { "spell5", test_spell5 },
422 	    { "spell6", test_spell6 },
423 	    { "spell7", test_spell7 },
424 	    { "spell8", test_spell8 },
425 	    { 0, 0 }
426 	};
427 	result = max(result, test_driver::run(tests));
428     }
429     if (spelling||remote) {
430 	static const test_desc tests[] = {
431 	    { "spell0", test_spell0 },
432 	    { 0, 0 }
433 	};
434 	result = max(result, test_driver::run(tests));
435     }
436     if (synonyms) {
437 	static const test_desc tests[] = {
438 	    { "qpsynonympartial1", test_qpsynonympartial1 },
439 	    { 0, 0 }
440 	};
441 	result = max(result, test_driver::run(tests));
442     }
443     if (transactions) {
444 	static const test_desc tests[] = {
445 	    { "badtransaction1", test_badtransaction1 },
446 	    { "committransaction1", test_committransaction1 },
447 	    { "canceltransaction1", test_canceltransaction1 },
448 	    { "canceltransaction2", test_canceltransaction2 },
449 	    { 0, 0 }
450 	};
451 	result = max(result, test_driver::run(tests));
452     }
453     if (transactions&&!remote) {
454 	static const test_desc tests[] = {
455 	    { "closedb5", test_closedb5 },
456 	    { 0, 0 }
457 	};
458 	result = max(result, test_driver::run(tests));
459     }
460     if (transactions&&valuestats) {
461 	static const test_desc tests[] = {
462 	    { "valuestats2", test_valuestats2 },
463 	    { "valuestats4", test_valuestats4 },
464 	    { 0, 0 }
465 	};
466 	result = max(result, test_driver::run(tests));
467     }
468     if (valuestats) {
469 	static const test_desc tests[] = {
470 	    { "valueweightsource2", test_valueweightsource2 },
471 	    { "valuestats3", test_valuestats3 },
472 	    { 0, 0 }
473 	};
474 	result = max(result, test_driver::run(tests));
475     }
476     if (valuestats&&!multi) {
477 	static const test_desc tests[] = {
478 	    { "valueweightsource3", test_valueweightsource3 },
479 	    { 0, 0 }
480 	};
481 	result = max(result, test_driver::run(tests));
482     }
483     if (writable) {
484 	static const test_desc tests[] = {
485 	    { "alldocspl1", test_alldocspl1 },
486 	    { "alldocspl2", test_alldocspl2 },
487 	    { "totaldoclen1", test_totaldoclen1 },
488 	    { "modifiedpostlist1", test_modifiedpostlist1 },
489 	    { "doclenaftercommit1", test_doclenaftercommit1 },
490 	    { "valuesaftercommit1", test_valuesaftercommit1 },
491 	    { "replacedoc8", test_replacedoc8 },
492 	    { "closedb7", test_closedb7 },
493 	    { "metadata1", test_metadata1 },
494 	    { "metadata5", test_metadata5 },
495 	    { "valuerange2", test_valuerange2 },
496 	    { "modtermwdf1", test_modtermwdf1 },
497 	    { "bigoaddvalue1", test_bigoaddvalue1 },
498 	    { "serialise_document2", test_serialise_document2 },
499 	    { "decvalwtsource1", test_decvalwtsource1 },
500 	    { "decvalwtsource2", test_decvalwtsource2 },
501 	    { "decvalwtsource3", test_decvalwtsource3 },
502 	    { "decvalwtsource5", test_decvalwtsource5 },
503 	    { "adddoc1", test_adddoc1 },
504 	    { "adddoc2", test_adddoc2 },
505 	    { "adddoc3", test_adddoc3 },
506 	    { "adddoc4", test_adddoc4 },
507 	    { "adddoc5", test_adddoc5 },
508 	    { "adddoc6", test_adddoc6 },
509 	    { "implicitendsession1", test_implicitendsession1 },
510 	    { "databaseassign1", test_databaseassign1 },
511 	    { "deldoc1", test_deldoc1 },
512 	    { "deldoc2", test_deldoc2 },
513 	    { "deldoc3", test_deldoc3 },
514 	    { "deldoc4", test_deldoc4 },
515 	    { "deldoc5", test_deldoc5 },
516 	    { "deldoc6", test_deldoc6 },
517 	    { "replacedoc1", test_replacedoc1 },
518 	    { "replacedoc2", test_replacedoc2 },
519 	    { "replacedoc3", test_replacedoc3 },
520 	    { "replacedoc4", test_replacedoc4 },
521 	    { "replacedoc5", test_replacedoc5 },
522 	    { "replacedoc6", test_replacedoc6 },
523 	    { "uniqueterm1", test_uniqueterm1 },
524 	    { "allpostlist2", test_allpostlist2 },
525 	    { "emptyterm2", test_emptyterm2 },
526 	    { "phraseorneartoand1", test_phraseorneartoand1 },
527 	    { "longpositionlist1", test_longpositionlist1 },
528 	    { "consistency2", test_consistency2 },
529 	    { "nomoredocids1", test_nomoredocids1 },
530 	    { "termtoolong1", test_termtoolong1 },
531 	    { "postlist7", test_postlist7 },
532 	    { "modifyvalues1", test_modifyvalues1 },
533 	    { 0, 0 }
534 	};
535 	result = max(result, test_driver::run(tests));
536     }
537     if (writable&&!inmemory) {
538 	static const test_desc tests[] = {
539 	    { "qpmemoryleak1", test_qpmemoryleak1 },
540 	    { "closedb4", test_closedb4 },
541 	    { 0, 0 }
542 	};
543 	result = max(result, test_driver::run(tests));
544     }
545     if (writable&&!inmemory&&!remote) {
546 	static const test_desc tests[] = {
547 	    { "replacedoc7", test_replacedoc7 },
548 	    { "databasemodified1", test_databasemodified1 },
549 	    { "closedb2", test_closedb2 },
550 	    { 0, 0 }
551 	};
552 	result = max(result, test_driver::run(tests));
553     }
554     if (writable&&!remote) {
555 	static const test_desc tests[] = {
556 	    { "sortfunctor2", test_sortfunctor2 },
557 	    { "oldsortfunctor2", test_oldsortfunctor2 },
558 	    { 0, 0 }
559 	};
560 	result = max(result, test_driver::run(tests));
561     }
562     if (writable&&metadata) {
563 	static const test_desc tests[] = {
564 	    { "closedb10", test_closedb10 },
565 	    { "writeread1", test_writeread1 },
566 	    { 0, 0 }
567 	};
568 	result = max(result, test_driver::run(tests));
569     }
570     if (writable&&spelling) {
571 	static const test_desc tests[] = {
572 	    { "closedb8", test_closedb8 },
573 	    { 0, 0 }
574 	};
575 	result = max(result, test_driver::run(tests));
576     }
577     if (writable&&synonyms) {
578 	static const test_desc tests[] = {
579 	    { "closedb9", test_closedb9 },
580 	    { "synonymitor1", test_synonymitor1 },
581 	    { 0, 0 }
582 	};
583 	result = max(result, test_driver::run(tests));
584     }
585     if (writable&&valuestats) {
586 	static const test_desc tests[] = {
587 	    { "valuestats1", test_valuestats1 },
588 	    { "valueweightsource5", test_valueweightsource5 },
589 	    { 0, 0 }
590 	};
591 	result = max(result, test_driver::run(tests));
592     }
593