You are viewing a plain text version of this content. The canonical link for it is here.
Posted to surefire-commits@maven.apache.org by df...@apache.org on 2008/05/02 05:25:30 UTC
svn commit: r652745 - in /maven/surefire/trunk:
maven-surefire-plugin/src/site/apt/examples/
maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/
surefire-integration-tests/src/test/resources/testng-listener-reporter/ su...
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();