Author: jkuhnert
Date: Sat Mar 17 11:11:43 2007
New Revision: 519380
URL: http://svn.apache.org/viewvc?view=rev&rev=519380
Log:
Updated all relevant sections to bring surefire compatibility up to version 5.1
of TestNG.
-) Modified core TestNGDirectorySuite/ XmlSuite executors to use some testng
internal annotation helpers in order to
correctly operate in 1.4 or >= 1.5 jre's.
-) Modified TestNGReporter to properly handle failures after a test suite has
finished.
Still have more changes on reporting, and then attack the biggest pita of all
of finding a way to prevent all those silly breaks.
Added:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/Test1.java
- copied, changed from r519351,
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/SurefireTest1.java
Removed:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/SurefireTest1.java
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test3/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/src/test/java/TestNGSuiteTest.java
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/src/test/java/TestNGJavadocTest.java
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/src/test/java/TestNGTest.java
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test7/
(props changed)
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test7/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
maven/sandbox/branches/surefire/surefire-collaboration/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/surefire-api/src/main/java/org/apache/maven/surefire/Surefire.java
maven/sandbox/branches/surefire/surefire-collaboration/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/pom.xml
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnitTestSet.java
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/pom.xml
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/pom.xml
Sat Mar 17 11:11:43 2007
@@ -98,7 +98,7 @@
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-booter</artifactId>
- <version>2.3</version>
+ <version>2.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/pom.xml
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/pom.xml
Sat Mar 17 11:11:43 2007
@@ -36,6 +36,6 @@
<version>3.8.1</version>
<scope>test</scope>
</dependency>
- </dependencies>
+ </dependencies>
</project>
Copied:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/Test1.java
(from r519351,
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/SurefireTest1.java)
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/Test1.java?view=diff&rev=519380&p1=maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/SurefireTest1.java&r1=519351&p2=maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/Test1.java&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/SurefireTest1.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test1/src/test/java/Test1.java
Sat Mar 17 11:11:43 2007
@@ -3,7 +3,7 @@
import junit.framework.TestCase;
import junit.framework.TestSuite;
-public class SurefireTest1
+public class Test1
extends TestCase
{
@@ -11,7 +11,7 @@
private static boolean tearDownCalled = false;
- public SurefireTest1( String name, String extraName )
+ public Test1( String name, String extraName )
{
super( name );
}
@@ -19,7 +19,7 @@
public static Test suite()
{
TestSuite suite = new TestSuite();
- Test test = new SurefireTest1( "testSetUp", "dummy" );
+ Test test = new Test1( "testSetUp", "dummy" );
suite.addTest( test );
TestSetup setup = new TestSetup( suite )
{
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test3/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test3/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test3/pom.xml
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test3/pom.xml
Sat Mar 17 11:11:43 2007
@@ -43,7 +43,6 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>2.1</version>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/pom.xml
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/pom.xml
Sat Mar 17 11:11:43 2007
@@ -33,7 +33,7 @@
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>5.0.1</version>
+ <version>5.1</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/src/test/java/TestNGSuiteTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/src/test/java/TestNGSuiteTest.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/src/test/java/TestNGSuiteTest.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test4/src/test/java/TestNGSuiteTest.java
Sat Mar 17 11:11:43 2007
@@ -6,8 +6,6 @@
* Tests that forcing testng to run tests via the
* <code>"${maven.test.forcetestng}"</code> configuration option
* works.
- *
- * @author jkuhnert
*/
public class TestNGSuiteTest {
@@ -30,4 +28,4 @@
{
assert testObject != null : "testObject is null";
}
-}
\ No newline at end of file
+}
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/pom.xml
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/pom.xml
Sat Mar 17 11:11:43 2007
@@ -39,7 +39,7 @@
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>5.0.1</version>
+ <version>5.1</version>
<classifier>jdk14</classifier>
<scope>test</scope>
</dependency>
@@ -52,6 +52,7 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
+ <jvm>/usr/local/j2sdk1.4.2_13/bin/java</jvm>
<groups>functional</groups>
</configuration>
</plugin>
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/src/test/java/TestNGJavadocTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/src/test/java/TestNGJavadocTest.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/src/test/java/TestNGJavadocTest.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test5/src/test/java/TestNGJavadocTest.java
Sat Mar 17 11:11:43 2007
@@ -2,11 +2,7 @@
/**
- * Tests that forcing testng to run tests via the
- * <code>"${maven.test.forcetestng}"</code> configuration option
- * works.
- *
- * @author jkuhnert
+ * Simple javadoc based 1.4 jre unit test.
*/
public class TestNGJavadocTest {
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/pom.xml
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/pom.xml
Sat Mar 17 11:11:43 2007
@@ -33,7 +33,7 @@
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>5.0.1</version>
+ <version>5.1</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/src/test/java/TestNGTest.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/src/test/java/TestNGTest.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/src/test/java/TestNGTest.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test6/src/test/java/TestNGTest.java
Sat Mar 17 11:11:43 2007
@@ -1,3 +1,6 @@
+
+import static org.testng.Assert.*;
+
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -21,11 +24,11 @@
testObject = new Object();
}
- @AfterSuite(alwaysRun = true, groups = "functional")
+ @AfterSuite(groups = "functional")
public void check_Test_Count()
{
System.out.println("check_Test_Count(): " + m_testCount);
-
+
assert m_testCount == 3 : "Expected 3 tests to be run but local
count was " + m_testCount;
}
@@ -49,4 +52,4 @@
{
assert false == true : "Group specified by test shouldnt be
run.";
}
-}
\ No newline at end of file
+}
Propchange:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test7/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sat Mar 17 11:11:43 2007
@@ -0,0 +1 @@
+target
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test7/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test7/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test7/pom.xml
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/it/test7/pom.xml
Sat Mar 17 11:11:43 2007
@@ -39,7 +39,7 @@
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>5.0.1</version>
+ <version>5.1</version>
<classifier>jdk15</classifier>
<scope>test</scope>
</dependency>
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
Sat Mar 17 11:11:43 2007
@@ -573,7 +573,7 @@
if ( includes == null || includes.size() == 0 )
{
includes = new ArrayList(
- Arrays.asList( new String[]{"**/Test*.java",
"**/*Test.java", "**/*TestCase.java"} ) );
+ Arrays.asList( new String[]{"**/*Test*.java",
"**/*Test.java", "**/*TestCase.java"} ) );
}
if ( excludes == null || excludes.size() == 0 )
{
Modified: maven/sandbox/branches/surefire/surefire-collaboration/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
--- maven/sandbox/branches/surefire/surefire-collaboration/pom.xml (original)
+++ maven/sandbox/branches/surefire/surefire-collaboration/pom.xml Sat Mar 17
11:11:43 2007
@@ -94,7 +94,7 @@
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<!-- Require the latest version so that tests in surefire-api pass
due to an API change -->
- <version>2.3-SNAPSHOT</version>
+ <version>2.4-SNAPSHOT</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/surefire-api/src/main/java/org/apache/maven/surefire/Surefire.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/surefire-api/src/main/java/org/apache/maven/surefire/Surefire.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/surefire-api/src/main/java/org/apache/maven/surefire/Surefire.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/surefire-api/src/main/java/org/apache/maven/surefire/Surefire.java
Sat Mar 17 11:11:43 2007
@@ -144,7 +144,7 @@
{
String suiteClass = (String) definition[0];
Object[] params = (Object[]) definition[1];
-
+System.out.println("createSuiteFromDefinintion() : suiteClass " + suiteClass);
SurefireTestSuite suite = instantiateSuite( suiteClass, params,
surefireClassLoader );
suite.locateTestSets( testsClassLoader );
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/surefire-booter/src/main/java/org/apache/maven/surefire/booter/SurefireBooter.java
Sat Mar 17 11:11:43 2007
@@ -192,7 +192,7 @@
throws SurefireBooterForkException, SurefireExecutionException
{
boolean result = false;
-
+
if ( ForkConfiguration.FORK_NEVER.equals(
forkConfiguration.getForkMode() ) )
{
result = runSuitesInProcess();
@@ -219,7 +219,7 @@
{
throw new IllegalArgumentException( "Cannot only specify testSet
for single test suites" );
}
-
+
// TODO: replace with plexus
//noinspection CatchGenericClass,OverlyBroadCatchBlock
@@ -267,7 +267,7 @@
//noinspection CatchGenericClass,OverlyBroadCatchBlock
ClassLoader oldContextClassLoader =
Thread.currentThread().getContextClassLoader();
-
+
try
{
// The test classloader must be constructed first to avoid issues
with commons-logging until we properly
@@ -289,7 +289,7 @@
Boolean result = (Boolean) run.invoke( surefire, new
Object[]{reports, testSuites, surefireClassLoader,
testsClassLoader} );
-
+System.out.println("Surefirebooter finished");
return result.booleanValue();
}
catch ( InvocationTargetException e )
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/pom.xml
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/pom.xml?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/pom.xml
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/pom.xml
Sat Mar 17 11:11:43 2007
@@ -37,7 +37,7 @@
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>surefire-api</artifactId>
- <version>2.3-SNAPSHOT</version>
+ <version>2.4-SNAPSHOT</version>
<!-- commenting this due to MNG-2339
<version>${project.version}</version>
-->
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnitTestSet.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnitTestSet.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnitTestSet.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-junit/src/main/java/org/apache/maven/surefire/junit/JUnitTestSet.java
Sat Mar 17 11:11:43 2007
@@ -108,7 +108,7 @@
Class[] addListenerParamTypes =
interfacesImplementedByDynamicProxy;
addListenerMethod = testResultClass.getMethod(
ADD_LISTENER_METHOD, addListenerParamTypes );
-
+
if ( testInterface.isAssignableFrom( testClass )
)//testObject.getClass() ) )
{
countTestCasesMethod = testInterface.getMethod(
COUNT_TEST_CASES_METHOD, EMPTY_CLASS_ARRAY );
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGDirectoryTestSuite.java
Sat Mar 17 11:11:43 2007
@@ -27,6 +27,7 @@
import org.testng.ISuiteListener;
import org.testng.ITestListener;
import org.testng.TestNG;
+import org.testng.internal.annotations.AnnotationConfiguration;
import org.testng.xml.XmlClass;
import org.testng.xml.XmlSuite;
import org.testng.xml.XmlTest;
@@ -177,21 +178,35 @@
testNG.setXmlSuites( Collections.singletonList( suite ) );
testNG.setListenerClasses( new ArrayList() );
-
+
TestNGReporter reporter = new TestNGReporter( reporterManager, this );
testNG.addListener( (ITestListener) reporter );
testNG.addListener( (ISuiteListener) reporter );
-
+
+ String jre = System.getProperty("java.vm.version");
+ if (jre.indexOf("1.4") > -1) {
+
AnnotationConfiguration.getInstance().initialize(AnnotationConfiguration.JVM_14_CONFIG);
+
AnnotationConfiguration.getInstance().getAnnotationFinder().addSourceDirs(new
String[]{testSourceDirectory});
+ } else {
+
AnnotationConfiguration.getInstance().initialize(AnnotationConfiguration.JVM_15_CONFIG);
+ }
+
// Set source path so testng can find javadoc annotations if not in
1.5 jvm
if ( testSourceDirectory != null )
{
testNG.setSourcePath( testSourceDirectory );
}
-
+
// workaround for SUREFIRE-49
// TestNG always creates an output directory, and if not set the name
for the directory is "null"
testNG.setOutputDirectory( System.getProperty( "java.io.tmpdir" ) );
-
+
testNG.runSuitesLocally();
+
+ // need to execute report end after testng has completely finished as
the
+ // reporter methods don't get called in the order that would allow for
capturing
+ // failures that happen in before/after suite configuration methods
+
+ reporter.cleanupAfterTestsRun();
}
}
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGExecutor.java
Sat Mar 17 11:11:43 2007
@@ -24,6 +24,7 @@
import org.testng.ISuiteListener;
import org.testng.ITestListener;
import org.testng.TestNG;
+import org.testng.internal.annotations.AnnotationConfiguration;
import org.testng.xml.XmlSuite;
import java.util.ArrayList;
@@ -56,17 +57,30 @@
testNG.addListener( (ITestListener) reporter );
testNG.addListener( (ISuiteListener) reporter );
+ String jre = System.getProperty("java.vm.version");
+ if (jre.indexOf("1.4") > -1) {
+
AnnotationConfiguration.getInstance().initialize(AnnotationConfiguration.JVM_14_CONFIG);
+
AnnotationConfiguration.getInstance().getAnnotationFinder().addSourceDirs(new
String[]{testSourceDirectory});
+ } else {
+
AnnotationConfiguration.getInstance().initialize(AnnotationConfiguration.JVM_15_CONFIG);
+ }
+
// Set source path so testng can find javadoc annotations if not in
1.5 jvm
if ( testSourceDirectory != null )
{
testNG.setSourcePath( testSourceDirectory );
}
-
- // TODO: Doesn't find testng.xml based suites when these are
un-commented
- // TestNG ~also~ looks for the currentThread context classloader
- // ClassLoader oldClassLoader =
Thread.currentThread().getContextClassLoader();
- // Thread.currentThread().setContextClassLoader(
suite.getClass().getClassLoader() );
+
+ // workaround for SUREFIRE-49
+ // TestNG always creates an output directory, and if not set the name
for the directory is "null"
+ testNG.setOutputDirectory( System.getProperty( "java.io.tmpdir" ) );
+
testNG.runSuitesLocally();
- //Thread.currentThread().setContextClassLoader( oldClassLoader );
+
+ // need to execute report end after testng has completely finished as
the
+ // reporter methods don't get called in the order that would allow for
capturing
+ // failures that happen in before/after suite configuration methods
+
+ reporter.cleanupAfterTestsRun();
}
}
Modified:
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java
URL:
http://svn.apache.org/viewvc/maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java?view=diff&rev=519380&r1=519379&r2=519380
==============================================================================
---
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java
(original)
+++
maven/sandbox/branches/surefire/surefire-collaboration/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGReporter.java
Sat Mar 17 11:11:43 2007
@@ -37,8 +37,6 @@
* Listens for and provides and adaptor layer so that
* TestNG tests can report their status to the current
* [EMAIL PROTECTED] org.apache.maven.surefire.report.ReporterManager}.
- *
- * @author jkuhnert
*/
public class TestNGReporter
implements ITestListener, ISuiteListener
@@ -52,6 +50,10 @@
private Object source;
+ private boolean testStarted = false;
+
+ private ITestContext _finishContext;
+
/**
* Constructs a new instance that will listen to
* test updates from a [EMAIL PROTECTED] TestNG} class instance.
@@ -76,6 +78,8 @@
public void onTestStart( ITestResult result )
{
+ testStarted = true;
+
String rawString = bundle.getString( "testStarting" );
String group = groupString( result.getMethod().getGroups(),
result.getTestClass().getName() );
ReportEntry report = new ReportEntry( source, getUserFriendlyTestName(
result ), group, rawString );
@@ -85,6 +89,7 @@
public void onTestSuccess( ITestResult result )
{
+ testStarted = false;
ReportEntry report =
new ReportEntry( source, getUserFriendlyTestName( result ),
bundle.getString( "testSuccessful" ) );
reportManager.testSucceeded( report );
@@ -92,11 +97,22 @@
public void onTestFailure( ITestResult result )
{
+ // methods run after/before suite and other similar tests don't get
explicit test started calls
+ // because they are considered configuration methods, but if one of
them fails we need to change the
+ // test count and start it in case it wasn't already started so that
all failures / tests are properly
+ // reported
+
+ if (!testStarted) {
+
+ onTestStart(result);
+ }
+
+ testStarted = false;
String rawString = bundle.getString( "executeException" );
ReportEntry report = new ReportEntry( source, getUserFriendlyTestName(
result ), rawString,
new TestNGStackTraceWriter(
result ) );
-
+
reportManager.testFailed( report );
}
@@ -108,6 +124,7 @@
public void onTestSkipped( ITestResult result )
{
+ testStarted = false;
ReportEntry report =
new ReportEntry( source, getUserFriendlyTestName( result ),
bundle.getString( "testSkipped" ) );
@@ -118,6 +135,7 @@
{
String rawString = bundle.getString( "executeException" );
+ testStarted = false;
ReportEntry report = new ReportEntry( source, getUserFriendlyTestName(
result ), rawString,
new TestNGStackTraceWriter(
result ) );
@@ -144,14 +162,7 @@
public void onFinish( ITestContext context )
{
- String rawString = bundle.getString( "testSetCompletedNormally" );
-
- ReportEntry report =
- new ReportEntry( source, context.getName(), groupString(
context.getIncludedGroups(), null ), rawString );
-
- reportManager.testSetCompleted( report );
-
- reportManager.reset();
+ _finishContext = context;
}
public void onFinish( ISuite suite )
@@ -161,7 +172,25 @@
public void onStart( ISuite suite )
{
}
+
+ /**
+ * Should <em>always</em> be run after the entire TestNG suite has
finished running so that the
+ * report set correctly captures all failures / success within the suite -
especially those that happen in
+ * before/after suite configuration methods that would normally report 0
tests but have to be included as a test
+ * when they fail.
+ */
+ public void cleanupAfterTestsRun()
+ {
+ String rawString = bundle.getString( "testSetCompletedNormally" );
+
+ ReportEntry report =
+ new ReportEntry( source, _finishContext.getName(), groupString(
_finishContext.getIncludedGroups(), null ), rawString );
+ reportManager.testSetCompleted( report );
+
+ reportManager.reset();
+ }
+
/**
* Creates a string out of the list of testng groups in the
* form of <pre>"group1,group2,group3"</pre>.