summaryrefslogtreecommitdiff
path: root/www/wiki/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
diff options
context:
space:
mode:
authorYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
committerYaco <franco@reevo.org>2020-06-04 11:01:00 -0300
commitfc7369835258467bf97eb64f184b93691f9a9fd5 (patch)
treedaabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
first commit
Diffstat (limited to 'www/wiki/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php')
-rw-r--r--www/wiki/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php20
1 files changed, 20 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php b/www/wiki/tests/phpunit/includes/GlobalFunctions/wfShellExecTest.php
new file mode 100644
index 00000000..fcd26f54
--- /dev/null
+++ b/www/wiki/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 ) );
+ }
+ }
+}