tests: stop updating the search engine
authorAntoine Musso <hashar@free.fr>
Fri, 4 Nov 2016 16:38:43 +0000 (17:38 +0100)
committerAntoine Musso <hashar@free.fr>
Fri, 4 Nov 2016 16:38:43 +0000 (17:38 +0100)
While running includes/api tests, profiling reports tests are doing
hundred of inserts followed by hundred of matching deletes. That is due
to the search engine updates.

For almost all tests, there is no need to update the search engine, that
is a waste of I/O and CPU cycles.

Speed up the run by using 'SearchEngineDummy'.

Our search tests still pass since they take care of setting up a search
engine.

Change-Id: Ic10e989e27fd3901ea215f544a0490baef57f0a4

tests/common/TestSetup.php

index 6c3ad07..53e724b 100644 (file)
@@ -15,6 +15,7 @@ class TestSetup {
                global $wgMainStash;
                global $wgLanguageConverterCacheType, $wgUseDatabaseMessages;
                global $wgLocaltimezone, $wgLocalisationCacheConf;
+               global $wgSearchType;
                global $wgDevelopmentWarnings;
                global $wgSessionProviders, $wgSessionPbkdf2Iterations;
                global $wgJobTypeConf;
@@ -50,6 +51,9 @@ class TestSetup {
 
                $wgLocalisationCacheConf['storeClass'] = 'LCStoreNull';
 
+               // Do not bother updating search tables
+               $wgSearchType = 'SearchEngineDummy';
+
                // Generic MediaWiki\Session\SessionManager configuration for tests
                // We use CookieSessionProvider because things might be expecting
                // cookies to show up in a FauxRequest somewhere.