Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

ENHANCEMENT TestReporter now reports incomplete tests properly

  • Loading branch information...
commit fc18b2c78879d8bad8d8be509b8842dcd9350792 1 parent 0e31846
@halkyon halkyon authored
Showing with 31 additions and 12 deletions.
  1. +20 −9 dev/CliTestReporter.php
  2. +11 −3 dev/SapphireTestReporter.php
View
29 dev/CliTestReporter.php
@@ -14,12 +14,19 @@ public function writeResults() {
$passCount = 0;
$failCount = 0;
$testCount = 0;
+ $incompleteCount = 0;
$errorCount = 0;
-
+
foreach($this->suiteResults['suites'] as $suite) {
foreach($suite['tests'] as $test) {
$testCount++;
- ($test['status'] == 1) ? $passCount++ : $failCount++;
+ if($test['status'] == 2) {
+ $incompleteCount++;
+ } elseif($test['status'] === 1) {
+ $passCount++;
+ } else {
+ $failCount++;
+ }
}
}
@@ -29,8 +36,9 @@ public function writeResults() {
} else {
echo SS_Cli::text(" AT LEAST ONE FAILURE ", "white", "red");
}
- echo "\n\n$testCount tests run: " . SS_Cli::text("$passCount passes", null) . ", ". SS_Cli::text("$failCount fails", null) . ", and 0 exceptions\n";
-
+
+ echo sprintf("\n\n%d tests run: %s, %s, and %s\n", $testCount, SS_Cli::text("$passCount passes"), SS_Cli::text("$failCount failures"), SS_Cli::text("$incompleteCount incomplete"));
+
if(function_exists('memory_get_peak_usage')) {
echo "Maximum memory usage: " . number_format(memory_get_peak_usage()/(1024*1024), 1) . "M\n\n";
}
@@ -72,7 +80,6 @@ public function endTest( PHPUnit_Framework_Test $test, $time) {
protected function writeTest($test) {
if ($test['status'] != 1) {
-
$filteredTrace = array();
$ignoredClasses = array('TestRunner');
foreach($test['trace'] as $item) {
@@ -88,11 +95,15 @@ protected function writeTest($test) {
&& $item['function'] == 'run') break;
}
-
- echo "\n\n" . SS_Cli::text($this->testNameToPhrase($test['name']) . "\n". $test['message'] . "\n", 'red', null, true);
- echo SS_Backtrace::get_rendered_backtrace($filteredTrace, true);
+
+ if( $test['status'] == 2) {
+ echo "\n" . SS_Cli::text($this->testNameToPhrase($test['name']) . "\n" . $test['message'] . "\n", 'yellow', null, true);
+ } else {
+ echo "\n" . SS_Cli::text($this->testNameToPhrase($test['name']) . "\n". $test['message'] . "\n", 'red', null, true);
+ echo SS_Backtrace::get_rendered_backtrace($filteredTrace, true);
+ }
echo "\n--------------------\n";
}
}
-}
+}
View
14 dev/SapphireTestReporter.php
@@ -274,16 +274,24 @@ private function getTestException(PHPUnit_Framework_Test $test, Exception $e) {
/**
* Display error bar if it exists
*/
- public function writeResults() {
+ public function writeResults() {
$passCount = 0;
$failCount = 0;
$testCount = 0;
+ $incompleteCount = 0;
$errorCount = 0;
foreach($this->suiteResults['suites'] as $suite) {
foreach($suite['tests'] as $test) {
$testCount++;
- ($test['status'] == 1) ? $passCount++ : $failCount++;
+ if($test['status'] == 2) {
+ $incompleteCount++;
+ } elseif($test['status'] == 1) {
+ $passCount++;
+ } else {
+ $failCount++;
+ }
+
if ($test['status'] != 1) {
echo "<div class=\"failure\"><span>&otimes; ". $this->testNameToPhrase($test['name']) ."</span><br>";
echo "<pre>".htmlentities($test['message'], ENT_COMPAT, 'UTF-8')."</pre><br>";
@@ -294,7 +302,7 @@ public function writeResults() {
}
$result = ($failCount > 0) ? 'fail' : 'pass';
echo "<div class=\"status $result\">";
- echo "<h2><span>$testCount</span> tests run: <span>$passCount</span> passes, <span>$failCount</span> fails, and <span>0</span> exceptions</h2>";
+ echo "<h2><span>$testCount</span> tests run: <span>$passCount</span> passes, <span>$failCount</span> failures, and <span>$incompleteCount</span> incomplete</h2>";
echo "</div>";
}
Please sign in to comment.
Something went wrong with that request. Please try again.