MediaWiki
REL1_31
MaintenanceBaseTestCase.php
Go to the documentation of this file.
1
<?php
2
3
namespace
MediaWiki\Tests\Maintenance
;
4
5
use
Maintenance
;
6
use
MediaWikiTestCase
;
7
use Wikimedia\TestingAccessWrapper;
8
9
abstract
class
MaintenanceBaseTestCase
extends
MediaWikiTestCase
{
10
16
protected
$maintenance
;
17
18
protected
function
setUp
() {
19
parent::setUp();
20
21
$this->maintenance = $this->
createMaintenance
();
22
}
23
28
protected
function
tearDown
() {
29
if
( $this->maintenance ) {
30
$this->maintenance->cleanupChanneled();
31
}
32
33
// This is smelly, but maintenance scripts usually produce output, so
34
// we anticipate and ignore with a regex that will catch everything.
35
//
36
// If you call $this->expectOutputRegex in your subclass, this guard
37
// won't be triggered, and your specific pattern will be respected.
38
if
( !$this->hasExpectationOnOutput() ) {
39
$this->expectOutputRegex(
'/.*/'
);
40
}
41
42
parent::tearDown();
43
}
44
55
abstract
protected
function
getMaintenanceClass
();
56
62
protected
function
createMaintenance
() {
63
$className = $this->
getMaintenanceClass
();
64
$obj =
new
$className();
65
66
// We use TestingAccessWrapper in order to access protected internals
67
// such as `output()`.
68
return
TestingAccessWrapper::newFromObject( $obj );
69
}
70
83
protected
function
assertOutputPrePostShutdown
( $preShutdownOutput, $expectNLAppending ) {
84
$this->assertEquals( $preShutdownOutput, $this->getActualOutput(),
85
"Output before shutdown simulation"
);
86
87
$this->maintenance->cleanupChanneled();
88
89
$postShutdownOutput = $preShutdownOutput . ( $expectNLAppending ?
"\n"
:
""
);
90
$this->expectOutputString( $postShutdownOutput );
91
}
92
93
}
Maintenance
Abstract maintenance class for quickly writing and churning out maintenance scripts with minimal effo...
Definition
maintenance.txt:39
MediaWikiTestCase
Definition
MediaWikiTestCase.php:17
MediaWiki\Tests\Maintenance\MaintenanceBaseTestCase
Definition
MaintenanceBaseTestCase.php:9
MediaWiki\Tests\Maintenance\MaintenanceBaseTestCase\createMaintenance
createMaintenance()
Called by setUp to initialize $this->maintenance.
Definition
MaintenanceBaseTestCase.php:62
MediaWiki\Tests\Maintenance\MaintenanceBaseTestCase\assertOutputPrePostShutdown
assertOutputPrePostShutdown( $preShutdownOutput, $expectNLAppending)
Asserts the output before and after simulating shutdown.
Definition
MaintenanceBaseTestCase.php:83
MediaWiki\Tests\Maintenance\MaintenanceBaseTestCase\$maintenance
Maintenance $maintenance
The main Maintenance instance that is used for testing, wrapped and mockable.
Definition
MaintenanceBaseTestCase.php:16
MediaWiki\Tests\Maintenance\MaintenanceBaseTestCase\getMaintenanceClass
getMaintenanceClass()
MediaWiki\Tests\Maintenance\MaintenanceBaseTestCase\tearDown
tearDown()
Do a little stream cleanup to prevent output in case the child class hasn't tested the capture buffer...
Definition
MaintenanceBaseTestCase.php:28
MediaWiki\Tests\Maintenance\MaintenanceBaseTestCase\setUp
setUp()
Definition
MaintenanceBaseTestCase.php:18
MediaWiki\Tests\Maintenance
Definition
backup_LogTest.php:3
tests
phpunit
maintenance
MaintenanceBaseTestCase.php
Generated on Mon Nov 25 2024 15:36:43 for MediaWiki by
1.10.0