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:dfabul...@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:dfabul...@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:dfabul...@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:dfabul...@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(); + } + }