summaryrefslogtreecommitdiff
path: root/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
blob: fcd26f541f33a9184bf9443294878eae5ce8e1d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 ) );
		}
	}
}