예제 #1
0
 protected function setUp()
 {
     parent::setUp();
     $this->called['setUp'] = true;
     $this->phpErrorLevel = intval(ini_get('error_reporting'));
     // Cleaning up temporary files
     foreach ($this->tmpFiles as $fileName) {
         if (is_file($fileName) || is_link($fileName)) {
             unlink($fileName);
         } elseif (is_dir($fileName)) {
             wfRecursiveRemoveDir($fileName);
         }
     }
     if ($this->needsDB() && $this->db) {
         // Clean up open transactions
         while ($this->db->trxLevel() > 0) {
             $this->db->rollback(__METHOD__, 'flush');
         }
         // Check for unsafe queries
         if ($this->db->getType() === 'mysql') {
             $this->db->query("SET sql_mode = 'STRICT_ALL_TABLES'");
         }
     }
     DeferredUpdates::clearPendingUpdates();
     ObjectCache::getMainWANInstance()->clearProcessCache();
     // XXX: reset maintenance triggers
     // Hook into period lag checks which often happen in long-running scripts
     $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
     Maintenance::setLBFactoryTriggers($lbFactory);
     ob_start('MediaWikiTestCase::wfResetOutputBuffersBarrier');
 }