jenkins-bot has submitted this change and it was merged.
Change subject: MWDebugTest: disable MWDebug on test teardown
......................................................................
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
---
M includes/debug/MWDebug.php
M tests/phpunit/includes/debug/MWDebugTest.php
2 files changed, 15 insertions(+), 8 deletions(-)
Approvals:
Hashar: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/debug/MWDebug.php b/includes/debug/MWDebug.php
index 13d25a8..d90ef8a 100644
--- a/includes/debug/MWDebug.php
+++ b/includes/debug/MWDebug.php
@@ -76,6 +76,15 @@
}
/**
+ * Disable the debugger.
+ *
+ * @since 1.28
+ */
+ public static function deinit() {
+ self::$enabled = false;
+ }
+
+ /**
* Add ResourceLoader modules to the OutputPage object if debugging is
* enabled.
*
diff --git a/tests/phpunit/includes/debug/MWDebugTest.php
b/tests/phpunit/includes/debug/MWDebugTest.php
index 9c2bc75..c1449ea 100644
--- a/tests/phpunit/includes/debug/MWDebugTest.php
+++ b/tests/phpunit/includes/debug/MWDebugTest.php
@@ -4,20 +4,18 @@
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();
}
/**
--
To view, visit https://gerrit.wikimedia.org/r/289367
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I52c511be049bc276d203d07283e3aa0944f22d34
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Hashar <[email protected]>
Gerrit-Reviewer: Krinkle <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits