コード例 #1
0
 public function testCompleted(WorkerTestExecutor $worker, TestResult $result)
 {
     $ok = count($result->getErrors()) === 0 ? 'ok' : 'not ok';
     $this->output->writeln("{$ok} {$result->getId()} - {$result->getClass()}::{$result->getName()}");
     if ($result->getErrors()) {
         fwrite(STDERR, "  ---\n");
         foreach ($result->getErrors() as $error) {
             fwrite(STDERR, '  ' . preg_replace('/\\r|\\r\\n|\\n/', "\n  ", $error->getFormatted()) . "\n");
         }
         fwrite(STDERR, "  ...\n");
     }
 }
コード例 #2
0
 public function onTestResult(TestResult $testResult)
 {
     /** @var TestRequest $nextExpectedTest */
     $nextExpectedTest = $this->pendingRequests->dequeue();
     if ($nextExpectedTest->getId() !== $testResult->getId()) {
         $this->debug("Bad things");
         $testResult->addError(new Error(['message' => "An unexpected test was run, this could be a naming issue:\n" . "  Expected #{$nextExpectedTest->getId()} - {$nextExpectedTest->getClass()}::{$nextExpectedTest->getName()}\n" . "  Got #{$testResult->getId()} - {$testResult->getClass()}::{$testResult->getName()}\n"]));
     }
     if ($this->testErr) {
         $testResult->addError(new Error(['message' => "STDERR: {$this->testErr}"]));
     }
     $this->distributor->testCompleted($this, $testResult);
 }
コード例 #3
0
 public function testCompleted(WorkerTestExecutor $worker, TestResult $result)
 {
     $this->executedTests++;
     $percentage = $this->executedTests / $this->expectedTests;
     if ($percentage - $this->lastReported > 0.1) {
         $this->lastReported = $percentage;
         $this->printStatus();
     }
     foreach ($result->getErrors() as $error) {
         $this->output->writeln('');
         $this->output->writeln("<warn>{$error->severity} in {$result->getClass()}::{$result->getName()}</warn>");
         $indentedError = '  ' . str_replace("\n", "\n  ", $error->getFormatted());
         $this->output->writeln($indentedError);
     }
 }
コード例 #4
0
 public function testCompleted(WorkerTestExecutor $worker, TestResult $result)
 {
     $this->executedTests++;
     $message = '<good>✓</good>';
     foreach ($result->getErrors() as $error) {
         if ($error->severity == 'error') {
             $message = '<error>E</error>';
         } elseif ($error->severity == 'warning') {
             $message = '<warn>W</warn>';
         } else {
             $message = '<error>F</error>';
         }
     }
     $details = sprintf('%3d%%  %5dms  %5.1fMB  %s::%s', $this->executedTests / $this->expectedTests * 100, $result->getElapsed() * 1000, $result->getMemoryUsed() / 1024 / 1024, $result->getShortClassName(), $result->getName());
     $this->writeLanes($worker->getId(), $message, $details);
 }