From d47b5211c3734bc9f67961f94e6a097a306f4b24 Mon Sep 17 00:00:00 2001 From: jeb228 Date: Thu, 26 Aug 2010 14:58:21 +0000 Subject: [PATCH] NIHVIVO-222 Use a condensed table to replace a lot of space-consuming output. --- .../output/OutputSummaryFormatter.java | 160 ++++++++---------- .../utilities/testrunner/output/summary.css | 29 +++- 2 files changed, 95 insertions(+), 94 deletions(-) diff --git a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/OutputSummaryFormatter.java b/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/OutputSummaryFormatter.java index fe3afcad8..5ef09e7fa 100644 --- a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/OutputSummaryFormatter.java +++ b/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/OutputSummaryFormatter.java @@ -59,10 +59,8 @@ public class OutputSummaryFormatter { writeHeader(writer); writeStatsSection(writer); writeErrorMessagesSection(writer); - writeFailureSection(writer); + writeCondensedTable(writer); writeIgnoreSection(writer); - writeSuitesSection(writer); - writeAllTestsSection(writer); writeSuiteErrorMessagesSection(writer); writeFooter(writer); } catch (IOException e) { @@ -190,102 +188,47 @@ public class OutputSummaryFormatter { w.println(); } - private void writeFailureSection(PrintWriter w) { - String errorClass = Status.ERROR.getHtmlClass(); - Collection failingTests = dataModel.getFailingTests(); - - w.println("
Failures
"); + private void writeCondensedTable(PrintWriter w) { + w.println("
Condensed List
"); w.println(); - w.println(" "); - w.println(" \n"); - if (failingTests.isEmpty()) { - w.println(" " - + ""); - } else { - Map failedSuiteMap = dataModel - .getSuitesWithFailureMessages(); - for (SuiteData s : failedSuiteMap.values()) { - w.println(" "); - w.println(" "); - w.println(" "); - w.println(" "); + w.println("
Suite nameTest name
No tests failed.
" + s.getName() + "" + outputLink(s) + "
"); + for (SuiteData s : dataModel.getAllSuites()) { + String sReason = ""; + if (s.getStatus() == Status.IGNORED) { + sReason = dataModel.getReasonForIgnoring(s.getName(), "*"); + } else if (s.getFailureMessages() != null) { + sReason = s.getFailureMessages().getErrout(); + } else if (s.getStatus() == Status.PENDING) { + sReason = Status.PENDING.toString(); } - for (TestData t : failingTests) { - if (!failedSuiteMap.containsKey(t.getSuiteName())) { - w.println(" "); - w.println(" "); - w.println(" "); - w.println(" "); + + w.println(" "); + w.println("
" + t.getSuiteName() + "" + outputLink(t) + "
"); + w.println("
" + outputLink(s) + + "
"); + if (!sReason.isEmpty()) { + // The entire class is either failed or pending or ignored. + w.println("
" + sReason + "
"); + } else { + // Show the individual tests. + for (TestData t : s.getTestMap().values()) { + String tClass = t.getStatus().getHtmlClass(); + String tReason = dataModel.getReasonForIgnoring( + s.getName(), t.getTestName()); + + w.println("
"); + w.println(" " + outputLink(t)); + if (!tReason.isEmpty()) { + w.println("
" + tReason + + "
"); + } + w.println("
"); } } - } - w.println("
"); - w.println(); - } - - private void writeIgnoreSection(PrintWriter w) { - String warnClass = Status.IGNORED.getHtmlClass(); - Collection ignoredTests = dataModel - .getIgnoredTestInfo(); - - w.println("
Ignored
"); - w.println(); - w.println(" "); - w.println(" " - + "\n"); - if (ignoredTests.isEmpty()) { - w.println(" " - + ""); - } else { - for (IgnoredTestInfo info : ignoredTests) { - String suiteName = info.suiteName; - String testName = info.testName; - String reason = dataModel.getReasonForIgnoring(suiteName, - testName); - - w.println(" "); - w.println(" "); - w.println(" "); - w.println(" "); - w.println(" "); - } - } - w.println("
Suite nameTest nameReason for ignoring
No tests ignored.
" + suiteName + "" + testName + "" + reason + "
"); - w.println(); - } - - private void writeSuitesSection(PrintWriter w) { - w.println("
Suites Summary
"); - w.println(); - w.println(" "); - - for (SuiteData s : dataModel.getAllSuites()) { - w.println(" "); - w.println(" "); - w.println(" "); + w.println(" "); w.println(" "); } - - w.println("
" + outputLink(s) + "" + s.getStatus() + "
"); - w.println(); - } - - private void writeAllTestsSection(PrintWriter w) { - Collection allTests = dataModel.getAllTests(); - - w.println("
All tests
"); - w.println(); - w.println(" "); - - w.println(" \n"); - for (TestData t : allTests) { - w.println(" "); - w.println(" "); - w.println(" "); - w.println(" "); - w.println(" "); - } - w.println("
Suite nameTest name 
" + t.getSuiteName() + "" + outputLink(t) + "" + t.getStatus() + "
"); w.println(); } @@ -321,6 +264,37 @@ public class OutputSummaryFormatter { } } + private void writeIgnoreSection(PrintWriter w) { + String warnClass = Status.IGNORED.getHtmlClass(); + Collection ignoredTests = dataModel + .getIgnoredTestInfo(); + + w.println("
Ignored
"); + w.println(); + w.println(" "); + w.println(" " + + "\n"); + if (ignoredTests.isEmpty()) { + w.println(" " + + ""); + } else { + for (IgnoredTestInfo info : ignoredTests) { + String suiteName = info.suiteName; + String testName = info.testName; + String reason = dataModel.getReasonForIgnoring(suiteName, + testName); + + w.println(" "); + w.println(" "); + w.println(" "); + w.println(" "); + w.println(" "); + } + } + w.println("
Suite nameTest nameReason for ignoring
No tests ignored.
" + suiteName + "" + testName + "" + reason + "
"); + w.println(); + } + private void writeFooter(PrintWriter w) { w.println("
Log
"); w.println("
");
diff --git a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/summary.css b/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/summary.css
index eb532716b..ec3c5831e 100644
--- a/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/summary.css
+++ b/utilities/testrunner/src/edu/cornell/mannlib/vitro/utilities/testrunner/output/summary.css
@@ -76,4 +76,31 @@ table.tallys td.total {
 	text-align: center;
 	margin: 15px 0px 0px 0px;
 	border: 1px solid black;
-}
\ No newline at end of file
+}
+
+table.condensed td {
+	border: 1px solid grey;
+	padding: 10px 5px 10px 5px;
+}
+
+table.condensed div.suite {
+	font-size: 85%;
+	font-weight: bold;
+	padding: 3px 3px 3px 3px;
+}
+
+table.condensed div.reason {
+	font-size: 70%;
+	font-style: italic;
+	padding: 3px 3px 3px 30px;
+}
+
+table.condensed div.test {
+	font-size: 70%;
+	padding: 3px 3px 3px 15px;
+}
+
+table.condensed div.test div.tReason{
+	font-style: italic;
+	padding: 3px 3px 3px 10px;
+}