aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/debug/MWDebugTest.php
diff options
context:
space:
mode:
authorOri Livneh <ori@wikimedia.org>2016-05-14 22:09:13 -0700
committerOri Livneh <ori@wikimedia.org>2016-05-18 02:23:26 -0700
commit66afa6ecd0d9cd4711bdf7a87152fc1ed03edf90 (patch)
tree24312d9b2152e5fdada589f99f60e7ddefdbc01f /tests/phpunit/includes/debug/MWDebugTest.php
parent33cb9e803ae020917bcc073e1599d2fdfbfb04c2 (diff)
downloadmediawikicore-66afa6ecd0d9cd4711bdf7a87152fc1ed03edf90.tar.gz
mediawikicore-66afa6ecd0d9cd4711bdf7a87152fc1ed03edf90.zip
MWDebugTest: disable MWDebug on test teardown
MWDebug::init() is currently irreversible -- once MWDebug is enabled, it cannot be disabled in that execution context. This means that the MWDebug test suite (which enables MWDebug) has a nasty side-effect -- all the tests that run after it run with MWDebug enabled. So add an MWDebug::deinit(), and call it on test teardown. Ostensibly this is a great use-case for services and dependency injection. The reason I am not going that route is that it's not entirely clear to me what the MWDebug class is supposed to represent. If I were going to spend any substantial amount of time on this, I would be trying to move it out of core and into an extension, not converting it into a service. Change-Id: I52c511be049bc276d203d07283e3aa0944f22d34
Diffstat (limited to 'tests/phpunit/includes/debug/MWDebugTest.php')
-rw-r--r--tests/phpunit/includes/debug/MWDebugTest.php14
1 files changed, 6 insertions, 8 deletions
diff --git a/tests/phpunit/includes/debug/MWDebugTest.php b/tests/phpunit/includes/debug/MWDebugTest.php
index 9c2bc750d48b..c1449ea0a49a 100644
--- a/tests/phpunit/includes/debug/MWDebugTest.php
+++ b/tests/phpunit/includes/debug/MWDebugTest.php
@@ -4,20 +4,18 @@ class MWDebugTest extends MediaWikiTestCase {
protected function setUp() {
parent::setUp();
- // Make sure MWDebug class is enabled
- static $MWDebugEnabled = false;
- if ( !$MWDebugEnabled ) {
- MWDebug::init();
- $MWDebugEnabled = true;
- }
/** Clear log before each test */
MWDebug::clearLog();
+ }
+
+ public static function setUpBeforeClass() {
+ MWDebug::init();
MediaWiki\suppressWarnings();
}
- protected function tearDown() {
+ public static function tearDownAfterClass() {
+ MWDebug::deinit();
MediaWiki\restoreWarnings();
- parent::tearDown();
}
/**