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);
 }
Example #2
0
 /**
  * @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;
 }
Example #3
0
 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);
 }
Example #4
0
 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());
 }
Example #6
0
 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);
 }