/** * Called when a test run finishes. * * @param unittest.TestSuite suite * @param unittest.TestResult result */ public function testRunFinished(\unittest\TestSuite $suite, \unittest\TestResult $result) { $this->out->writeLine(']'); // Show failed test details $fail = false; if ($result->failureCount() > 0) { $this->out->writeLine(); foreach ($result->failed as $failure) { $this->out->writeLine('F ', $failure); } $fail = true; } $this->out->writeLinef("\n%s: %d/%d run (%d skipped), %d succeeded, %d failed%s", $this->colored ? $fail ? "[41;1;37m✗" : "[42;1;37m✓" : ($fail ? 'FAIL' : 'OK'), $result->runCount(), $result->count(), $result->skipCount(), $result->successCount(), $result->failureCount(), $this->colored ? "[0m" : ''); $this->out->writeLinef('Memory used: %.2f kB (%.2f kB peak)', Runtime::getInstance()->memoryUsage() / 1024, Runtime::getInstance()->peakMemoryUsage() / 1024); $this->out->writeLinef('Time taken: %.3f seconds', $result->elapsed()); }
/** * Called when a test run finishes. * * @param unittest.TestSuite suite * @param unittest.TestResult result */ public function testRunFinished(TestSuite $suite, \unittest\TestResult $result) { $this->out->writef("]2;%s: %d/%d run (%d skipped), %d succeeded, %d failed", $result->failureCount() > 0 ? 'FAIL' : 'OK', $result->runCount(), $result->count(), $result->skipCount(), $result->successCount(), $result->failureCount()); }
/** * Called when a test run finishes. * * @param unittest.TestSuite suite * @param unittest.TestResult result */ public function testRunFinished(\unittest\TestSuite $suite, \unittest\TestResult $result) { // Details if ($result->successCount() > 0) { $this->out->writeLine("\n---> Succeeeded:"); foreach (array_keys($result->succeeded) as $key) { $this->out->writeLine('* ', $result->succeeded[$key]); } } if ($result->skipCount() > 0) { $this->out->writeLine("\n---> Skipped:"); foreach (array_keys($result->skipped) as $key) { $this->out->writeLine('* ', $result->skipped[$key]); } } if ($result->failureCount() > 0) { $this->out->writeLine("\n---> Failed:"); foreach (array_keys($result->failed) as $key) { $this->out->writeLine('* ', $result->failed[$key]); } } $this->out->writeLinef("\n===> %s: %d run (%d skipped), %d succeeded, %d failed", $result->failureCount() ? 'FAIL' : 'OK', $result->runCount(), $result->skipCount(), $result->successCount(), $result->failureCount()); $this->out->writeLinef('===> Memory used: %.2f kB (%.2f kB peak)', Runtime::getInstance()->memoryUsage() / 1024, Runtime::getInstance()->peakMemoryUsage() / 1024); $this->out->writeLinef('===> Time taken: %.3f seconds', $result->elapsed()); }
/** * Run this test suite * * @return unittest.TestResult */ public function run() { $this->notifyListeners('testRunStarted', [$this]); $result = new TestResult(); try { foreach ($this->sources as $classname => $groups) { $class = new XPClass($classname); // Run all tests in this class try { $this->beforeClass($class); } catch (PrerequisitesNotMetError $e) { foreach ($groups as $group) { foreach ($group->tests() as $test) { $this->notifyListeners('testSkipped', [$result->setSkipped($test, $e, 0.0)]); } } continue; } foreach ($groups as $group) { foreach ($group->tests() as $test) { $this->runInternal($test, $result); } } $this->afterClass($class); } $this->notifyListeners('testRunFinished', [$this, $result, null]); } catch (StopTests $stop) { $this->notifyListeners('testRunFinished', [$this, $result, $stop]); } return $result; }
/** * Called when a test run finishes. * * @param unittest.TestSuite suite * @param unittest.TestResult result */ public function testRunFinished(\unittest\TestSuite $suite, \unittest\TestResult $result) { $this->writeStatus(); $this->out->writeLine(); // Summary output $this->out->writeLinef("\n%s: %d/%d run (%d skipped), %d succeeded, %d failed", $result->failureCount() > 0 ? 'FAIL' : 'OK', $result->runCount(), $result->count(), $result->skipCount(), $result->successCount(), $result->failureCount()); $this->out->writeLinef('Memory used: %.2f kB (%.2f kB peak)', \lang\Runtime::getInstance()->memoryUsage() / 1024, \lang\Runtime::getInstance()->peakMemoryUsage() / 1024); $this->out->writeLinef('Time taken: %.3f seconds', $result->elapsed()); }
/** * Run this test suite * * @return unittest.TestResult */ public function run() { $this->notifyListeners('testRunStarted', [$this]); $result = new TestResult(); foreach ($this->order as $classname => $tests) { $class = XPClass::forName($classname); // Run all tests in this class try { $this->beforeClass($class); } catch (PrerequisitesNotMetError $e) { foreach ($tests as $i) { $this->notifyListeners('testSkipped', [$result->setSkipped($this->tests[$i], $e, 0.0)]); } continue; } foreach ($tests as $i) { $this->runInternal($this->tests[$i], $result); } $this->afterClass($class); } $this->notifyListeners('testRunFinished', [$this, $result]); return $result; }
/** * Called when a test run finishes. * * @param unittest.TestSuite $suite * @param unittest.TestResult $result * @param unittest.StopTests $stop */ public function testRunFinished(\unittest\TestSuite $suite, \unittest\TestResult $result, \unittest\StopTests $stopped = null) { $failed = $result->failureCount(); if ($stopped) { $this->out->writeLine('|'); $indicator = ($this->colored ? "[43;1;30m■ " : 'STOP ') . $stopped->getMessage(); } else { if ($failed) { $this->out->writeLine(']'); $indicator = $this->colored ? "[41;1;37m×" : 'FAIL'; } else { $this->out->writeLine(']'); $indicator = $this->colored ? "[42;1;37m♥" : 'OK'; } } // Show failed test details if ($failed) { $this->out->writeLine(); foreach ($result->failed as $failure) { $this->out->writeLine('F ', $failure); } } $this->out->writeLinef("\n%s: %d/%d run (%d skipped), %d succeeded, %d failed%s", $indicator, $result->runCount(), $result->count(), $result->skipCount(), $result->successCount(), $result->failureCount(), $this->colored ? "[0m" : ''); $this->out->writeLinef('Memory used: %.2f kB (%.2f kB peak)', Runtime::getInstance()->memoryUsage() / 1024, Runtime::getInstance()->peakMemoryUsage() / 1024); $this->out->writeLinef('Time taken: %.3f seconds', $result->elapsed()); }