aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cz/crcs/ectester/common/output/BaseTextTestWriter.java')
-rw-r--r--src/cz/crcs/ectester/common/output/BaseTextTestWriter.java27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java
index 29eb671..f29d28e 100644
--- a/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java
+++ b/src/cz/crcs/ectester/common/output/BaseTextTestWriter.java
@@ -28,11 +28,10 @@ public abstract class BaseTextTestWriter implements TestWriter {
protected abstract String deviceString(TestSuite suite);
private String testString(Test t, String prefix) {
- if (!t.hasRun()) {
- return null;
- }
boolean compound = t instanceof CompoundTest;
+ Result result = t.getResult();
+
StringBuilder out = new StringBuilder();
out.append(t.ok() ? " OK " : "NOK ");
out.append(compound ? "┳ " : "━ ");
@@ -40,14 +39,14 @@ public abstract class BaseTextTestWriter implements TestWriter {
String widthSpec = "%-" + String.valueOf(width) + "s";
out.append(String.format(widthSpec, t.getDescription()));
out.append(" ┃ ");
- out.append(String.format("%-9s", t.getResultValue().name()));
+ out.append(String.format("%-9s", result.getValue().name()));
out.append(" ┃ ");
if (compound) {
CompoundTest test = (CompoundTest) t;
- out.append(test.getResultCause());
+ out.append(result.getCause().toString());
out.append(System.lineSeparator());
- Test[] tests = test.getTests();
+ Test[] tests = test.getStartedTests();
for (int i = 0; i < tests.length; ++i) {
if (i == tests.length - 1) {
out.append(prefix).append(" ┗ ");
@@ -76,6 +75,22 @@ public abstract class BaseTextTestWriter implements TestWriter {
output.flush();
}
+ private String errorString(Throwable error) {
+ StringBuilder sb = new StringBuilder();
+ for (Throwable t = error; t != null; t = t.getCause()) {
+ sb.append("═══ ").append(t.toString()).append(" ═══");
+ sb.append(System.lineSeparator());
+ }
+ return sb.toString();
+ }
+
+ @Override
+ public void outputError(Test t, Throwable cause) {
+ output.println(testString(t, ""));
+ output.print(errorString(cause));
+ output.flush();
+ }
+
@Override
public void end() {
}