Author: dfabulich
Date: Thu May 1 20:25:29 2008
New Revision: 652745
URL: http://svn.apache.org/viewvc?rev=652745&view=rev
Log:
[SUREFIRE-474] Allow TestNG to use its built-in HTML Reporter. TestNG's
reporter works only at test time, so we just enable the default HTML reports at
runtime, but allow the user to manually disable them with the
usedefaultlisteners option. Special case for TestNG 4.7, which drops its
default XML files in the surefire-reports directory inappropriately; in that
case, usedefaultlisteners is false by default.
Modified:
maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/testng.apt
maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java
maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-listener-reporter/pom.xml
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/conf/AbstractDirectConfigurator.java
Modified:
maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/testng.apt
URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/testng.apt?rev=652745&r1=652744&r2=652745&view=diff
==============================================================================
--- maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/testng.apt
(original)
+++ maven/surefire/trunk/maven-surefire-plugin/src/site/apt/examples/testng.apt
Thu May 1 20:25:29 2008
@@ -126,6 +126,7 @@
* Using custom listeners and reporters
TestNG provides support for attaching custom listeners, reporters,
annotation transformers and method interceptors to your tests.
+ By default, TestNG attaches a few basic listeners to generate HTML and XML
reports.
You can configure multiple custom listeners like this:
@@ -137,6 +138,10 @@
<configuration>
<properties>
<property>
+ <name>usedefaultlisteners</name>
+ <value>false</value> <!-- disabling default listeners is optional -->
+ </property>
+ <property>
<name>listener</name>
<value>com.mycompany.MyResultListener,com.mycompany.MyAnnotationTransformer,com.mycompany.MyMethodInterceptor</value>
</property>
Modified:
maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java
URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java?rev=652745&r1=652744&r2=652745&view=diff
==============================================================================
---
maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java
(original)
+++
maven/surefire/trunk/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportParser.java
Thu May 1 20:25:29 2008
@@ -68,7 +68,7 @@
{
File reportsDirectory = reportsDirectories[i];
if ( !reportsDirectory.exists() ) continue;
- String[] xmlReportFiles = getIncludedFiles( reportsDirectory,
"*.xml", "*.txt, testng-failed.xml, testng-results.xml" );
+ String[] xmlReportFiles = getIncludedFiles( reportsDirectory,
"*.xml", "*.txt, testng-failed.xml, testng-failures.xml, testng-results.xml" );
for ( int j = 0; j < xmlReportFiles.length; j++ )
{
File xmlReport = new File( reportsDirectory, xmlReportFiles[j]
);
Modified:
maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-listener-reporter/pom.xml
URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-listener-reporter/pom.xml?rev=652745&r1=652744&r2=652745&view=diff
==============================================================================
---
maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-listener-reporter/pom.xml
(original)
+++
maven/surefire/trunk/surefire-integration-tests/src/test/resources/testng-listener-reporter/pom.xml
Thu May 1 20:25:29 2008
@@ -57,6 +57,7 @@
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<properties>
+
<property><name>usedefaultlisteners</name><value>false</value></property>
<property><name>listener</name><value>listenReport.ResultListener,listenReport.SuiteListener</value></property>
<property><name>reporter</name><value>listenReport.Reporter</value></property>
</properties>
Modified:
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java
URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java?rev=652745&r1=652744&r2=652745&view=diff
==============================================================================
---
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java
(original)
+++
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java
Thu May 1 20:25:29 2008
@@ -54,7 +54,7 @@
String classifier, ReporterManager reportManager,
SurefireTestSuite suite, File reportsDirectory )
throws TestSetFailedException
{
- TestNG testng = new TestNG( false );
+ TestNG testng = new TestNG( true );
Configurator configurator = getConfigurator( version );
configurator.configure( testng, options );
postConfigure( testng, testSourceDirectory, classifier, reportManager,
suite, reportsDirectory );
@@ -66,7 +66,7 @@
String classifier, ReporterManager reportManager,
SurefireTestSuite suite, File reportsDirectory )
throws TestSetFailedException
{
- TestNG testng = new TestNG( false );
+ TestNG testng = new TestNG( true );
Configurator configurator = getConfigurator( version );
configurator.configure( testng, options );
postConfigure( testng, testSourceDirectory, classifier, reportManager,
suite, reportsDirectory );
@@ -112,8 +112,6 @@
TestNGReporter reporter = createTestNGReporter( reportManager, suite );
testNG.addListener( (Object) reporter );
- attachNonStandardReporter( testNG, "org.testng.reporters.XMLReporter"
);
- attachNonStandardReporter( testNG,
"org.testng.reporters.FailedReporter" );
// FIXME: use classifier to decide if we need to pass along the source
dir (onyl for JDK14)
if ( sourcePath != null )
Modified:
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/conf/AbstractDirectConfigurator.java
URL:
http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/conf/AbstractDirectConfigurator.java?rev=652745&r1=652744&r2=652745&view=diff
==============================================================================
---
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/conf/AbstractDirectConfigurator.java
(original)
+++
maven/surefire/trunk/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/conf/AbstractDirectConfigurator.java
Thu May 1 20:25:29 2008
@@ -42,6 +42,7 @@
options.put( "excludedgroups", new Setter( "setExcludedGroups",
String.class ) );
options.put( "junit", new Setter( "setJUnit", Boolean.class ) );
options.put( "threadcount", new Setter( "setThreadCount", int.class )
);
+ options.put( "usedefaultlisteners", new Setter(
"setUseDefaultListeners", boolean.class ) );
this.setters = options;
}
@@ -49,6 +50,9 @@
{
// kind of ugly, but listeners are configured differently
final String listeners = (String) options.remove("listener");
+ // DGF In 4.7, default listeners dump XML files in the
surefire-reports directory,
+ // confusing the report plugin. This was fixed in later versions.
+ testng.setUseDefaultListeners( false );
for ( Iterator it = options.entrySet().iterator(); it.hasNext(); )
{
Map.Entry entry = (Map.Entry) it.next();