updated packages

This commit is contained in:
2019-05-18 09:06:43 +00:00
parent 901d16349e
commit e9487fa58a
2025 changed files with 30366 additions and 49653 deletions

View File

@@ -88,7 +88,7 @@ class ExecutableFinderTest extends TestCase
$this->setPath('');
$extraDirs = array(\dirname(PHP_BINARY));
$extraDirs = [\dirname(PHP_BINARY)];
$finder = new ExecutableFinder();
$result = $finder->find($this->getPhpBinaryName(), null, $extraDirs);

View File

@@ -9,12 +9,12 @@
* file that was distributed with this source code.
*/
$outputs = array(
$outputs = [
'First iteration output',
'Second iteration output',
'One more iteration output',
'This took more time',
);
];
$iterationTime = 10000;

View File

@@ -41,9 +41,9 @@ class PhpExecutableFinderTest extends TestCase
$f = new PhpExecutableFinder();
if ('phpdbg' === \PHP_SAPI) {
$this->assertEquals($f->findArguments(), array('-qrr'), '::findArguments() returns phpdbg arguments');
$this->assertEquals($f->findArguments(), ['-qrr'], '::findArguments() returns phpdbg arguments');
} else {
$this->assertEquals($f->findArguments(), array(), '::findArguments() returns no arguments');
$this->assertEquals($f->findArguments(), [], '::findArguments() returns no arguments');
}
}
}

View File

@@ -12,6 +12,7 @@
namespace Symfony\Component\Process\Tests;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Process\PhpExecutableFinder;
use Symfony\Component\Process\PhpProcess;
class PhpProcessTest extends TestCase
@@ -45,4 +46,18 @@ PHP
$this->assertSame(PHP_VERSION.\PHP_SAPI, $process->getOutput());
}
public function testPassingPhpExplicitly()
{
$finder = new PhpExecutableFinder();
$php = array_merge([$finder->find(false)], $finder->findArguments());
$expected = 'hello world!';
$script = <<<PHP
<?php echo '$expected';
PHP;
$process = new PhpProcess($script, null, null, 60, $php);
$process->run();
$this->assertEquals($expected, $process->getOutput());
}
}

View File

