/** * @param Collection $results * @return array */ protected function getResultCollectionToArray(Collection $results) { foreach ($results as $item) { $result = $results[$item]; $data[$item->getLabel()] = array('result' => $this->getResultName($result), 'message' => $result->getMessage(), 'data' => $result->getData()); } return array('details' => $data, 'success' => $results->getSuccessCount(), 'warning' => $results->getWarningCount(), 'failure' => $results->getFailureCount(), 'skip' => $results->getSkipCount(), 'unknown' => $results->getUnknownCount(), 'passed' => $results->getFailureCount() === 0); }
/** * This method is called when Runner has finished its run. * * @param ResultsCollection $results Collection of Results for performed Checks. * @return void */ public function onFinish(ResultsCollection $results) { $this->console->writeLine(); // Display information that the check has been aborted. if ($this->stopped) { $this->console->writeLine('Diagnostics aborted because of a failure.', Color::RED); } // Display a summary line if ($results->getFailureCount() == 0 && $results->getWarningCount() == 0 && $results->getUnknownCount() == 0) { $line = 'OK (' . $this->total . ' diagnostic checks)'; $this->console->writeLine(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::GREEN); } elseif ($results->getFailureCount() == 0) { $line = $results->getWarningCount() . ' warnings, '; $line .= $results->getSuccessCount() . ' successful checks'; if ($results->getSkipCount() > 0) { $line .= ', ' . $results->getSkipCount() . ' skipped checks'; } if ($results->getUnknownCount() > 0) { $line .= ', ' . $results->getUnknownCount() . ' unknown check results'; } $line .= '.'; $this->console->writeLine(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::YELLOW); } else { $line = $results->getFailureCount() . ' failures, '; $line .= $results->getWarningCount() . ' warnings, '; $line .= $results->getSuccessCount() . ' successful checks'; if ($results->getSkipCount() > 0) { $line .= ', ' . $results->getSkipCount() . ' skipped checks'; } if ($results->getUnknownCount() > 0) { $line .= ', ' . $results->getUnknownCount() . ' unknown check results'; } $line .= '.'; $this->console->writeLine(str_pad($line, $this->width, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::RED); } $this->console->writeLine(); }
/** * @see \ZendDiagnostics\Runner\Reporter\ReporterInterface * @param ResultsCollection $results */ public function onFinish(ResultsCollection $results) { $this->consoleWriteLn(); $this->consoleWriteLn(); // Display a summary line if ($results->getFailureCount() == 0 && $results->getWarningCount() == 0 && $results->getUnknownCount() == 0 && $results->getSkipCount() == 0) { $line = 'OK (' . $this->total . ' diagnostic tests)'; $this->consoleWrite(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT)); } elseif ($results->getFailureCount() == 0) { $line = $results->getWarningCount() . ' warnings, '; $line .= $results->getSuccessCount() . ' successful tests'; if ($results->getSkipCount() > 0) { $line .= ', ' . $results->getSkipCount() . ' skipped tests'; } if ($results->getUnknownCount() > 0) { $line .= ', ' . $results->getUnknownCount() . ' unknown test results'; } $line .= '.'; $this->consoleWrite(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT)); } else { $line = $results->getFailureCount() . ' failures, '; $line .= $results->getWarningCount() . ' warnings, '; $line .= $results->getSuccessCount() . ' successful tests'; if ($results->getSkipCount() > 0) { $line .= ', ' . $results->getSkipCount() . ' skipped tests'; } if ($results->getUnknownCount() > 0) { $line .= ', ' . $results->getUnknownCount() . ' unknown test results'; } $line .= '.'; $this->consoleWrite(str_pad($line, $this->width, ' ', STR_PAD_RIGHT)); } $this->consoleWriteLn(); $this->consoleWriteLn(); // Display a list of failures and warnings foreach ($results as $check) { /* @var $check \ZendDiagnostics\Check\CheckInterface */ /* @var $result \ZendDiagnostics\Result\ResultInterface */ $result = $results[$check]; if ($result instanceof FailureInterface) { $this->consoleWriteLn('Failure: ' . $check->getLabel()); $message = $result->getMessage(); if ($message) { $this->consoleWriteLn($message); } $this->consoleWriteLn(); } elseif ($result instanceof WarningInterface) { $this->consoleWriteLn('Warning: ' . $check->getLabel()); $message = $result->getMessage(); if ($message) { $this->consoleWriteLn($message); } $this->consoleWriteLn(); } elseif (!$result instanceof SuccessInterface) { $this->consoleWriteLn('Unknown result ' . get_class($result) . ': ' . $check->getLabel()); $message = $result->getMessage(); if ($message) { $this->consoleWriteLn($message); } $this->consoleWriteLn(); } } // Display information that the test has been aborted. if ($this->stopped) { $this->consoleWriteLn('Diagnostics aborted because of a failure.'); } }
public function testCounters() { $this->assertEquals(0, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(0, $this->collection->getFailureCount()); $this->assertEquals(0, $this->collection->getUnknownCount()); $success1 = new Success(); $test1 = new AlwaysSuccess(); $this->collection[$test1] = $success1; $this->assertEquals(1, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(0, $this->collection->getFailureCount()); $this->assertEquals(0, $this->collection->getUnknownCount()); $success2 = new Success(); $test2 = new AlwaysSuccess(); $this->collection[$test2] = $success2; $this->assertEquals(2, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(0, $this->collection->getFailureCount()); $this->assertEquals(0, $this->collection->getUnknownCount()); $failure1 = new Failure(); $test3 = new AlwaysSuccess(); $this->collection[$test3] = $failure1; $this->assertEquals(2, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(1, $this->collection->getFailureCount()); $this->assertEquals(0, $this->collection->getUnknownCount()); $warning1 = new Warning(); $test4 = new AlwaysSuccess(); $this->collection[$test4] = $warning1; $this->assertEquals(2, $this->collection->getSuccessCount()); $this->assertEquals(1, $this->collection->getWarningCount()); $this->assertEquals(1, $this->collection->getFailureCount()); $this->assertEquals(0, $this->collection->getUnknownCount()); $unknown = new Unknown(); $test5 = new AlwaysSuccess(); $this->collection[$test5] = $unknown; $this->assertEquals(2, $this->collection->getSuccessCount()); $this->assertEquals(1, $this->collection->getWarningCount()); $this->assertEquals(1, $this->collection->getFailureCount()); $this->assertEquals(1, $this->collection->getUnknownCount()); $failure2 = new Failure(); $this->collection[$test2] = $failure2; $this->assertEquals(1, $this->collection->getSuccessCount()); $this->assertEquals(1, $this->collection->getWarningCount()); $this->assertEquals(2, $this->collection->getFailureCount()); $this->assertEquals(1, $this->collection->getUnknownCount()); unset($this->collection[$test4]); $this->assertEquals(1, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(2, $this->collection->getFailureCount()); $this->assertEquals(1, $this->collection->getUnknownCount()); unset($this->collection[$test2]); $this->assertEquals(1, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(1, $this->collection->getFailureCount()); $this->assertEquals(1, $this->collection->getUnknownCount()); unset($this->collection[$test5]); $this->assertEquals(1, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(1, $this->collection->getFailureCount()); $this->assertEquals(0, $this->collection->getUnknownCount()); $this->collection[$test1] = $unknown; $this->assertEquals(0, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(1, $this->collection->getFailureCount()); $this->assertEquals(1, $this->collection->getUnknownCount()); $this->collection[$test3] = $warning1; $this->assertEquals(0, $this->collection->getSuccessCount()); $this->assertEquals(1, $this->collection->getWarningCount()); $this->assertEquals(0, $this->collection->getFailureCount()); $this->assertEquals(1, $this->collection->getUnknownCount()); $this->collection[$test3] = $success1; $this->assertEquals(1, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(0, $this->collection->getFailureCount()); $this->assertEquals(1, $this->collection->getUnknownCount()); $this->collection[$test1] = $success2; $this->assertEquals(2, $this->collection->getSuccessCount()); $this->assertEquals(0, $this->collection->getWarningCount()); $this->assertEquals(0, $this->collection->getFailureCount()); $this->assertEquals(0, $this->collection->getUnknownCount()); }
/** * This method is called when Runner has finished its run. * * @param ResultsCollection $results Collection of Results for performed Checks. * @return void */ public function onFinish(ResultsCollection $results) { /* @var $results \ZendDiagnostics\Result\Collection */ $this->console->writeLine(); $this->console->writeLine(); // Display a summary line if ($results->getFailureCount() == 0 && $results->getWarningCount() == 0 && $results->getUnknownCount() == 0 && $results->getSkipCount() == 0) { $line = 'OK (' . $this->total . ' diagnostic checks)'; $this->console->writeLine(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::GREEN); } elseif ($results->getFailureCount() == 0) { $line = $results->getWarningCount() . ' warnings'; if ($results->getSkipCount() > 0) { $line .= ', ' . $results->getSkipCount() . ' skipped checks'; } if ($results->getUnknownCount() > 0) { $line .= ', ' . $results->getUnknownCount() . ' unknown check results'; } $line .= ', ' . $results->getSuccessCount() . ' successful checks'; $line .= '.'; $this->console->writeLine(str_pad($line, $this->width - 1, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::YELLOW); } else { $line = $results->getFailureCount() . ' failures, '; $line .= $results->getWarningCount() . ' warnings'; if ($results->getSkipCount() > 0) { $line .= ', ' . $results->getSkipCount() . ' skipped checks'; } if ($results->getUnknownCount() > 0) { $line .= ', ' . $results->getUnknownCount() . ' unknown check results'; } $line .= ', ' . $results->getSuccessCount() . ' successful checks'; $line .= '.'; $this->console->writeLine(str_pad($line, $this->width, ' ', STR_PAD_RIGHT), Color::NORMAL, Color::RED); } $this->console->writeLine(); // Display a list of failures and warnings foreach ($results as $check) { /* @var $check CheckInterface */ /* @var $result ResultInterface */ $result = $results[$check]; if ($result instanceof Failure) { $this->console->writeLine('Failure: ' . $check->getLabel(), Color::RED); $message = $result->getMessage(); if ($message) { $this->console->writeLine($message, Color::RED); } $this->console->writeLine(); } elseif ($result instanceof Warning) { $this->console->writeLine('Warning: ' . $check->getLabel(), Color::YELLOW); $message = $result->getMessage(); if ($message) { $this->console->writeLine($message, Color::YELLOW); } $this->console->writeLine(); } elseif ($result instanceof Skip) { $this->console->writeLine('Skipped: ' . $check->getLabel(), Color::YELLOW); $message = $result->getMessage(); if ($message) { $this->console->writeLine($message, Color::YELLOW); } $this->console->writeLine(); } elseif (!$result instanceof Success) { $this->console->writeLine('Unknown result ' . get_class($result) . ': ' . $check->getLabel(), Color::YELLOW); $message = $result->getMessage(); if ($message) { $this->console->writeLine($message, Color::YELLOW); } $this->console->writeLine(); } } // Display information that the check has been aborted. if ($this->stopped) { $this->console->writeLine('Diagnostics aborted because of a failure.', Color::RED); } }