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/03 22:00:02 UTC
svn commit: r1226944 -
/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/
Author: krosenvold
Date: Tue Jan 3 21:00:02 2012
New Revision: 1226944
URL: http://svn.apache.org/viewvc?rev=1226944&view=rev
Log:
o Added a specialized verifier, changed more tests
Added:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifier.java (with props)
Modified:
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgExecuteErrorIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgJdk14IT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/EnvironmentVariableIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire162CharsetProviderIT.java
maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifierTestClass.java
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java?rev=1226944&r1=1226943&r2=1226944&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckSingleTestIT.java Tue Jan 3 21:00:02 2012
@@ -19,13 +19,8 @@ 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.File;
-import java.util.List;
+import org.apache.maven.it.VerificationException;
/**
* Test running a single test with -Dtest=BasicTest
@@ -33,85 +28,60 @@ import java.util.List;
* @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
*/
public class CheckSingleTestIT
- extends AbstractSurefireIntegrationTestClass
+ extends SurefireVerifierTestClass
{
+
+ public CheckSingleTestIT()
+ {
+ super( "/default-configuration" );
+ }
+
public void testSingleTest()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/default-configuration" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- List<String> goals = this.getInitialGoals();
- goals.add( "test" );
- goals.add( "-Dtest=BasicTest" );
- executeGoals( verifier, goals );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+ addD( "test", "BasicTest" );
+ executeTest();
+ verifyErrorFreeLog();
+ assertTestSuiteResults( 1, 0, 0, 0 );
}
public void testSingleTestDotJava()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/default-configuration" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- List<String> goals = this.getInitialGoals();
- goals.add( "test" );
- goals.add( "-Dtest=BasicTest.java" );
- executeGoals( verifier, goals );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+ addD( "test", "BasicTest.java" );
+ executeTest();
+ verifyErrorFreeLog();
+ assertTestSuiteResults( 1, 0, 0, 0 );
}
public void testSingleTestNonExistent()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/default-configuration" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- List<String> goals = this.getInitialGoals();
- goals.add( "test" );
- goals.add( "-Dtest=DoesNotExist" );
-
+ addD( "test", "DoesNotExist" );
try
{
- executeGoals( verifier, goals );
- verifier.verifyErrorFreeLog();
+ executeTest();
+ verifyErrorFreeLog();
fail( "Build should have failed" );
}
catch ( VerificationException e )
{
// as expected
}
- finally
- {
- verifier.resetStreams();
- }
- File reportsDir = new File( testDir, "target/surefire-reports" );
+ File reportsDir = getTargetFile( "surefire-reports" );
assertFalse( "Unexpected reports directory", reportsDir.exists() );
}
public void testSingleTestNonExistentOverride()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/default-configuration" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- List<String> goals = this.getInitialGoals();
- goals.add( "test" );
- goals.add( "-Dtest=DoesNotExist" );
- goals.add( "-DfailIfNoTests=false" );
- executeGoals( verifier, goals );
-
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
+ addD( "test", "DoesNotExist.java" );
+ failIfNoTests( false );
+ executeTest();
+ verifyErrorFreeLog();
- File reportsDir = new File( testDir, "target/surefire-reports" );
+ File reportsDir = getTargetFile( "surefire-reports" );
assertFalse( "Unexpected reports directory", reportsDir.exists() );
}
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgExecuteErrorIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgExecuteErrorIT.java?rev=1226944&r1=1226943&r2=1226944&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgExecuteErrorIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgExecuteErrorIT.java Tue Jan 3 21:00:02 2012
@@ -19,10 +19,7 @@ package org.apache.maven.surefire.its;
* under the License.
*/
-import java.io.File;
import org.apache.maven.it.VerificationException;
-import org.apache.maven.it.Verifier;
-import org.apache.maven.it.util.ResourceExtractor;
/**
* Test for checking that the output from a forked suite is properly captured even if the suite encounters a severe error.
@@ -30,23 +27,25 @@ import org.apache.maven.it.util.Resource
* @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
*/
public class CheckTestNgExecuteErrorIT
- extends AbstractSurefireIntegrationTestClass
+ extends SurefireVerifierTestClass
{
+
+ public CheckTestNgExecuteErrorIT()
+ {
+ super( "/testng-execute-error" );
+ }
+
public void testExecuteError()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/testng-execute-error" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
try
{
- this.executeGoal( verifier, "test" );
+ executeTest();
}
- catch ( VerificationException e )
+ catch ( VerificationException ignore )
{
} // expected
- verifier.resetStreams();
- verifier.verifyTextInLog( "at org.apache.maven.surefire.testng.TestNGExecutor.run" );
+ verifyTextInLog( "at org.apache.maven.surefire.testng.TestNGExecutor.run" );
}
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgJdk14IT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgJdk14IT.java?rev=1226944&r1=1226943&r2=1226944&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgJdk14IT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/CheckTestNgJdk14IT.java Tue Jan 3 21:00:02 2012
@@ -19,31 +19,26 @@ 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;
-
/**
* Test TestNG running in the JDK 1.4 JavaDoc style
*
* @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
*/
public class CheckTestNgJdk14IT
- extends AbstractSurefireIntegrationTestClass
+ extends SurefireVerifierTestClass
{
+
+ public CheckTestNgJdk14IT()
+ {
+ super( "/testng-jdk14" );
+ }
+
public void testTestNgJdk14()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/testng-jdk14" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- this.executeGoal( verifier, "test" );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+ executeTest();
+ verifyErrorFreeLog();
+ assertTestSuiteResults( 1, 0, 0, 0 );
}
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/EnvironmentVariableIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/EnvironmentVariableIT.java?rev=1226944&r1=1226943&r2=1226944&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/EnvironmentVariableIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/EnvironmentVariableIT.java Tue Jan 3 21:00:02 2012
@@ -19,30 +19,25 @@ 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;
-
/**
* Test basic default configuration, runs the JUnit 3 test in the src/test directory.
*
* @author <a href="mailto:dfabulich@apache.org">Dan Fabulich</a>
*/
public class EnvironmentVariableIT
- extends AbstractSurefireIntegrationTestClass
+ extends SurefireVerifierTestClass
{
+
+ public EnvironmentVariableIT()
+ {
+ super( "/junit44-environment" );
+ }
+
public void testEnvironmentVariable()
throws Exception
{
- File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/junit44-environment" );
-
- Verifier verifier = new Verifier( testDir.getAbsolutePath() );
- this.executeGoal( verifier, "test" );
- verifier.verifyErrorFreeLog();
- verifier.resetStreams();
-
- HelperAssertions.assertTestSuiteResults( 1, 0, 0, 0, testDir );
+ executeTest();
+ verifyErrorFreeLog();
+ assertTestSuiteResults( 1, 0, 0, 0 );
}
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire162CharsetProviderIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire162CharsetProviderIT.java?rev=1226944&r1=1226943&r2=1226944&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire162CharsetProviderIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/Surefire162CharsetProviderIT.java Tue Jan 3 21:00:02 2012
@@ -19,10 +19,8 @@ package org.apache.maven.surefire.its;
* under the License.
*/
-import org.apache.maven.it.Verifier;
-import org.codehaus.plexus.util.FileUtils;
-
import java.io.File;
+import org.codehaus.plexus.util.FileUtils;
/**
* Test charset provider (SUREFIRE-162)
@@ -41,7 +39,7 @@ public class Surefire162CharsetProviderI
public void testCharsetProvider()
throws Exception
{
- Verifier verifier = getVerifier();
+ SurefireVerifier verifier = getDefaultVerifier();
File jarFile = new File( verifier.getArtifactPath( "jcharset", "jcharset", "1.2.1", "jar" ) );
jarFile.getParentFile().mkdirs();
FileUtils.copyFile( getSubFile( "repo/jcharset/jcharset/1.2.1/jcharset-1.2.1.jar" ), jarFile );
Added: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifier.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifier.java?rev=1226944&view=auto
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifier.java (added)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifier.java Tue Jan 3 21:00:02 2012
@@ -0,0 +1,142 @@
+package org.apache.maven.surefire.its;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+import org.apache.maven.it.VerificationException;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.surefire.its.misc.HelperAssertions;
+
+/**
+ * A specialized verifier that enforces a standard use case for surefire IT's
+ *
+ * @author Kristian Rosenvold
+ */
+public class SurefireVerifier
+{
+ private final Verifier verifier;
+
+ private final File baseDir;
+
+ public static SurefireVerifier fromDirectory(File testDir)
+ {
+ try
+ {
+ return new SurefireVerifier( new Verifier( testDir.getAbsolutePath()) , testDir);
+ }
+ catch ( VerificationException e )
+ {
+ throw new RuntimeException( e );
+ }
+
+ }
+
+ public SurefireVerifier( Verifier verifier, File baseDir )
+ {
+ this.verifier = verifier;
+ this.baseDir = baseDir;
+ }
+
+ public void assertFilePresent( String file )
+ {
+ verifier.assertFilePresent( file );
+ }
+
+ public void assertFileNotPresent( String file )
+ {
+ verifier.assertFileNotPresent( file );
+ }
+
+ public void executeGoals( List goals, Map envVars )
+ throws VerificationException
+ {
+ verifier.executeGoals( goals, envVars );
+ }
+
+ public void setCliOptions( List cliOptions )
+ {
+ verifier.setCliOptions( cliOptions );
+ }
+
+ public void resetStreams()
+ {
+ verifier.resetStreams();
+ }
+
+ public void verifyTextInLog( String text )
+ throws VerificationException
+ {
+ verifier.verifyTextInLog( text );
+ }
+
+
+ public void verifyErrorFreeLog()
+ throws VerificationException
+ {
+ verifier.verifyErrorFreeLog();
+ }
+
+ public List loadFile( String basedir, String filename, boolean hasCommand )
+ throws VerificationException
+ {
+ return verifier.loadFile( basedir, filename, hasCommand );
+ }
+
+ public List loadFile( File file, boolean hasCommand )
+ throws VerificationException
+ {
+ return verifier.loadFile( file, hasCommand );
+ }
+
+ public String getLogFileName()
+ {
+ return verifier.getLogFileName();
+ }
+
+
+ public String getBasedir()
+ {
+ return verifier.getBasedir();
+ }
+
+ public String getMavenVersion()
+ throws VerificationException
+ {
+ return verifier.getMavenVersion();
+ }
+
+
+ public String getArtifactPath( String org, String name, String version, String ext )
+ {
+ return verifier.getArtifactPath( org, name, version, ext );
+ }
+
+
+ public void assertTestSuiteResults( int total, int errors, int failures, int skipped )
+ {
+ HelperAssertions.assertTestSuiteResults( total, errors, failures, skipped, baseDir );
+ }
+
+
+
+
+}
Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifier.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifierTestClass.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifierTestClass.java?rev=1226944&r1=1226943&r2=1226944&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifierTestClass.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/SurefireVerifierTestClass.java Tue Jan 3 21:00:02 2012
@@ -30,10 +30,8 @@ import org.apache.maven.artifact.version
import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
import org.apache.maven.artifact.versioning.VersionRange;
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 junit.framework.Assert;
import junit.framework.TestCase;
@@ -57,7 +55,7 @@ public abstract class SurefireVerifierTe
private final List<String> goals;
- private final Verifier verifier;
+ private final SurefireVerifier defaultVerifier;
private final Map<String, String> envvars = new HashMap<String, String>();
@@ -71,11 +69,7 @@ public abstract class SurefireVerifierTe
{
testDir = simpleExtractResources( getClass(), testProject );
this.goals = getInitialGoals();
- this.verifier = new Verifier( testDir.getAbsolutePath() );
- }
- catch ( VerificationException e )
- {
- throw new RuntimeException( e );
+ this.defaultVerifier = SurefireVerifier.fromDirectory(testDir );
}
catch ( IOException e )
{
@@ -146,12 +140,12 @@ public abstract class SurefireVerifierTe
protected void assertPresent( File file )
{
- verifier.assertFilePresent( file.getAbsolutePath() );
+ defaultVerifier.assertFilePresent( file.getAbsolutePath() );
}
protected void assertNotPresent( File file )
{
- verifier.assertFileNotPresent( file.getAbsolutePath() );
+ defaultVerifier.assertFileNotPresent( file.getAbsolutePath() );
}
protected void showErrorStackTraces()
@@ -175,31 +169,31 @@ public abstract class SurefireVerifierTe
return this;
}
- protected Verifier executeTest()
+ protected SurefireVerifier executeTest()
throws VerificationException
{
return execute( "test" );
}
- protected Verifier executeVerify()
+ protected SurefireVerifier executeVerify()
throws VerificationException
{
return execute( "verify" );
}
- protected Verifier execute( String goal )
+ protected SurefireVerifier execute( String goal )
throws VerificationException
{
addGoal( goal );
- verifier.setCliOptions( cliOptions );
+ defaultVerifier.setCliOptions( cliOptions );
try
{
- verifier.executeGoals( goals, envvars );
- return verifier;
+ defaultVerifier.executeGoals( goals, envvars );
+ return defaultVerifier;
}
finally
{
- verifier.resetStreams();
+ defaultVerifier.resetStreams();
}
}
@@ -279,24 +273,24 @@ public abstract class SurefireVerifierTe
public void assertTestSuiteResults( int total, int errors, int failures, int skipped )
{
- HelperAssertions.assertTestSuiteResults( total, errors, failures, skipped, testDir );
+ getDefaultVerifier().assertTestSuiteResults( total, errors, failures, skipped );
}
public void verifyTextInLog( String text )
throws VerificationException
{
- verifier.verifyTextInLog( text );
+ defaultVerifier.verifyTextInLog( text );
}
protected void verifyErrorFreeLog()
- throws VerificationException
+ throws VerificationException
{
- verifier.verifyErrorFreeLog();
+ defaultVerifier.verifyErrorFreeLog();
}
- protected Verifier getVerifier()
+ protected SurefireVerifier getDefaultVerifier()
{
- return verifier;
+ return defaultVerifier;
}
public File getTestDir()
@@ -307,7 +301,7 @@ public abstract class SurefireVerifierTe
protected boolean assertContainsText( File file, String text )
throws VerificationException
{
- final List<String> list = getVerifier().loadFile( file, false );
+ final List<String> list = getDefaultVerifier().loadFile( file, false );
for ( String line : list )
{
if ( line.contains( text ) )
@@ -340,7 +334,7 @@ public abstract class SurefireVerifierTe
private List<String> getLog()
throws VerificationException
{
- return verifier.loadFile( verifier.getBasedir(), verifier.getLogFileName(), false );
+ return defaultVerifier.loadFile( defaultVerifier.getBasedir(), defaultVerifier.getLogFileName(), false );
}
@@ -349,7 +343,7 @@ public abstract class SurefireVerifierTe
{
try
{
- String v = verifier.getMavenVersion();
+ String v = defaultVerifier.getMavenVersion();
// NOTE: If the version looks like "${...}" it has been configured from an undefined expression
if ( v != null && v.length() > 0 && !v.startsWith( "${" ) )
{