You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kr...@apache.org on 2012/01/05 19:08:01 UTC
svn commit: r1227727 - in
/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its:
./ fixture/
Author: krosenvold
Date: Thu Jan 5 18:08:01 2012
New Revision: 1227727
URL: http://svn.apache.org/viewvc?rev=1227727&view=rev
Log:
o Removed last of the AbstractSurefireIntegrationTestClass usages
Removed:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/AbstractSurefireIntegrationTestClass.java
Modified:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TwoTestCasesIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierTestClass2.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/TestFile.java
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java?rev=1227727&r1=1227726&r2=1227727&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgVersionsIT.java Thu Jan 5 18:08:01 2012
@@ -19,12 +19,8 @@ package org.apache.maven.surefire.its;
* under the License.
*/
-import org.apache.maven.it.Verifier;
-import org.apache.maven.it.util.ResourceExtractor;
-import org.apache.maven.surefire.its.misc.HelperAssertions;
-
-import java.io.File;
-import java.util.List;
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireVerifierTestClass2;
/**
* Basic suite test using all known versions of TestNG. Used for regression testing Surefire against old versions.
@@ -34,7 +30,7 @@ import java.util.List;
* @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
*/
public class CheckTestNgVersionsIT
- extends AbstractSurefireIntegrationTestClass
+ extends SurefireVerifierTestClass2
{
public void test47()
@@ -157,17 +153,8 @@ public class CheckTestNgVersionsIT
public void runTestNgTest( String version )
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/testng-simple" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- List<String> arguments = this.getInitialGoals( version );
- arguments.add( "test" );
-
- executeGoals( verifier, arguments );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
- IntegrationTestSuiteResults suite = HelperAssertions.parseTestResults( testDir );
- HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, suite );
+ final OutputValidator outputValidator = unpack( "testng-simple" ).resetInitialGoals( version ).executeTest();
+ outputValidator.verifyErrorFreeLog().assertTestSuiteResults( 1, 0, 0, 0 );
}
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java?rev=1227727&r1=1227726&r2=1227727&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeIT.java Thu Jan 5 18:08:01 2012
@@ -19,16 +19,12 @@ package org.apache.maven.surefire.its;
* under the License.
*/
-import org.apache.maven.it.VerificationException;
-import org.apache.maven.it.Verifier;
-import org.apache.maven.it.util.ResourceExtractor;
-import org.apache.maven.surefire.its.misc.HelperAssertions;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
import java.io.IOException;
-import java.util.List;
+import org.apache.maven.it.VerificationException;
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireLauncher;
+import org.apache.maven.surefire.its.fixture.SurefireVerifierTestClass2;
+import org.apache.maven.surefire.its.fixture.TestFile;
/**
* Test forkMode
@@ -36,36 +32,34 @@ import java.util.List;
* @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
*/
public class ForkModeIT
- extends AbstractSurefireIntegrationTestClass
+ extends SurefireVerifierTestClass2
{
public void testForkModeAlways()
throws Exception
{
- String[] pids = doTest( "always" );
+ String[] pids = doTest( unpack( getProject() ).forkAlways());
assertDifferentPids( pids );
}
public void testForkModePerTest()
throws Exception
{
- String[] pids = doTest( "pertest" );
-
+ String[] pids = doTest( unpack( getProject() ).forkPerTest());
assertDifferentPids( pids );
}
public void testForkModeNever()
throws Exception
{
- String[] pids = doTest( "never" );
-
+ String[] pids = doTest( unpack( getProject() ).forkNever() );
assertSamePids( pids );
}
public void testForkModeNone()
throws Exception
{
- String[] pids = doTest( "none" );
+ String[] pids = doTest( unpack( getProject() ).forkMode( "none" ));
assertSamePids( pids );
}
@@ -73,7 +67,7 @@ public class ForkModeIT
public void testForkModeOnce()
throws Exception
{
- String[] pids = doTest( "once" );
+ String[] pids = doTest( unpack( getProject() ).forkOnce());
// DGF It would be nice to assert that "once" was different
// from "never" ... but there's no way to check the PID of
// Maven itself. No matter, "once" is tested by setting
@@ -105,27 +99,16 @@ public class ForkModeIT
}
}
- private String[] doTest( String forkMode )
+ private String[] doTest( SurefireLauncher forkMode )
throws IOException, VerificationException
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), getProject() );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- List<String> goals = this.getInitialGoals();
- goals.add( "test" );
- goals.add( "-DforkMode=" + forkMode );
- executeGoals( verifier, goals );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- HelperAssertions.assertTestSuiteResults( 3, 0, 0, 0, testDir );
-
- File targetDir = new File( testDir, "target" );
+ final OutputValidator outputValidator = forkMode.executeTest();
+ outputValidator.verifyErrorFreeLog().assertTestSuiteResults( 3, 0, 0, 0 );
String[] pids = new String[3];
for ( int i = 1; i <= pids.length; i++ )
{
- File pidFile = new File( targetDir, "test" + i + "-pid" );
- String pid = slurpFile( pidFile );
+ final TestFile targetFile = outputValidator.getTargetFile( "test" + i + "-pid" );
+ String pid = targetFile.slurpFile();
pids[i - 1] = pid;
}
return pids;
@@ -133,19 +116,7 @@ public class ForkModeIT
protected String getProject()
{
- return "/fork-mode";
+ return "fork-mode";
}
- private String slurpFile( File textFile )
- throws IOException
- {
- StringBuffer sb = new StringBuffer();
- BufferedReader reader = new BufferedReader( new FileReader( textFile ) );
- for ( String line = reader.readLine(); line != null; line = reader.readLine() )
- {
- sb.append( line );
- }
- reader.close();
- return sb.toString();
- }
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java?rev=1227727&r1=1227726&r2=1227727&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/ForkModeTestNGIT.java Thu Jan 5 18:08:01 2012
@@ -29,6 +29,6 @@ public class ForkModeTestNGIT
{
protected String getProject()
{
- return "/fork-mode-testng";
+ return "fork-mode-testng";
}
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TwoTestCasesIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TwoTestCasesIT.java?rev=1227727&r1=1227726&r2=1227727&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TwoTestCasesIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TwoTestCasesIT.java Thu Jan 5 18:08:01 2012
@@ -23,8 +23,8 @@ import java.io.File;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.maven.it.Verifier;
-import org.apache.maven.it.util.ResourceExtractor;
+import org.apache.maven.surefire.its.fixture.OutputValidator;
+import org.apache.maven.surefire.its.fixture.SurefireVerifierTestClass2;
import org.apache.maven.surefire.its.misc.HelperAssertions;
import org.apache.maven.surefire.its.misc.ReportTestSuite;
@@ -34,19 +34,12 @@ import org.apache.maven.surefire.its.mis
* @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
*/
public class TwoTestCasesIT
- extends AbstractSurefireIntegrationTestClass
+ extends SurefireVerifierTestClass2
{
public void testTwoTestCases()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/junit-twoTestCases" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- this.executeGoal( verifier, "test" );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- HelperAssertions.assertTestSuiteResults( 2, 0, 0, 0, testDir );
+ unpack( "junit-twoTestCases" ).executeTest().verifyErrorFreeLog().assertTestSuiteResults( 2, 0, 0, 0 );
}
/**
@@ -55,13 +48,9 @@ public class TwoTestCasesIT
public void testTwoTestCaseSuite()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/junit-twoTestCaseSuite" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- this.executeGoal( verifier, "test" );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
- List<ReportTestSuite> reports = HelperAssertions.extractReports( ( new File[]{ testDir } ) );
+ final OutputValidator outputValidator = unpack( "junit-twoTestCaseSuite" ).executeTest();
+ outputValidator.verifyErrorFreeLog().assertTestSuiteResults( 2, 0, 0, 0 );
+ List<ReportTestSuite> reports = HelperAssertions.extractReports( ( new File[]{ outputValidator.getBaseDir() } ) );
Set<String> classNames = extractClassNames( reports );
assertContains( classNames, "junit.twoTestCaseSuite.BasicTest" );
assertContains( classNames, "junit.twoTestCaseSuite.TestTwo" );
@@ -92,14 +81,10 @@ public class TwoTestCasesIT
public void testJunit4Suite()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/junit4-twoTestCaseSuite" );
+ final OutputValidator outputValidator = unpack( "junit4-twoTestCaseSuite" ).executeTest();
+ outputValidator.verifyErrorFreeLog().assertTestSuiteResults( 2, 0, 0, 0 );
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- this.executeGoal( verifier, "test" );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- List<ReportTestSuite> reports = HelperAssertions.extractReports( ( new File[]{ testDir } ) );
+ List<ReportTestSuite> reports = HelperAssertions.extractReports( ( new File[]{ outputValidator.getBaseDir() } ) );
Set<String> classNames = extractClassNames( reports );
assertContains( classNames, "twoTestCaseSuite.BasicTest" );
assertContains( classNames, "twoTestCaseSuite.Junit4TestTwo" );
@@ -111,14 +96,9 @@ public class TwoTestCasesIT
public void testTestNGSuite()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/testng-twoTestCaseSuite" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- this.executeGoal( verifier, "test" );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- List<ReportTestSuite> reports = HelperAssertions.extractReports( ( new File[]{ testDir } ) );
+ final OutputValidator outputValidator = unpack( "testng-twoTestCaseSuite" ).executeTest();
+ outputValidator.verifyErrorFreeLog().assertTestSuiteResults( 2, 0, 0, 0 );
+ List<ReportTestSuite> reports = HelperAssertions.extractReports( ( new File[]{ outputValidator.getBaseDir() } ) );
Set<String> classNames = extractClassNames( reports );
assertContains( classNames, "testng.two.TestNGTestTwo" );
assertContains( classNames, "testng.two.TestNGSuiteTest" );
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirIT.java?rev=1227727&r1=1227726&r2=1227727&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/UmlautDirIT.java Thu Jan 5 18:08:01 2012
@@ -21,11 +21,11 @@ package org.apache.maven.surefire.its;
import java.io.File;
import java.io.IOException;
-import java.util.List;
+import org.apache.maven.it.VerificationException;
import org.apache.maven.it.Verifier;
import org.apache.maven.it.util.FileUtils;
-import org.apache.maven.it.util.ResourceExtractor;
-import org.apache.maven.surefire.its.misc.HelperAssertions;
+import org.apache.maven.surefire.its.fixture.SurefireLauncher;
+import org.apache.maven.surefire.its.fixture.SurefireVerifierTestClass2;
/**
* Test a directory with an umlaut
@@ -33,47 +33,28 @@ import org.apache.maven.surefire.its.mis
* @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
*/
public class UmlautDirIT
- extends AbstractSurefireIntegrationTestClass
+ extends SurefireVerifierTestClass2
{
- File testDir;
-
public void testUmlaut()
throws Exception
{
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- this.executeGoal( verifier, "test" );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+ specialUnpack().executeTest().verifyErrorFreeLog().assertTestSuiteResults( 1, 0, 0, 0 );
}
public void testUmlautIsolatedClassLoader()
throws Exception
{
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- List<String> goals = this.getInitialGoals();
- goals.add( "test" );
- goals.add( "-DuseSystemClassLoader=false" );
- executeGoals( verifier, goals );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+ specialUnpack().useSystemClassLoader(false).executeTest().assertTestSuiteResults( 1, 0, 0, 0 );
}
- public void setUp()
- throws IOException
+ SurefireLauncher specialUnpack()
+ throws VerificationException, IOException
{
- String tempDirPath = System.getProperty( "maven.test.tmpdir", System.getProperty( "java.io.tmpdir" ) );
- File tempDir = new File( tempDirPath );
- File targetDir = new File( "target" ).getAbsoluteFile();
- if ( targetDir.exists() && targetDir.isDirectory() )
- {
- tempDir = targetDir;
- }
- testDir = new File( tempDir, "/junit-pathWith\u00DCmlaut" );
- FileUtils.deleteDirectory( testDir );
- testDir = ResourceExtractor.extractResourcePath( getClass(), "/junit-pathWithUmlaut", testDir, true );
+ final File unpackLocation = unpack( "junit-pathWithUmlaut" ).getUnpackLocation();
+ File dest = new File( unpackLocation.getParentFile().getPath(),"/junit-pathWith\u00DCmlaut");
+ FileUtils.deleteDirectory( dest );
+ unpackLocation.renameTo( dest );
+ return new SurefireLauncher( new Verifier( dest.getAbsolutePath() ) );
}
+
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java?rev=1227727&r1=1227726&r2=1227727&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireLauncher.java Thu Jan 5 18:08:01 2012
@@ -71,7 +71,7 @@ public class SurefireLauncher
}
- protected SurefireLauncher( Verifier verifier )
+ public SurefireLauncher( Verifier verifier )
{
this.verifier = verifier;
this.surefireVerifier = new OutputValidator( verifier );
@@ -149,6 +149,36 @@ public class SurefireLauncher
return goals1;
}
+ // Todo remove duplication between this and getInitialGoals
+ public SurefireLauncher resetInitialGoals( String testNgVersion )
+ {
+ List<String> goals = new ArrayList<String>();
+ goals.add( "-Dsurefire.version=" + surefireVersion );
+
+ if ( testNgVersion != null )
+ {
+ goals.add( "-DtestNgVersion=" + testNgVersion );
+
+ ArtifactVersion v = new DefaultArtifactVersion( testNgVersion );
+ try
+ {
+ if ( VersionRange.createFromVersionSpec( "(,5.12.1)" ).containsVersion( v ) )
+ {
+ goals.add( "-DtestNgClassifier=jdk15" );
+ }
+ }
+ catch ( InvalidVersionSpecificationException e )
+ {
+ throw new RuntimeException( e.getMessage(), e );
+ }
+ }
+
+ this.goals.clear();
+ this.goals.addAll( goals );
+ return this;
+ }
+
+
public void assertPresent( File file )
{
verifier.assertFilePresent( file.getAbsolutePath() );
@@ -265,6 +295,10 @@ public class SurefireLauncher
{
return forkMode( "always" );
}
+ public SurefireLauncher forkPerTest()
+ {
+ return forkMode( "pertest" );
+ }
public SurefireLauncher forkMode( String forkMode )
{
@@ -281,6 +315,11 @@ public class SurefireLauncher
return addGoal( "-DfailIfNoTests=" + fail );
}
+ public SurefireLauncher useSystemClassLoader( boolean useSystemClassLoader)
+ {
+ return addGoal( "-DuseSystemClassLoader=" + useSystemClassLoader );
+ }
+
public SurefireLauncher activateProfile( String profile )
{
return addGoal( "-P" + profile );
@@ -440,4 +479,8 @@ public class SurefireLauncher
{
return failIfNoTests;
}
+
+ public File getUnpackLocation(){
+ return new File(verifier.getBasedir());
+ }
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierTestClass2.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierTestClass2.java?rev=1227727&r1=1227726&r2=1227727&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierTestClass2.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierTestClass2.java Thu Jan 5 18:08:01 2012
@@ -37,9 +37,9 @@ import junit.framework.TestCase;
public abstract class SurefireVerifierTestClass2
extends TestCase
{
- public SurefireLauncher unpack( String projectName )
+ public SurefireLauncher unpack( String sourceName )
throws VerificationException, IOException
{
- return new SurefireLauncher( this.getClass(), projectName );
+ return new SurefireLauncher( this.getClass(), sourceName );
}
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/TestFile.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/TestFile.java?rev=1227727&r1=1227726&r2=1227727&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/TestFile.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/TestFile.java Thu Jan 5 18:08:01 2012
@@ -19,9 +19,12 @@ package org.apache.maven.surefire.its.fi
* under the License.
*/
+import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
import static junit.framework.Assert.assertTrue;
@@ -66,4 +69,18 @@ public class TestFile {
{
return new FileInputStream( file );
}
+
+ public String slurpFile()
+ throws IOException
+ {
+ StringBuilder sb = new StringBuilder();
+ BufferedReader reader = new BufferedReader( new FileReader( file ) );
+ for ( String line = reader.readLine(); line != null; line = reader.readLine() )
+ {
+ sb.append( line );
+ }
+ reader.close();
+ return sb.toString();
+ }
+
}