Esempio n. 1
0
 /**
  * @note This method is intended for testing purposes
  * @param bool $value Whether to *always* defer updates, even in CLI mode
  * @since 1.27
  */
 public static function forceDeferral($value)
 {
     self::$forceDeferral = $value;
 }
Esempio n. 2
0
 public function testAsyncWrites()
 {
     $be = TestingAccessWrapper::newFromObject(new FileBackendMultiWrite(array('name' => 'localtesting', 'wikiId' => wfWikiId() . mt_rand(), 'backends' => array(array('name' => 'multitesting0', 'class' => 'MemoryFileBackend', 'isMultiMaster' => false), array('name' => 'multitesting1', 'class' => 'MemoryFileBackend', 'isMultiMaster' => true)), 'replication' => 'async')));
     DeferredUpdates::forceDeferral(true);
     $p = 'container/test-cont/file.txt';
     $be->quickCreate(array('dst' => "mwstore://localtesting/{$p}", 'content' => 'cattitude'));
     $this->assertEquals(false, $be->backends[0]->getFileContents(array('src' => "mwstore://multitesting0/{$p}")), "File not yet written to backend 0");
     $this->assertEquals('cattitude', $be->backends[1]->getFileContents(array('src' => "mwstore://multitesting1/{$p}")), "File already written to backend 1");
     DeferredUpdates::doUpdates();
     DeferredUpdates::forceDeferral(false);
     $this->assertEquals('cattitude', $be->backends[0]->getFileContents(array('src' => "mwstore://multitesting0/{$p}")), "File now written to backend 0");
 }