getExitCode() 공개 메소드

Returns exit code.
public getExitCode ( ) : integer
리턴 integer
 public function __construct($path, $args = NULL)
 {
     $this->path = Helpers::escapeArg($path);
     $proc = proc_open("{$this->path} -n {$args} -v", array(array('pipe', 'r'), array('pipe', 'w'), array('pipe', 'w')), $pipes, NULL, NULL, array('bypass_shell' => TRUE));
     $output = stream_get_contents($pipes[1]);
     $this->error = trim(stream_get_contents($pipes[2]));
     if (proc_close($proc)) {
         throw new \Exception("Unable to run '{$path}': " . preg_replace('#[\\r\\n ]+#', ' ', $this->error));
     } elseif (!preg_match('#^PHP (\\S+).*c(g|l)i#i', $output, $matches)) {
         throw new \Exception("Unable to detect PHP version (output: {$output}).");
     }
     $this->version = $matches[1];
     $this->cgi = strcasecmp($matches[2], 'g') === 0;
     $this->arguments = $args;
     $job = new Job(__DIR__ . '/info.php', $this, array('xdebug'));
     $job->run();
     $this->xdebug = !$job->getExitCode();
 }
예제 #2
0
파일: TestHandler.php 프로젝트: xnovk/test
 private function assessExitCode(Job $job, $code)
 {
     $code = (int) $code;
     if ($job->getExitCode() === Job::CODE_SKIP) {
         $message = preg_match('#.*Skipped:\\n(.*?)\\z#s', $output = $job->getOutput(), $m) ? $m[1] : $output;
         return array(Runner::SKIPPED, trim($message));
     } elseif ($job->getExitCode() !== $code) {
         $message = $job->getExitCode() !== Job::CODE_FAIL ? "Exited with error code {$job->getExitCode()} (expected {$code})" : '';
         return array(Runner::FAILED, trim($message . "\n" . $job->getOutput()));
     }
 }