diff options
Diffstat (limited to 'tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php')
-rw-r--r-- | tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php b/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php new file mode 100644 index 00000000..fcd26f54 --- /dev/null +++ b/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php @@ -0,0 +1,20 @@ +<?php + +/** + * @group GlobalFunctions + * @covers ::wfShellExec + */ +class WfShellExecTest extends MediaWikiTestCase { + public function testBug67870() { + $command = wfIsWindows() + // 333 = 331 + CRLF + ? ( 'for /l %i in (1, 1, 1001) do @echo ' . str_repeat( '*', 331 ) ) + : 'printf "%-333333s" "*"'; + + // Test several times because it involves a race condition that may randomly succeed or fail + for ( $i = 0; $i < 10; $i++ ) { + $output = wfShellExec( $command ); + $this->assertEquals( 333333, strlen( $output ) ); + } + } +} |