protected function tearDown() { wfProfileIn(__METHOD__); // Cleaning up temporary files foreach ($this->tmpfiles as $fname) { if (is_file($fname) || is_link($fname)) { unlink($fname); } elseif (is_dir($fname)) { wfRecursiveRemoveDir($fname); } } if ($this->needsDB() && $this->db) { // Clean up open transactions while ($this->db->trxLevel() > 0) { $this->db->rollback(); } // don't ignore DB errors $this->db->ignoreErrors(false); } // Restore mw globals foreach ($this->mwGlobals as $key => $value) { $GLOBALS[$key] = $value; } $this->mwGlobals = array(); $phpErrorLevel = intval(ini_get('error_reporting')); if ($phpErrorLevel !== $this->phpErrorLevel) { ini_set('error_reporting', $this->phpErrorLevel); $oldHex = strtoupper(dechex($this->phpErrorLevel)); $newHex = strtoupper(dechex($phpErrorLevel)); $message = "PHP error_reporting setting was left dirty: was 0x{$oldHex} before test, 0x{$newHex} after test!"; $this->fail($message); } parent::tearDown(); wfProfileOut(__METHOD__); }
protected function tearDown() { wfProfileIn(__METHOD__); // Cleaning up temporary files foreach ($this->tmpfiles as $fname) { if (is_file($fname) || is_link($fname)) { unlink($fname); } elseif (is_dir($fname)) { wfRecursiveRemoveDir($fname); } } if ($this->needsDB() && $this->db) { // Clean up open transactions while ($this->db->trxLevel() > 0) { $this->db->rollback(); } // don't ignore DB errors $this->db->ignoreErrors(false); } // Restore mw globals foreach ($this->mwGlobals as $key => $value) { $GLOBALS[$key] = $value; } $this->mwGlobals = array(); parent::tearDown(); wfProfileOut(__METHOD__); }
public function startWrite($code) { if ($this->readOnly) { return; } if (!$code) { throw new MWException(__METHOD__ . ": Invalid language \"{$code}\""); } $this->dbw = wfGetDB(DB_MASTER); try { $this->dbw->begin(__METHOD__); $this->dbw->delete('l10n_cache', array('lc_lang' => $code), __METHOD__); } catch (DBQueryError $e) { if ($this->dbw->wasReadOnlyError()) { $this->readOnly = true; $this->dbw->rollback(__METHOD__); $this->dbw->ignoreErrors(false); return; } else { throw $e; } } $this->currentLang = $code; $this->batch = array(); }