public function testCanOrderAComplexBuilder() { $a = new OrderedAssembler(); $x = new Builder($a); $x->addEnvVar('JAVA_BIN', '/usr/bin/java')->addFlag('t', 'xml')->addCommand('src/')->addArgument('verbose')->addCommand('foo')->addArgument('results-log', '/tmp/results.log')->addEnvVar('TMP_DIR', '/tmp')->addFlag('f')->addCommand('hint&&hint'); $this->assertSame("JAVA_BIN='/usr/bin/java' TMP_DIR='/tmp' hint\\&\\&hint foo src/ -t='xml' -f --verbose --results-log='/tmp/results.log'", (string) $x); }
/** * @param string $command * @param array $arguments * @return string */ public static function execute($command, $arguments) { $builder = new Builder(); $builder->addCommand($command); $builder = static::processArguments($builder, $arguments); $runner = new SymfonyProcess(); $runner->run($builder, static::$returnClosure); return $runner; }
public function testCanBuildSemicolonCommandUp() { $x = new Builder(); $x->addEnvVar('JAVA_BIN', '/usr/bin/java')->addCommand('java')->addArgument('jar')->addFlag('t', 'xml')->addCommand('src/'); $y = new Builder(); $y->addEnvVar('TMP_DIR', '/tmp')->addCommand('foo')->addArgument('verbose')->addArgument('results-log', '/tmp/results.log')->addFlag('f'); $c = new Semicolon($x, $y); $this->assertSame("JAVA_BIN='/usr/bin/java' java --jar -t='xml' src/ ; TMP_DIR='/tmp' foo --verbose --results-log='/tmp/results.log' -f", (string) $c); }
public function testFailedExecCommand() { $x = new Builder(); $x->addCommand('dat1e')->addParameter('+%d-%m-%Y'); $r = new Passthru(); $r->run($x); $this->assertSame("dat1e '+%d-%m-%Y'", $r->getLastCommand()); $this->assertSame('', $r->getOutput()); $this->assertSame(127, $r->getStatus()); }
public function testFailedSymfonyProcessCommand() { $x = new Builder(); $x->addCommand('dat1e')->addParameter('+%d-%m-%Y'); $r = new SymfonyProcess(); $r->run($x); $this->assertSame("dat1e '+%d-%m-%Y'", $r->getLastCommand()); $this->assertSame('', trim($r->getOutput())); $this->assertSame(127, $r->getStatus()); }
public function testCanBuildComplexCommand() { $x = new Builder(); $x->addEnvVar('JAVA_BIN', '/usr/bin/java')->addEnvVar('TMP_DIR', '/tmp')->addCommand('hint&&hint')->addCommand('foo')->addFlag('f')->addFlag('t', 'xml')->addCommand('src/')->addArgument('verbose')->addArgument('results-log', '/tmp/results.log')->addRaw('> /dev/null 2>&1')->getCommandAssembler()->getCommandString(); $this->assertSame("JAVA_BIN='/usr/bin/java' TMP_DIR='/tmp' hint\\&\\&hint foo -f -t='xml' src/ --verbose --results-log='/tmp/results.log' > /dev/null 2>&1", (string) $x); }