00001
00002
00003 if (!backend) {
00004 static const test_desc tests[] = {
00005 { "defaultctor1", test_defaultctor1 },
00006 { "copyassign1", test_copyassign1 },
00007 { "matchspy6", test_matchspy6 },
00008 { "trivial1", test_trivial1 },
00009 { "getqterms1", test_getqterms1 },
00010 { "getqterms2", test_getqterms2 },
00011 { "emptyquery2", test_emptyquery2 },
00012 { "emptyquery3", test_emptyquery3 },
00013 { "querylen1", test_querylen1 },
00014 { "querylen2", test_querylen2 },
00015 { "queryvalid1", test_queryvalid1 },
00016 { "subqcollapse1", test_subqcollapse1 },
00017 { "emptyquerypart1", test_emptyquerypart1 },
00018 { "singlesubq1", test_singlesubq1 },
00019 { "stemlangs1", test_stemlangs1 },
00020 { "weight1", test_weight1 },
00021 { "nosuchdb1", test_nosuchdb1 },
00022 { "addvalue1", test_addvalue1 },
00023 { "poscollapse2", test_poscollapse2 },
00024 { "uninitdb1", test_uninitdb1 },
00025 { "scaleweight3", test_scaleweight3 },
00026 { "scaleweight4", test_scaleweight4 },
00027 { "rset3", test_rset3 },
00028 { "rset4", test_rset4 },
00029 { "valuesetmatchdecider1", test_valuesetmatchdecider1 },
00030 { "emptymset1", test_emptymset1 },
00031 { "nosubdatabases1", test_nosubdatabases1 },
00032 { "document1", test_document1 },
00033 { "document2", test_document2 },
00034 { "valuege3", test_valuege3 },
00035 { "queryterms1", test_queryterms1 },
00036 { "matchnothing1", test_matchnothing1 },
00037 { "nearsubqueries1", test_nearsubqueries1 },
00038 { "serialise_document1", test_serialise_document1 },
00039 { "serialise_query1", test_serialise_query1 },
00040 { "serialise_query2", test_serialise_query2 },
00041 { "serialise_query3", test_serialise_query3 },
00042 { "serialise_query4", test_serialise_query4 },
00043 { "double_register_leak", test_double_register_leak },
00044 { "registry1", test_registry1 },
00045 { "registry2", test_registry2 },
00046 { "registry3", test_registry3 },
00047 { "multivaluekeymaker1", test_multivaluekeymaker1 },
00048 { "stem1", test_stem1 },
00049 { "stem2", test_stem2 },
00050 { "stemlangs2", test_stemlangs2 },
00051 { "utf8iterator1", test_utf8iterator1 },
00052 { "utf8iterator2", test_utf8iterator2 },
00053 { "unicode1", test_unicode1 },
00054 { "caseconvert1", test_caseconvert1 },
00055 { "caseconvert2", test_caseconvert2 },
00056 { "utf8convert1", test_utf8convert1 },
00057 { "unicodepredicates1", test_unicodepredicates1 },
00058 { "valuestats5", test_valuestats5 },
00059 { "fixedweightsource2", test_fixedweightsource2 },
00060 { 0, 0 }
00061 };
00062 result = max(result, test_driver::run(tests));
00063 }
00064 if (backend) {
00065 static const test_desc tests[] = {
00066 { "zerodocid1", test_zerodocid1 },
00067 { "emptyquery1", test_emptyquery1 },
00068 { "simplequery1", test_simplequery1 },
00069 { "simplequery2", test_simplequery2 },
00070 { "simplequery3", test_simplequery3 },
00071 { "wildquery1", test_wildquery1 },
00072 { "multidb1", test_multidb1 },
00073 { "msetmaxitems1", test_msetmaxitems1 },
00074 { "expandweights1", test_expandweights1 },
00075 { "expandweights2", test_expandweights2 },
00076 { "expandweights3", test_expandweights3 },
00077 { "expandweights4", test_expandweights4 },
00078 { "expandmaxitems1", test_expandmaxitems1 },
00079 { "boolquery1", test_boolquery1 },
00080 { "msetfirst1", test_msetfirst1 },
00081 { "topercent1", test_topercent1 },
00082 { "topercent2", test_topercent2 },
00083 { "expandfunctor1", test_expandfunctor1 },
00084 { "pctcutoff1", test_pctcutoff1 },
00085 { "pctcutoff2", test_pctcutoff2 },
00086 { "pctcutoff3", test_pctcutoff3 },
00087 { "cutoff1", test_cutoff1 },
00088 { "allowqterms1", test_allowqterms1 },
00089 { "maxattain1", test_maxattain1 },
00090 { "reversebool1", test_reversebool1 },
00091 { "reversebool2", test_reversebool2 },
00092 { "getmterms1", test_getmterms1 },
00093 { "getmterms2", test_getmterms2 },
00094 { "poscollapse1", test_poscollapse1 },
00095 { "repeatquery1", test_repeatquery1 },
00096 { "fetchdocs1", test_fetchdocs1 },
00097 { "absentterm1", test_absentterm1 },
00098 { "absentterm2", test_absentterm2 },
00099 { "rset1", test_rset1 },
00100 { "rset2", test_rset2 },
00101 { "eliteset1", test_eliteset1 },
00102 { "eliteset2", test_eliteset2 },
00103 { "eliteset3", test_eliteset3 },
00104 { "eliteset4", test_eliteset4 },
00105 { "eliteset5", test_eliteset5 },
00106 { "termlisttermfreq1", test_termlisttermfreq1 },
00107 { "qterminfo1", test_qterminfo1 },
00108 { "qterminfo2", test_qterminfo2 },
00109 { "msetzeroitems1", test_msetzeroitems1 },
00110 { "matches1", test_matches1 },
00111 { "wqf1", test_wqf1 },
00112 { "qlen1", test_qlen1 },
00113 { "termlist1", test_termlist1 },
00114 { "termlist2", test_termlist2 },
00115 { "termlist3", test_termlist3 },
00116 { "termlist4", test_termlist4 },
00117 { "puncterms1", test_puncterms1 },
00118 { "spaceterms1", test_spaceterms1 },
00119 { "xor1", test_xor1 },
00120 { "xor2", test_xor2 },
00121 { "getdoc1", test_getdoc1 },
00122 { "emptyop1", test_emptyop1 },
00123 { "checkatleast1", test_checkatleast1 },
00124 { "checkatleast2", test_checkatleast2 },
00125 { "checkatleast3", test_checkatleast3 },
00126 { "allpostlist1", test_allpostlist1 },
00127 { "emptyterm1", test_emptyterm1 },
00128 { "scaleweight1", test_scaleweight1 },
00129 { "scaleweight2", test_scaleweight2 },
00130 { "bm25weight1", test_bm25weight1 },
00131 { "tradweight1", test_tradweight1 },
00132 { "dbstats1", test_dbstats1 },
00133 { "alldocspl3", test_alldocspl3 },
00134 { "msetfirst2", test_msetfirst2 },
00135 { "bm25weight2", test_bm25weight2 },
00136 { "tradweight2", test_tradweight2 },
00137 { "emptydb1", test_emptydb1 },
00138 { "closedb1", test_closedb1 },
00139 { "closedb3", test_closedb3 },
00140 { "collapsekey5", test_collapsekey5 },
00141 { "termstats", test_termstats },
00142 { "msetiterator1", test_msetiterator1 },
00143 { "msetiterator2", test_msetiterator2 },
00144 { "msetiterator3", test_msetiterator3 },
00145 { "esetiterator1", test_esetiterator1 },
00146 { "esetiterator2", test_esetiterator2 },
00147 { "collapsekey1", test_collapsekey1 },
00148 { "collapsekey2", test_collapsekey2 },
00149 { "collapsekey3", test_collapsekey3 },
00150 { "collapsekey4", test_collapsekey4 },
00151 { "allterms1", test_allterms1 },
00152 { "allterms2", test_allterms2 },
00153 { "allterms3", test_allterms3 },
00154 { "allterms4", test_allterms4 },
00155 { "allterms5", test_allterms5 },
00156 { "allterms6", test_allterms6 },
00157 { "specialterms1", test_specialterms1 },
00158 { "specialterms2", test_specialterms2 },
00159 { "postlist1", test_postlist1 },
00160 { "postlist2", test_postlist2 },
00161 { "postlist3", test_postlist3 },
00162 { "postlist4", test_postlist4 },
00163 { "postlist5", test_postlist5 },
00164 { "postlist6", test_postlist6 },
00165 { "collfreq1", test_collfreq1 },
00166 { "sortvalue1", test_sortvalue1 },
00167 { "sortrel1", test_sortrel1 },
00168 { "matchall1", test_matchall1 },
00169 { "matchspy5", test_matchspy5 },
00170 { "synonym1", test_synonym1 },
00171 { "synonym2", test_synonym2 },
00172 { "synonym3", test_synonym3 },
00173 { "synonym4", test_synonym4 },
00174 { "valuerange1", test_valuerange1 },
00175 { "valuege1", test_valuege1 },
00176 { "valuege2", test_valuege2 },
00177 { "valuele1", test_valuele1 },
00178 { "valuege4", test_valuege4 },
00179 { "valuerange3", test_valuerange3 },
00180 { "valuerange4", test_valuerange4 },
00181 { "consistency3", test_consistency3 },
00182 { "pctcutoff5", test_pctcutoff5 },
00183 { "topercent4", test_topercent4 },
00184 { "topercent5", test_topercent5 },
00185 { "valueweightsource1", test_valueweightsource1 },
00186 { "fixedweightsource1", test_fixedweightsource1 },
00187 { "valuestream2", test_valuestream2 },
00188 { "valuestream3", test_valuestream3 },
00189 { "valuemapsource1", test_valuemapsource1 },
00190 { 0, 0 }
00191 };
00192 result = max(result, test_driver::run(tests));
00193 }
00194 if (backend&&!inmemory&&!remote) {
00195 static const test_desc tests[] = {
00196 { "stubdb1", test_stubdb1 },
00197 { "stubdb2", test_stubdb2 },
00198 { "stubdb3", test_stubdb3 },
00199 { "stubdb4", test_stubdb4 },
00200 { "stubdb5", test_stubdb5 },
00201 { 0, 0 }
00202 };
00203 result = max(result, test_driver::run(tests));
00204 }
00205 if (backend&&!multi) {
00206 static const test_desc tests[] = {
00207 { "multidb2", test_multidb2 },
00208 { "multidb3", test_multidb3 },
00209 { "multidb4", test_multidb4 },
00210 { "multidb5", test_multidb5 },
00211 { "rsetmultidb1", test_rsetmultidb1 },
00212 { "rsetmultidb3", test_rsetmultidb3 },
00213 { "uuid1", test_uuid1 },
00214 { "rsetmultidb2", test_rsetmultidb2 },
00215 { "multiexpand1", test_multiexpand1 },
00216 { "valuestream1", test_valuestream1 },
00217 { "valuemapsource2", test_valuemapsource2 },
00218 { "decvalwtsource4", test_decvalwtsource4 },
00219 { 0, 0 }
00220 };
00221 result = max(result, test_driver::run(tests));
00222 }
00223 if (backend&&!remote) {
00224 static const test_desc tests[] = {
00225 { "matchdecider1", test_matchdecider1 },
00226 { "matchdecider2", test_matchdecider2 },
00227 { "matchdecider3", test_matchdecider3 },
00228 { "consistency1", test_consistency1 },
00229 { "userweight1", test_userweight1 },
00230 { "valuesetmatchdecider2", test_valuesetmatchdecider2 },
00231 { "matchspy1", test_matchspy1 },
00232 { "externalsource4", test_externalsource4 },
00233 { "sortfunctor1", test_sortfunctor1 },
00234 { "changesorter1", test_changesorter1 },
00235 { "sortfunctorempty1", test_sortfunctorempty1 },
00236 { "oldsortfunctor1", test_oldsortfunctor1 },
00237 { "oldchangesorter1", test_oldchangesorter1 },
00238 { "oldsortfunctorempty1", test_oldsortfunctorempty1 },
00239 { 0, 0 }
00240 };
00241 result = max(result, test_driver::run(tests));
00242 }
00243 if (backend&&!remote&&!multi) {
00244 static const test_desc tests[] = {
00245 { "pctcutoff4", test_pctcutoff4 },
00246 { "externalsource1", test_externalsource1 },
00247 { "externalsource3", test_externalsource3 },
00248 { "changemaxweightsource1", test_changemaxweightsource1 },
00249 { "emptyvalwtsource1", test_emptyvalwtsource1 },
00250 { 0, 0 }
00251 };
00252 result = max(result, test_driver::run(tests));
00253 }
00254 if (brass||chert||flint) {
00255 static const test_desc tests[] = {
00256 { "lockfileumask1", test_lockfileumask1 },
00257 { "lockfilefd0or1", test_lockfilefd0or1 },
00258 { "failedreplace1", test_failedreplace1 },
00259 { "failedreplace2", test_failedreplace2 },
00260 { "compactmerge1", test_compactmerge1 },
00261 { "compactstub1", test_compactstub1 },
00262 { "compactstub2", test_compactstub2 },
00263 { "compactstub3", test_compactstub3 },
00264 { "compactstub4", test_compactstub4 },
00265 { "crashrecovery1", test_crashrecovery1 },
00266 { "lazytablebug1", test_lazytablebug1 },
00267 { "cursordelbug1", test_cursordelbug1 },
00268 { 0, 0 }
00269 };
00270 result = max(result, test_driver::run(tests));
00271 }
00272 if (flint) {
00273 static const test_desc tests[] = {
00274 { "flintdatabaseopeningerror1", test_flintdatabaseopeningerror1 },
00275 { "flintdatabaseformaterror1", test_flintdatabaseformaterror1 },
00276 { "flintdatabaseformaterror2", test_flintdatabaseformaterror2 },
00277 { "flintdatabaseformaterror3", test_flintdatabaseformaterror3 },
00278 { "flintbackwardcompat1", test_flintbackwardcompat1 },
00279 { "flintbackwardcompat2", test_flintbackwardcompat2 },
00280 { "flintdatabaseopen1", test_flintdatabaseopen1 },
00281 { 0, 0 }
00282 };
00283 result = max(result, test_driver::run(tests));
00284 }
00285 if (generated) {
00286 static const test_desc tests[] = {
00287 { "msize1", test_msize1 },
00288 { "msize2", test_msize2 },
00289 { "xordecay1", test_xordecay1 },
00290 { "ordecay1", test_ordecay1 },
00291 { "ordecay2", test_ordecay2 },
00292 { "orcheck1", test_orcheck1 },
00293 { "compactnorenumber1", test_compactnorenumber1 },
00294 { "compactmultichunks1", test_compactmultichunks1 },
00295 { "compactmissingtables1", test_compactmissingtables1 },
00296 { "valuerange5", test_valuerange5 },
00297 { 0, 0 }
00298 };
00299 result = max(result, test_driver::run(tests));
00300 }
00301 if (inmemory) {
00302 static const test_desc tests[] = {
00303 { "stubdb6", test_stubdb6 },
00304 { 0, 0 }
00305 };
00306 result = max(result, test_driver::run(tests));
00307 }
00308 if (metadata) {
00309 static const test_desc tests[] = {
00310 { "metadata3", test_metadata3 },
00311 { 0, 0 }
00312 };
00313 result = max(result, test_driver::run(tests));
00314 }
00315 if (metadata&&!inmemory) {
00316 static const test_desc tests[] = {
00317 { "metadata2", test_metadata2 },
00318 { "metadata4", test_metadata4 },
00319 { 0, 0 }
00320 };
00321 result = max(result, test_driver::run(tests));
00322 }
00323 if (positional) {
00324 static const test_desc tests[] = {
00325 { "phrase3", test_phrase3 },
00326 { "near1", test_near1 },
00327 { "near2", test_near2 },
00328 { "phrase1", test_phrase1 },
00329 { "phrase2", test_phrase2 },
00330 { "poslist1", test_poslist1 },
00331 { "positfromtermit1", test_positfromtermit1 },
00332 { 0, 0 }
00333 };
00334 result = max(result, test_driver::run(tests));
00335 }
00336 if (positional&&writable) {
00337 static const test_desc tests[] = {
00338 { "poslist2", test_poslist2 },
00339 { "poslist3", test_poslist3 },
00340 { "poslistupdate1", test_poslistupdate1 },
00341 { 0, 0 }
00342 };
00343 result = max(result, test_driver::run(tests));
00344 }
00345 if (remote) {
00346 static const test_desc tests[] = {
00347 { "matchdecider4", test_matchdecider4 },
00348 { "keepalive1", test_keepalive1 },
00349 { "netstats1", test_netstats1 },
00350 { "topercent3", test_topercent3 },
00351 { "externalsource2", test_externalsource2 },
00352 { "sortfunctorremote1", test_sortfunctorremote1 },
00353 { 0, 0 }
00354 };
00355 result = max(result, test_driver::run(tests));
00356 }
00357 if (replicas) {
00358 static const test_desc tests[] = {
00359 { "replicate1", test_replicate1 },
00360 { "replicate2", test_replicate2 },
00361 { "replicate3", test_replicate3 },
00362 { "replicate4", test_replicate4 },
00363 { "replicate5", test_replicate5 },
00364 { 0, 0 }
00365 };
00366 result = max(result, test_driver::run(tests));
00367 }
00368 if (spelling) {
00369 static const test_desc tests[] = {
00370 { "spell1", test_spell1 },
00371 { "spell2", test_spell2 },
00372 { "spell3", test_spell3 },
00373 { "spell4", test_spell4 },
00374 { "spell5", test_spell5 },
00375 { "spell6", test_spell6 },
00376 { "spell7", test_spell7 },
00377 { "spell8", test_spell8 },
00378 { 0, 0 }
00379 };
00380 result = max(result, test_driver::run(tests));
00381 }
00382 if (spelling||remote) {
00383 static const test_desc tests[] = {
00384 { "spell0", test_spell0 },
00385 { 0, 0 }
00386 };
00387 result = max(result, test_driver::run(tests));
00388 }
00389 if (synonyms) {
00390 static const test_desc tests[] = {
00391 { "qpsynonympartial1", test_qpsynonympartial1 },
00392 { 0, 0 }
00393 };
00394 result = max(result, test_driver::run(tests));
00395 }
00396 if (transactions) {
00397 static const test_desc tests[] = {
00398 { "badtransaction1", test_badtransaction1 },
00399 { "committransaction1", test_committransaction1 },
00400 { "canceltransaction1", test_canceltransaction1 },
00401 { "canceltransaction2", test_canceltransaction2 },
00402 { 0, 0 }
00403 };
00404 result = max(result, test_driver::run(tests));
00405 }
00406 if (transactions&&!remote) {
00407 static const test_desc tests[] = {
00408 { "closedb5", test_closedb5 },
00409 { 0, 0 }
00410 };
00411 result = max(result, test_driver::run(tests));
00412 }
00413 if (transactions&&valuestats) {
00414 static const test_desc tests[] = {
00415 { "valuestats2", test_valuestats2 },
00416 { "valuestats4", test_valuestats4 },
00417 { 0, 0 }
00418 };
00419 result = max(result, test_driver::run(tests));
00420 }
00421 if (valuestats) {
00422 static const test_desc tests[] = {
00423 { "valueweightsource2", test_valueweightsource2 },
00424 { "valuestats3", test_valuestats3 },
00425 { 0, 0 }
00426 };
00427 result = max(result, test_driver::run(tests));
00428 }
00429 if (valuestats&&!multi) {
00430 static const test_desc tests[] = {
00431 { "valueweightsource3", test_valueweightsource3 },
00432 { 0, 0 }
00433 };
00434 result = max(result, test_driver::run(tests));
00435 }
00436 if (writable) {
00437 static const test_desc tests[] = {
00438 { "alldocspl1", test_alldocspl1 },
00439 { "alldocspl2", test_alldocspl2 },
00440 { "totaldoclen1", test_totaldoclen1 },
00441 { "modifiedpostlist1", test_modifiedpostlist1 },
00442 { "doclenaftercommit1", test_doclenaftercommit1 },
00443 { "valuesaftercommit1", test_valuesaftercommit1 },
00444 { "replacedoc8", test_replacedoc8 },
00445 { "matchspy2", test_matchspy2 },
00446 { "matchspy4", test_matchspy4 },
00447 { "metadata1", test_metadata1 },
00448 { "metadata5", test_metadata5 },
00449 { "valuerange2", test_valuerange2 },
00450 { "modtermwdf1", test_modtermwdf1 },
00451 { "bigoaddvalue1", test_bigoaddvalue1 },
00452 { "serialise_document2", test_serialise_document2 },
00453 { "decvalwtsource1", test_decvalwtsource1 },
00454 { "decvalwtsource2", test_decvalwtsource2 },
00455 { "decvalwtsource3", test_decvalwtsource3 },
00456 { "decvalwtsource5", test_decvalwtsource5 },
00457 { "adddoc1", test_adddoc1 },
00458 { "adddoc2", test_adddoc2 },
00459 { "adddoc3", test_adddoc3 },
00460 { "adddoc4", test_adddoc4 },
00461 { "adddoc5", test_adddoc5 },
00462 { "adddoc6", test_adddoc6 },
00463 { "implicitendsession1", test_implicitendsession1 },
00464 { "databaseassign1", test_databaseassign1 },
00465 { "deldoc1", test_deldoc1 },
00466 { "deldoc2", test_deldoc2 },
00467 { "deldoc3", test_deldoc3 },
00468 { "deldoc4", test_deldoc4 },
00469 { "deldoc5", test_deldoc5 },
00470 { "deldoc6", test_deldoc6 },
00471 { "replacedoc1", test_replacedoc1 },
00472 { "replacedoc2", test_replacedoc2 },
00473 { "replacedoc3", test_replacedoc3 },
00474 { "replacedoc4", test_replacedoc4 },
00475 { "replacedoc5", test_replacedoc5 },
00476 { "replacedoc6", test_replacedoc6 },
00477 { "uniqueterm1", test_uniqueterm1 },
00478 { "allpostlist2", test_allpostlist2 },
00479 { "emptyterm2", test_emptyterm2 },
00480 { "phraseorneartoand1", test_phraseorneartoand1 },
00481 { "longpositionlist1", test_longpositionlist1 },
00482 { "consistency2", test_consistency2 },
00483 { "nomoredocids1", test_nomoredocids1 },
00484 { "termtoolong1", test_termtoolong1 },
00485 { "postlist7", test_postlist7 },
00486 { "modifyvalues1", test_modifyvalues1 },
00487 { 0, 0 }
00488 };
00489 result = max(result, test_driver::run(tests));
00490 }
00491 if (writable&&!inmemory) {
00492 static const test_desc tests[] = {
00493 { "qpmemoryleak1", test_qpmemoryleak1 },
00494 { "closedb4", test_closedb4 },
00495 { 0, 0 }
00496 };
00497 result = max(result, test_driver::run(tests));
00498 }
00499 if (writable&&!inmemory&&!remote) {
00500 static const test_desc tests[] = {
00501 { "replacedoc7", test_replacedoc7 },
00502 { "databasemodified1", test_databasemodified1 },
00503 { "closedb2", test_closedb2 },
00504 { 0, 0 }
00505 };
00506 result = max(result, test_driver::run(tests));
00507 }
00508 if (writable&&!remote) {
00509 static const test_desc tests[] = {
00510 { "sortfunctor2", test_sortfunctor2 },
00511 { "oldsortfunctor2", test_oldsortfunctor2 },
00512 { 0, 0 }
00513 };
00514 result = max(result, test_driver::run(tests));
00515 }
00516 if (writable&&metadata) {
00517 static const test_desc tests[] = {
00518 { "writeread1", test_writeread1 },
00519 { 0, 0 }
00520 };
00521 result = max(result, test_driver::run(tests));
00522 }
00523 if (writable&&synonyms) {
00524 static const test_desc tests[] = {
00525 { "synonymitor1", test_synonymitor1 },
00526 { 0, 0 }
00527 };
00528 result = max(result, test_driver::run(tests));
00529 }
00530 if (writable&&valuestats) {
00531 static const test_desc tests[] = {
00532 { "valuestats1", test_valuestats1 },
00533 { "valueweightsource5", test_valueweightsource5 },
00534 { 0, 0 }
00535 };
00536 result = max(result, test_driver::run(tests));
00537 }