You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by fm...@apache.org on 2010/09/06 20:22:58 UTC
svn commit: r993119 -
/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/testing/LoggingSuite.java
Author: fmeschbe
Date: Mon Sep 6 18:22:58 2010
New Revision: 993119
URL: http://svn.apache.org/viewvc?rev=993119&view=rev
Log:
SLING-1697 Improve logging of single test cases to the logger and to stdout
Modified:
sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/testing/LoggingSuite.java
Modified: sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/testing/LoggingSuite.java
URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/testing/LoggingSuite.java?rev=993119&r1=993118&r2=993119&view=diff
==============================================================================
--- sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/testing/LoggingSuite.java (original)
+++ sling/trunk/launchpad/testing/src/test/java/org/apache/sling/launchpad/testing/LoggingSuite.java Mon Sep 6 18:22:58 2010
@@ -5,9 +5,9 @@
* licenses this file to You under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -21,9 +21,9 @@
* licenses this file to You under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -43,23 +43,50 @@ import org.slf4j.Logger;
/**
* Simple TestSuite subclass which logs when each test is starting.
- *
*/
class LoggingSuite extends TestSuite {
private Logger logger;
+ private int lastRuns;
+
+ private int lastErrors;
+
+ private int lastFailures;
+
LoggingSuite(Set<Class<TestCase>> classSet, String name, Logger logger) {
super(classSet.toArray(new Class[classSet.size()]), name);
this.logger = logger;
}
@Override
+ public void run(TestResult result) {
+ // result.addListener(new SlingTestListener());
+ super.run(result);
+ }
+
+ @Override
public void runTest(Test test, TestResult result) {
- if (test instanceof TestSuite) {
- logger.info("Starting test run for class " + ((TestSuite) test).getName());
- }
+ final String name = (test instanceof TestSuite)
+ ? ((TestSuite) test).getName()
+ : test.getClass().getName();
+ final String startMessage = String.format("Running %s", name);
+ System.out.println(startMessage);
+ logger.info(startMessage);
+
super.runTest(test, result);
+
+ final String endMessage = String.format(
+ "Tests run: %d, Failures: %d, Errors: %d, Skipped: %d",
+ result.runCount() - lastRuns, result.failureCount() - lastFailures,
+ result.errorCount() - lastErrors,
+ test.countTestCases() - result.runCount() + lastRuns);
+ System.out.println(endMessage);
+ logger.info(endMessage);
+
+ lastRuns = result.runCount();
+ lastFailures = result.failureCount();
+ lastErrors = result.errorCount();
}
}