X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fparser%2FDbTestPreviewer.php;h=784c29cf4bbac916bcd43f71875a6c20b11d412e;hb=0740af7ae06187ca257eed391215fe7a26d41e9e;hp=24122549731f7c8d95a4b52f1dc33ac01537dd91;hpb=c254d768600cefdc000c19b0625f34a537f4b31e;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/parser/DbTestPreviewer.php b/tests/parser/DbTestPreviewer.php index 2412254973..784c29cf4b 100644 --- a/tests/parser/DbTestPreviewer.php +++ b/tests/parser/DbTestPreviewer.php @@ -20,6 +20,7 @@ */ class DbTestPreviewer extends TestRecorder { + protected $filter; // /< Test name filter callback protected $lb; // /< Database load balancer protected $db; // /< Database connection to the main DB protected $curRun; // /< run ID number for the current run @@ -28,14 +29,10 @@ class DbTestPreviewer extends TestRecorder { /** * This should be called before the table prefix is changed - * @param TestRecorder $parent */ - function __construct( $parent ) { - parent::__construct( $parent ); - - $this->lb = wfGetLBFactory()->newMainLB(); - // This connection will have the wiki's table prefix, not parsertest_ - $this->db = $this->lb->getConnection( DB_MASTER ); + function __construct( $db, $filter = false ) { + $this->db = $db; + $this->filter = $filter; } /** @@ -43,8 +40,6 @@ class DbTestPreviewer extends TestRecorder { * and all that fun stuff */ function start() { - parent::start(); - if ( !$this->db->tableExists( 'testrun', __METHOD__ ) || !$this->db->tableExists( 'testitem', __METHOD__ ) ) { @@ -58,17 +53,8 @@ class DbTestPreviewer extends TestRecorder { $this->results = []; } - function getName( $test, $subtest ) { - if ( $subtest ) { - return "$test subtest #$subtest"; - } else { - return $test; - } - } - - function record( $test, $subtest, $result ) { - parent::record( $test, $subtest, $result ); - $this->results[ $this->getName( $test, $subtest ) ] = $result; + function record( $test, ParserTestResult $result ) { + $this->results[$test['desc']] = $result->isSuccess() ? 1 : 0; } function report() { @@ -90,11 +76,10 @@ class DbTestPreviewer extends TestRecorder { $res = $this->db->select( 'testitem', [ 'ti_name', 'ti_success' ], [ 'ti_run' => $this->prevRun ], __METHOD__ ); + $filter = $this->filter; foreach ( $res as $row ) { - if ( !$this->parent->regex - || preg_match( "/{$this->parent->regex}/i", $row->ti_name ) - ) { + if ( !$filter || $filter( $row->ti_name ) ) { $prevResults[$row->ti_name] = $row->ti_success; } } @@ -108,7 +93,7 @@ class DbTestPreviewer extends TestRecorder { $before = 'n'; } elseif ( $prevResults[$test] == 1 ) { $before = 'p'; - } else /* if ( $prevResults[$test] == 0 )*/ { + } else /* if ( $prevResults[$test] == 0 ) */ { $before = 'f'; } @@ -116,7 +101,7 @@ class DbTestPreviewer extends TestRecorder { $after = 'n'; } elseif ( $this->results[$test] == 1 ) { $after = 'p'; - } else /*if ( $this->results[$test] == 0 ) */ { + } else /* if ( $this->results[$test] == 0 ) */ { $after = 'f'; } @@ -143,7 +128,6 @@ class DbTestPreviewer extends TestRecorder { } print "\n"; - parent::report(); } /** @@ -216,13 +200,4 @@ class DbTestPreviewer extends TestRecorder { . date( "d-M-Y H:i:s", strtotime( $pre->tr_date ) ) . ", " . $pre->tr_mw_version . " and $postDate"; } - - /** - * Close the DB connection - */ - function end() { - $this->lb->closeAll(); - parent::end(); - } } -