@@ -14,8 +14,8 @@ define('ERR_TIMEOUT', 2);
define('ERR_READ_FAILED', 3);
define('ERR_WRITE_FAILED', 4);
$read = array(STDIN);
$write = array(STDOUT, STDERR);
$read = [STDIN];
$write = [STDOUT, STDERR];
stream_set_blocking(STDIN, 0);
stream_set_blocking(STDOUT, 0);
@@ -42,7 +42,7 @@ while ($read || $write) {
$out = (string) substr($out, $written);
}
if (null === $read && '' === $out) {
$write = array_diff($write, array(STDOUT));
$write = array_diff($write, [STDOUT]);
}
if (in_array(STDERR, $w) && strlen($err) > 0) {
@@ -53,7 +53,7 @@ while ($read || $write) {
$err = (string) substr($err, $written);
}
if (null === $read && '' === $err) {
$write = array_diff($write, array(STDERR));
$write = array_diff($write, [STDERR]);
}
if ($r) {

View File

@@ -24,7 +24,7 @@ class ProcessFailedExceptionTest extends TestCase
*/
public function testProcessFailedExceptionThrowsException()
{
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful'))->setConstructorArgs(array(array('php')))->getMock();
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful'])->setConstructorArgs([['php']])->getMock();
$process->expects($this->once())
->method('isSuccessful')
->will($this->returnValue(true));
@@ -52,7 +52,7 @@ class ProcessFailedExceptionTest extends TestCase
$errorOutput = 'FATAL: Unexpected error';
$workingDirectory = getcwd();
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful', 'getOutput', 'getErrorOutput', 'getExitCode', 'getExitCodeText', 'isOutputDisabled', 'getWorkingDirectory'))->setConstructorArgs(array(array($cmd)))->getMock();
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful', 'getOutput', 'getErrorOutput', 'getExitCode', 'getExitCodeText', 'isOutputDisabled', 'getWorkingDirectory'])->setConstructorArgs([[$cmd]])->getMock();
$process->expects($this->once())
->method('isSuccessful')
->will($this->returnValue(false));
@@ -100,7 +100,7 @@ class ProcessFailedExceptionTest extends TestCase
$exitText = 'General error';
$workingDirectory = getcwd();
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(array('isSuccessful', 'isOutputDisabled', 'getExitCode', 'getExitCodeText', 'getOutput', 'getErrorOutput', 'getWorkingDirectory'))->setConstructorArgs(array(array($cmd)))->getMock();
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful', 'isOutputDisabled', 'getExitCode', 'getExitCodeText', 'getOutput', 'getErrorOutput', 'getWorkingDirectory'])->setConstructorArgs([[$cmd]])->getMock();
$process->expects($this->once())
->method('isSuccessful')
->will($this->returnValue(false));

View File

@@ -55,13 +55,13 @@ class ProcessTest extends TestCase
{
try {
// Check that it works fine if the CWD exists
$cmd = new Process(array('echo', 'test'), __DIR__);
$cmd = new Process(['echo', 'test'], __DIR__);
$cmd->run();
} catch (\Exception $e) {
$this->fail($e);
}
$cmd = new Process(array('echo', 'test'), __DIR__.'/notfound/');
$cmd = new Process(['echo', 'test'], __DIR__.'/notfound/');
$cmd->run();
}
@@ -114,7 +114,7 @@ class ProcessTest extends TestCase
*/
public function testStopWithTimeoutIsActuallyWorking()
{
$p = $this->getProcess(array(self::$phpBin, __DIR__.'/NonStopableProcess.php', 30));
$p = $this->getProcess([self::$phpBin, __DIR__.'/NonStopableProcess.php', 30]);
$p->start();
while ($p->isRunning() && false === strpos($p->getOutput(), 'received')) {
@@ -135,7 +135,11 @@ class ProcessTest extends TestCase
public function testWaitUntilSpecificOutput()
{
$p = $this->getProcess(array(self::$phpBin, __DIR__.'/KillableProcessWithOutput.php'));
if ('\\' === \DIRECTORY_SEPARATOR) {
$this->markTestIncomplete('This test is too transient on Windows, help wanted to improve it');
}
$p = $this->getProcess([self::$phpBin, __DIR__.'/KillableProcessWithOutput.php']);
$p->start();
$start = microtime(true);
@@ -304,10 +308,10 @@ class ProcessTest extends TestCase
public function provideInvalidInputValues()
{
return array(
array(array()),
array(new NonStringifiable()),
);
return [
[[]],
[new NonStringifiable()],
];
}
/**
@@ -322,25 +326,25 @@ class ProcessTest extends TestCase
public function provideInputValues()
{
return array(
array(null, null),
array('24.5', 24.5),
array('input data', 'input data'),
);
return [
[null, null],
['24.5', 24.5],
['input data', 'input data'],
];
}
public function chainedCommandsOutputProvider()
{
if ('\\' === \DIRECTORY_SEPARATOR) {
return array(
array("2 \r\n2\r\n", '&&', '2'),
);
return [
["2 \r\n2\r\n", '&&', '2'],
];
}
return array(
array("1\n1\n", ';', '1'),
array("2\n2\n", '&&', '2'),
);
return [
["1\n1\n", ';', '1'],
["2\n2\n", '&&', '2'],
];
}
/**
@@ -409,7 +413,7 @@ class ProcessTest extends TestCase
$p->start();
foreach (array('foo', 'bar') as $s) {
foreach (['foo', 'bar'] as $s) {
while (false === strpos($p->$getOutput(), $s)) {
usleep(1000);
}
@@ -425,10 +429,10 @@ class ProcessTest extends TestCase
public function provideIncrementalOutput()
{
return array(
array('getOutput', 'getIncrementalOutput', 'php://stdout'),
array('getErrorOutput', 'getIncrementalErrorOutput', 'php://stderr'),
);
return [
['getOutput', 'getIncrementalOutput', 'php://stdout'],
['getErrorOutput', 'getIncrementalErrorOutput', 'php://stderr'],
];
}
public function testGetOutput()
@@ -911,7 +915,7 @@ class ProcessTest extends TestCase
*/
public function testSignal()
{
$process = $this->getProcess(array(self::$phpBin, __DIR__.'/SignalListener.php'));
$process = $this->getProcess([self::$phpBin, __DIR__.'/SignalListener.php']);
$process->start();
while (false === strpos($process->getOutput(), 'Caught')) {
@@ -971,13 +975,13 @@ class ProcessTest extends TestCase
public function provideMethodsThatNeedARunningProcess()
{
return array(
array('getOutput'),
array('getIncrementalOutput'),
array('getErrorOutput'),
array('getIncrementalErrorOutput'),
array('wait'),
);
return [
['getOutput'],
['getIncrementalOutput'],
['getErrorOutput'],
['getIncrementalErrorOutput'],
['wait'],
];
}
/**
@@ -1002,12 +1006,12 @@ class ProcessTest extends TestCase
public function provideMethodsThatNeedATerminatedProcess()
{
return array(
array('hasBeenSignaled'),
array('getTermSignal'),
array('hasBeenStopped'),
array('getStopSignal'),
);
return [
['hasBeenSignaled'],
['getTermSignal'],
['hasBeenStopped'],
['getStopSignal'],
];
}
/**
@@ -1118,12 +1122,12 @@ class ProcessTest extends TestCase
public function provideOutputFetchingMethods()
{
return array(
array('getOutput'),
array('getIncrementalOutput'),
array('getErrorOutput'),
array('getIncrementalErrorOutput'),
);
return [
['getOutput'],
['getIncrementalOutput'],
['getErrorOutput'],
['getIncrementalErrorOutput'],
];
}
public function testStopTerminatesProcessCleanly()
@@ -1155,32 +1159,32 @@ class ProcessTest extends TestCase
public function responsesCodeProvider()
{
return array(
return [
//expected output / getter / code to execute
//array(1,'getExitCode','exit(1);'),
//array(true,'isSuccessful','exit();'),
array('output', 'getOutput', 'echo \'output\';'),
);
// [1,'getExitCode','exit(1);'],
// [true,'isSuccessful','exit();'],
['output', 'getOutput', 'echo \'output\';'],
];
}
public function pipesCodeProvider()
{
$variations = array(
$variations = [
'fwrite(STDOUT, $in = file_get_contents(\'php://stdin\')); fwrite(STDERR, $in);',
'include \''.__DIR__.'/PipeStdinInStdoutStdErrStreamSelect.php\';',
);
];
if ('\\' === \DIRECTORY_SEPARATOR) {
// Avoid XL buffers on Windows because of https://bugs.php.net/bug.php?id=65650
$sizes = array(1, 2, 4, 8);
$sizes = [1, 2, 4, 8];
} else {
$sizes = array(1, 16, 64, 1024, 4096);
$sizes = [1, 16, 64, 1024, 4096];
}
$codes = array();
$codes = [];
foreach ($sizes as $size) {
foreach ($variations as $code) {
$codes[] = array($code, $size);
$codes[] = [$code, $size];
}
}
@@ -1208,10 +1212,10 @@ class ProcessTest extends TestCase
public function provideVariousIncrementals()
{
return array(
array('php://stdout', 'getIncrementalOutput'),
array('php://stderr', 'getIncrementalErrorOutput'),
);
return [
['php://stdout', 'getIncrementalOutput'],
['php://stderr', 'getIncrementalErrorOutput'],
];
}
public function testIteratorInput()
@@ -1316,32 +1320,32 @@ class ProcessTest extends TestCase
$process = $this->getProcessForCode('fwrite(STDOUT, 123); fwrite(STDERR, 234); flush(); usleep(10000); fwrite(STDOUT, fread(STDIN, 3)); fwrite(STDERR, 456);');
$process->setInput($input);
$process->start();
$output = array();
$output = [];
foreach ($process as $type => $data) {
$output[] = array($type, $data);
$output[] = [$type, $data];
break;
}
$expectedOutput = array(
array($process::OUT, '123'),
);
$expectedOutput = [
[$process::OUT, '123'],
];
$this->assertSame($expectedOutput, $output);
$input->write(345);
foreach ($process as $type => $data) {
$output[] = array($type, $data);
$output[] = [$type, $data];
}
$this->assertSame('', $process->getOutput());
$this->assertFalse($process->isRunning());
$expectedOutput = array(
array($process::OUT, '123'),
array($process::ERR, '234'),
array($process::OUT, '345'),
array($process::ERR, '456'),
);
$expectedOutput = [
[$process::OUT, '123'],
[$process::ERR, '234'],
[$process::OUT, '345'],
[$process::ERR, '456'],
];
$this->assertSame($expectedOutput, $output);
}
@@ -1352,32 +1356,32 @@ class ProcessTest extends TestCase
$process = $this->getProcessForCode('fwrite(STDOUT, fread(STDIN, 3));');
$process->setInput($input);
$process->start();
$output = array();
$output = [];
foreach ($process->getIterator($process::ITER_NON_BLOCKING | $process::ITER_KEEP_OUTPUT) as $type => $data) {
$output[] = array($type, $data);
$output[] = [$type, $data];
break;
}
$expectedOutput = array(
array($process::OUT, ''),
);
$expectedOutput = [
[$process::OUT, ''],
];
$this->assertSame($expectedOutput, $output);
$input->write(123);
foreach ($process->getIterator($process::ITER_NON_BLOCKING | $process::ITER_KEEP_OUTPUT) as $type => $data) {
if ('' !== $data) {
$output[] = array($type, $data);
$output[] = [$type, $data];
}
}
$this->assertSame('123', $process->getOutput());
$this->assertFalse($process->isRunning());
$expectedOutput = array(
array($process::OUT, ''),
array($process::OUT, '123'),
);
$expectedOutput = [
[$process::OUT, ''],
[$process::OUT, '123'],
];
$this->assertSame($expectedOutput, $output);
}
@@ -1399,7 +1403,7 @@ class ProcessTest extends TestCase
public function testSetBadEnv()
{
$process = $this->getProcess('echo hello');
$process->setEnv(array('bad%%' => '123'));
$process->setEnv(['bad%%' => '123']);
$process->inheritEnvironmentVariables(true);
$process->run();
@@ -1413,7 +1417,7 @@ class ProcessTest extends TestCase
putenv('existing_var=foo');
$_ENV['existing_var'] = 'foo';
$process = $this->getProcess('php -r "echo getenv(\'new_test_var\');"');
$process->setEnv(array('existing_var' => 'bar', 'new_test_var' => 'foo'));
$process->setEnv(['existing_var' => 'bar', 'new_test_var' => 'foo']);
$process->inheritEnvironmentVariables();
$process->run();
@@ -1428,14 +1432,14 @@ class ProcessTest extends TestCase
public function testEnvIsInherited()
{
$process = $this->getProcessForCode('echo serialize($_SERVER);', null, array('BAR' => 'BAZ', 'EMPTY' => ''));
$process = $this->getProcessForCode('echo serialize($_SERVER);', null, ['BAR' => 'BAZ', 'EMPTY' => '']);
putenv('FOO=BAR');
$_ENV['FOO'] = 'BAR';
$process->run();
$expected = array('BAR' => 'BAZ', 'EMPTY' => '', 'FOO' => 'BAR');
$expected = ['BAR' => 'BAZ', 'EMPTY' => '', 'FOO' => 'BAR'];
$env = array_intersect_key(unserialize($process->getOutput()), $expected);
$this->assertEquals($expected, $env);
@@ -1446,7 +1450,7 @@ class ProcessTest extends TestCase
public function testGetCommandLine()
{
$p = new Process(array('/usr/bin/php'));
$p = new Process(['/usr/bin/php']);
$expected = '\\' === \DIRECTORY_SEPARATOR ? '"/usr/bin/php"' : "'/usr/bin/php'";
$this->assertSame($expected, $p->getCommandLine());
@@ -1457,7 +1461,7 @@ class ProcessTest extends TestCase
*/
public function testEscapeArgument($arg)
{
$p = new Process(array(self::$phpBin, '-r', 'echo $argv[1];', $arg));
$p = new Process([self::$phpBin, '-r', 'echo $argv[1];', $arg]);
$p->run();
$this->assertSame((string) $arg, $p->getOutput());
@@ -1483,24 +1487,24 @@ EOTXT;
public function provideEscapeArgument()
{
yield array('a"b%c%');
yield array('a"b^c^');
yield array("a\nb'c");
yield array('a^b c!');
yield array("a!b\tc");
yield array('a\\\\"\\"');
yield array('éÉèÈàÀöä');
yield array(null);
yield array(1);
yield array(1.1);
yield ['a"b%c%'];
yield ['a"b^c^'];
yield ["a\nb'c"];
yield ['a^b c!'];
yield ["a!b\tc"];
yield ['a\\\\"\\"'];
yield ['éÉèÈàÀöä'];
yield [null];
yield [1];
yield [1.1];
}
public function testEnvArgument()
{
$env = array('FOO' => 'Foo', 'BAR' => 'Bar');
$env = ['FOO' => 'Foo', 'BAR' => 'Bar'];
$cmd = '\\' === \DIRECTORY_SEPARATOR ? 'echo !FOO! !BAR! !BAZ!' : 'echo $FOO $BAR $BAZ';
$p = Process::fromShellCommandline($cmd, null, $env);
$p->run(null, array('BAR' => 'baR', 'BAZ' => 'baZ'));
$p->run(null, ['BAR' => 'baR', 'BAZ' => 'baZ']);
$this->assertSame('Foo baR baZ', rtrim($p->getOutput()));
$this->assertSame($env, $p->getEnv());
@@ -1524,7 +1528,7 @@ EOTXT;
private function getProcessForCode(string $code, string $cwd = null, array $env = null, $input = null, ?int $timeout = 60): Process
{
return $this->getProcess(array(self::$phpBin, '-r', $code), $cwd, $env, $input, $timeout);
return $this->getProcess([self::$phpBin, '-r', $code], $cwd, $env, $input, $timeout);
}
}