From: Markus Glaser Date: Mon, 2 Aug 2010 08:09:26 +0000 (+0000) Subject: * modified runTests to run suites instead of single tests. this fixes r70215 X-Git-Tag: 1.31.0-rc.0~35785 X-Git-Url: http://git.cyclocoop.org/%24self?a=commitdiff_plain;h=05f84a8474e3c56005bef5966d0dda1f9db6afa3;p=lhc%2Fweb%2Fwiklou.git * modified runTests to run suites instead of single tests. this fixes r70215 --- diff --git a/includes/specials/SpecialSelenium.php b/includes/specials/SpecialSelenium.php index 6eb0325b50..9b11fd5350 100644 --- a/includes/specials/SpecialSelenium.php +++ b/includes/specials/SpecialSelenium.php @@ -42,21 +42,24 @@ class SpecialSelenium extends SpecialPage { } function runTests() { - global $wgSeleniumTests, $wgOut; + global $wgSeleniumTestSuites, $wgOut, $wgSeleniumLogger; SeleniumLoader::load(); $result = new PHPUnit_Framework_TestResult; - $logger = new SeleniumTestHTMLLogger; - $result->addListener( new SeleniumTestListener( $logger ) ); - $logger->setHeaders(); + $wgSeleniumLogger = new SeleniumTestHTMLLogger; + $result->addListener( new SeleniumTestListener( $wgSeleniumLogger ) ); + //$wgSeleniumLogger->setHeaders(); // run tests - $suite = new SeleniumTestSuite; - foreach ( $wgSeleniumTests as $testClass ) { - $suite->addTest( new $testClass ); - } $wgOut->addHTML( '
' ); - $suite->run( $result ); + + // for some really strange reason, foreach doesn't work here. It produces an infinite loop, + // executing only the first test suite. + for ( $i = 0; $i < count( $wgSeleniumTestSuites ); $i++ ) { + $suite = new $wgSeleniumTestSuites[$i]; + $suite->addTests(); + $suite->run( $result ); + } $wgOut->addHTML( '
' ); } }