bug #23498 [Process] Fixed issue between process builder and exec (lyrixx)
This PR was merged into the 3.3 branch.
Discussion
----------
[Process] Fixed issue between process builder and exec
| Q | A
| ------------- | ---
| Branch? | 3.3
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes/
| Fixed tickets | #23495
| License | MIT
| Doc PR | -
Commits
-------
8cd1a2d
[Process] Fixed issue between process builder and exec
This commit is contained in:
commit
54435997ee
@ -272,6 +272,9 @@ class ProcessBuilder
|
||||
|
||||
$arguments = array_merge($this->prefix, $this->arguments);
|
||||
$process = new Process($arguments, $this->cwd, $this->env, $this->input, $this->timeout, $this->options);
|
||||
// to preserve the BC with symfony <3.3, we convert the array structure
|
||||
// to a string structure to avoid the prefixing with the exec command
|
||||
$process->setCommandLine($process->getCommandLine());
|
||||
|
||||
if ($this->inheritEnv) {
|
||||
$process->inheritEnvironmentVariables();
|
||||
|
@ -210,4 +210,17 @@ class ProcessBuilderTest extends TestCase
|
||||
$builder = ProcessBuilder::create();
|
||||
$builder->setInput(array());
|
||||
}
|
||||
|
||||
public function testDoesNotPrefixExec()
|
||||
{
|
||||
if ('\\' === DIRECTORY_SEPARATOR) {
|
||||
$this->markTestSkipped('This test cannot run on Windows.');
|
||||
}
|
||||
|
||||
$builder = ProcessBuilder::create(array('command', '-v', 'ls'));
|
||||
$process = $builder->getProcess();
|
||||
$process->run();
|
||||
|
||||
$this->assertTrue($process->isSuccessful());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user