use PHPUnit\Framework\TestCase;
use Symfony\Component\Process\ProcessBuilder;
+/**
+ * @group legacy
+ */
class ProcessBuilderTest extends TestCase
{
public function testInheritEnvironmentVars()
->getProcess();
$this->assertTrue($proc->areEnvironmentVariablesInherited());
+
+ $proc = ProcessBuilder::create()
+ ->add('foo')
+ ->inheritEnvironmentVariables(false)
+ ->getProcess();
+
+ $this->assertFalse($proc->areEnvironmentVariablesInherited());
}
public function testAddEnvironmentVariables()
->add('command')
->setEnv('foo', 'bar2')
->addEnvironmentVariables($env)
- ->inheritEnvironmentVariables(false)
->getProcess()
;
$this->assertSame($env, $proc->getEnv());
- $this->assertFalse($proc->areEnvironmentVariablesInherited());
}
/**
$proc = $pb->setArguments(array('-v'))->getProcess();
if ('\\' === DIRECTORY_SEPARATOR) {
- $this->assertEquals('"/usr/bin/php" "-v"', $proc->getCommandLine());
+ $this->assertEquals('"/usr/bin/php" -v', $proc->getCommandLine());
} else {
$this->assertEquals("'/usr/bin/php' '-v'", $proc->getCommandLine());
}
$proc = $pb->setArguments(array('-i'))->getProcess();
if ('\\' === DIRECTORY_SEPARATOR) {
- $this->assertEquals('"/usr/bin/php" "-i"', $proc->getCommandLine());
+ $this->assertEquals('"/usr/bin/php" -i', $proc->getCommandLine());
} else {
$this->assertEquals("'/usr/bin/php' '-i'", $proc->getCommandLine());
}
$proc = $pb->setArguments(array('-v'))->getProcess();
if ('\\' === DIRECTORY_SEPARATOR) {
- $this->assertEquals('"/usr/bin/php" "composer.phar" "-v"', $proc->getCommandLine());
+ $this->assertEquals('"/usr/bin/php" composer.phar -v', $proc->getCommandLine());
} else {
$this->assertEquals("'/usr/bin/php' 'composer.phar' '-v'", $proc->getCommandLine());
}
$proc = $pb->setArguments(array('-i'))->getProcess();
if ('\\' === DIRECTORY_SEPARATOR) {
- $this->assertEquals('"/usr/bin/php" "composer.phar" "-i"', $proc->getCommandLine());
+ $this->assertEquals('"/usr/bin/php" composer.phar -i', $proc->getCommandLine());
} else {
$this->assertEquals("'/usr/bin/php' 'composer.phar' '-i'", $proc->getCommandLine());
}
$proc = $pb->getProcess();
if ('\\' === DIRECTORY_SEPARATOR) {
- $this->assertSame('^%"path"^% "foo \\" bar" "%baz%baz"', $proc->getCommandLine());
+ $this->assertSame('""^%"path"^%"" "foo "" bar" ""^%"baz"^%"baz"', $proc->getCommandLine());
} else {
$this->assertSame("'%path%' 'foo \" bar' '%baz%baz'", $proc->getCommandLine());
}
$proc = $pb->getProcess();
if ('\\' === DIRECTORY_SEPARATOR) {
- $this->assertSame('^%"prefix"^% "arg"', $proc->getCommandLine());
+ $this->assertSame('""^%"prefix"^%"" arg', $proc->getCommandLine());
} else {
$this->assertSame("'%prefix%' 'arg'", $proc->getCommandLine());
}
$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());
+ }
}