From 92196bb103db65237bd4dce95b7f7ba0e6e10e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Pineau?= Date: Sat, 22 Sep 2012 03:03:15 +0200 Subject: [PATCH 1/2] [Process][Tests] Prove process fail --- .../Component/Process/Tests/AbstractProcessTest.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Symfony/Component/Process/Tests/AbstractProcessTest.php b/src/Symfony/Component/Process/Tests/AbstractProcessTest.php index 1b443502bd0f3..300f6024c60d3 100644 --- a/src/Symfony/Component/Process/Tests/AbstractProcessTest.php +++ b/src/Symfony/Component/Process/Tests/AbstractProcessTest.php @@ -76,6 +76,17 @@ public function testProcessPipes($expected, $code) $this->assertSame($expected, $p->getErrorOutput()); } + public function testProcessOutput() + { + if (defined('PHP_WINDOWS_VERSION_BUILD')) { + $this->markTestSkipped('Does it work on windows ?'); + } + + $process = $this->getProcess("echo -n 1 ; echo -n 1"); + $process->run(); + $this->assertEquals('11', $process->getOutput()); + } + public function testCallbackIsExecutedForOutput() { $p = $this->getProcess(sprintf('php -r %s', escapeshellarg('echo \'foo\';'))); From 86d9dea4245e3dd9b7e29eb36e0ff60a46300f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gr=C3=A9goire=20Pineau?= Date: Tue, 25 Sep 2012 10:21:47 +0200 Subject: [PATCH 2/2] [Process][Tests] Prove process fail (Add more test case) --- .../Process/Tests/AbstractProcessTest.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Symfony/Component/Process/Tests/AbstractProcessTest.php b/src/Symfony/Component/Process/Tests/AbstractProcessTest.php index 300f6024c60d3..0f464993ad4ec 100644 --- a/src/Symfony/Component/Process/Tests/AbstractProcessTest.php +++ b/src/Symfony/Component/Process/Tests/AbstractProcessTest.php @@ -76,15 +76,27 @@ public function testProcessPipes($expected, $code) $this->assertSame($expected, $p->getErrorOutput()); } - public function testProcessOutput() + public function chainedCommandsOutputProvider() + { + return array( + array('11', ';', '1'), + array('22', '&&', '2'), + ); + } + + /** + * + * @dataProvider chainedCommandsOutputProvider + */ + public function testChainedCommandsOutput($expected, $operator, $input) { if (defined('PHP_WINDOWS_VERSION_BUILD')) { $this->markTestSkipped('Does it work on windows ?'); } - $process = $this->getProcess("echo -n 1 ; echo -n 1"); + $process = $this->getProcess(sprintf('echo -n %s %s echo -n %s', $input, $operator, $input)); $process->run(); - $this->assertEquals('11', $process->getOutput()); + $this->assertEquals($expected, $process->getOutput()); } public function testCallbackIsExecutedForOutput()