import java.io.PrintWriter;
import java.io.StringWriter;
+import java.util.List;
import java.util.logging.ConsoleHandler;
import java.util.logging.Formatter;
import java.util.logging.Level;
currentLine = CurrentLine.NEW;
}
+ public void summarizeFailures(List<String> failureNames) {
+ System.out.println("Failure summary:");
+ for (String failureName : failureNames) {
+ System.out.println(red(failureName));
+ }
+ }
+
/**
* Prints the action output with appropriate indentation.
*/
package vogar;
import java.io.File;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
private final long timeoutSeconds;
private int successes = 0;
private int failures = 0;
+ private List<String> failureNames = new ArrayList<String>();
private Timer actionTimeoutTimer = new Timer("action timeout", true);
}
if (failures > 0 || unsupportedActions > 0) {
+ Collections.sort(failureNames);
+ console.summarizeFailures(failureNames);
logger.info(String.format("Outcomes: %s. Passed: %d, Failed: %d, Skipped: %d",
(successes + failures), successes, failures, unsupportedActions));
} else {
successes++;
} else {
failures++;
+ failureNames.add(outcome.getName());
}
console.outcome(outcome.getName());
console.printResult(outcome.getResult(), ok);