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/06 01:24:36 UTC
svn commit: r1227906 [2/2] - in
/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its:
./ fixture/ misc/
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/OutputValidator.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/OutputValidator.java?rev=1227906&r1=1227905&r2=1227906&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/OutputValidator.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/OutputValidator.java Fri Jan 6 00:24:34 2012
@@ -84,20 +84,46 @@ public class OutputValidator
}
public OutputValidator verifyTextInLog( String text )
- throws VerificationException
{
- verifier.verifyTextInLog( text );
+ try
+ {
+ verifier.verifyTextInLog( text );
+ }
+ catch ( VerificationException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
return this;
}
public OutputValidator verifyErrorFreeLog()
- throws VerificationException
{
- verifier.verifyErrorFreeLog();
+ try
+ {
+ verifier.verifyErrorFreeLog();
+ }
+ catch ( VerificationException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
return this;
}
+ public OutputValidator verifyErrorFree(int total)
+ {
+ try
+ {
+ verifier.verifyErrorFreeLog();
+ this.assertTestSuiteResults( total, 0, 0, 0 );
+ return this;
+ }
+ catch ( VerificationException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
+ }
+
public List loadFile( String basedir, String filename, boolean hasCommand )
throws VerificationException
{
@@ -105,10 +131,16 @@ public class OutputValidator
}
public List<String> loadFile( File file, boolean hasCommand )
- throws VerificationException
{
//noinspection unchecked
- return verifier.loadFile( file, hasCommand );
+ try
+ {
+ return verifier.loadFile( file, hasCommand );
+ }
+ catch ( VerificationException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
}
public String getLogFileName()
@@ -159,6 +191,21 @@ public class OutputValidator
return new TestFile(new File( targetDir, fileName ), this);
}
+
+ public TestFile getSurefireReportsFile( String fileName )
+ {
+ File targetDir = getSubFile( "target/surefire-reports" );
+ return new TestFile(new File( targetDir, fileName ), this);
+ }
+
+ public TestFile getSiteFile( String fileName )
+ {
+ File targetDir = getSubFile( "target/site" );
+ return new TestFile(new File( targetDir, fileName ), this);
+ }
+
+
+
public File getBaseDir()
{
return baseDir;
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=1227906&r1=1227905&r2=1227906&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 Fri Jan 6 00:24:34 2012
@@ -189,6 +189,12 @@ public class SurefireLauncher
verifier.assertFileNotPresent( file.getAbsolutePath() );
}
+ public SurefireLauncher assertNotPresent( String subFile )
+ {
+ verifier.assertFileNotPresent( surefireVerifier.getSubFile( subFile ).getAbsolutePath());
+ return this;
+ }
+
public SurefireLauncher showErrorStackTraces()
{
cliOptions.add( "-e" );
@@ -207,6 +213,11 @@ public class SurefireLauncher
return this;
}
+
+ public SurefireLauncher skipClean(){
+ goals.add( "-Dclean.skip=true" );
+ return this;
+ }
public SurefireLauncher groups(String groups){
goals.add( "-Dgroups=" + groups );
@@ -221,7 +232,6 @@ public class SurefireLauncher
}
public OutputValidator executeTest()
- throws VerificationException
{
return execute( "test" );
}
@@ -236,7 +246,7 @@ public class SurefireLauncher
{
try {
execute( "test" );
- } catch (VerificationException ignore) {
+ } catch (SurefireVerifierException ignore) {
return surefireVerifier;
}
throw new RuntimeException( "Expecting build failure, got none!" );
@@ -249,15 +259,23 @@ public class SurefireLauncher
}
private OutputValidator execute( String goal )
- throws VerificationException
{
addGoal( goal );
+ return executeCurrentGoals();
+ }
+
+ public OutputValidator executeCurrentGoals()
+ {
verifier.setCliOptions( cliOptions );
try
{
verifier.executeGoals( goals, envvars );
return surefireVerifier;
}
+ catch ( VerificationException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
finally
{
verifier.resetStreams();
@@ -457,6 +475,11 @@ public class SurefireLauncher
{
return addGoal( "-D" + variable + "=" + value );
}
+
+ public SurefireLauncher setJUnitVersion(String version){
+ addD( "junit.version", version);
+ return this;
+ }
public SurefireLauncher setGroups( String groups )
{
@@ -483,4 +506,36 @@ public class SurefireLauncher
public File getUnpackLocation(){
return new File(verifier.getBasedir());
}
+
+ public SurefireLauncher addFailsafeReportOnlyGoal()
+ throws VerificationException
+ {
+ goals.add( "org.apache.maven.plugins:maven-surefire-report-plugin:" + getSurefireVersion() + ":failsafe-report-only");
+ return this;
+ }
+
+ public SurefireLauncher addSurefireReportGoal()
+ {
+ goals.add( "org.apache.maven.plugins:maven-surefire-report-plugin:" + getSurefireVersion() + ":report");
+ return this;
+ }
+
+ public SurefireLauncher addSurefireReportOnlyGoal()
+ {
+ goals.add( "org.apache.maven.plugins:maven-surefire-report-plugin:" + getSurefireVersion() + ":report-only");
+ return this;
+ }
+
+
+ public void deleteSiteDir()
+ throws IOException
+ {
+ FileUtils.deleteDirectory( surefireVerifier.getSubFile( "site" ));
+ }
+
+ public SurefireLauncher setTestToRun( String basicTest )
+ {
+ addD( "test", basicTest);
+ return this;
+ }
}
Copied: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierException.java (from r1227727, maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestNgTestSingleMethodIT.java)
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierException.java?p2=maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierException.java&p1=maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestNgTestSingleMethodIT.java&r1=1227727&r2=1227906&rev=1227906&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/TestNgTestSingleMethodIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierException.java Fri Jan 6 00:24:34 2012
@@ -1,4 +1,4 @@
-package org.apache.maven.surefire.its;
+package org.apache.maven.surefire.its.fixture;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -20,16 +20,12 @@ package org.apache.maven.surefire.its;
*/
/**
- * Test project using -Dtest=mtClass#myMethod
- *
- * @author <a href="mailto:olamy@apache.org">Olivier Lamy</a>
+ * @author Kristian Rosenvold
*/
-public class TestNgTestSingleMethodIT
- extends AbstractTestSingleMethod
+public class SurefireVerifierException extends RuntimeException
{
- public TestNgTestSingleMethodIT()
+ public SurefireVerifierException( Throwable cause )
{
- super( "/testng-single-method" );
+ super( cause );
}
-
}
Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/fixture/SurefireVerifierException.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
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=1227906&r1=1227905&r2=1227906&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 Fri Jan 6 00:24:34 2012
@@ -37,9 +37,23 @@ import junit.framework.TestCase;
public abstract class SurefireVerifierTestClass2
extends TestCase
{
+ public OutputValidator executeErrorFreeTest( String sourceName, int total ){
+ return unpack( sourceName ).executeTest().verifyErrorFree( total );
+ }
+
public SurefireLauncher unpack( String sourceName )
- throws VerificationException, IOException
{
- return new SurefireLauncher( this.getClass(), sourceName );
+ try
+ {
+ return new SurefireLauncher( this.getClass(), sourceName );
+ }
+ catch ( VerificationException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
+ catch ( IOException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
}
}
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=1227906&r1=1227905&r2=1227906&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 Fri Jan 6 00:24:34 2012
@@ -25,19 +25,26 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
+import java.util.List;
+
+import org.apache.commons.io.FileUtils;
+
+import junit.framework.Assert;
import static junit.framework.Assert.assertTrue;
/**
* @author Kristian Rosenvold
*/
-public class TestFile {
+public class TestFile
+{
private final File file;
private final OutputValidator surefireVerifier;
- public TestFile( File file, OutputValidator surefireVerifier ) {
+ public TestFile( File file, OutputValidator surefireVerifier )
+ {
this.file = file;
this.surefireVerifier = surefireVerifier;
}
@@ -48,6 +55,12 @@ public class TestFile {
return surefireVerifier;
}
+ public OutputValidator assertFileNotExists()
+ {
+ assertTrue( "File doesn't exist: " + file.getAbsolutePath(), !file.exists() );
+ return surefireVerifier;
+ }
+
public void delete()
{
//noinspection ResultOfMethodCallIgnored
@@ -71,16 +84,53 @@ public class TestFile {
}
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() )
+ try
+ {
+ StringBuilder sb = new StringBuilder();
+ BufferedReader reader = null;
+ reader = new BufferedReader( new FileReader( file ) );
+ for ( String line = reader.readLine(); line != null; line = reader.readLine() )
+ {
+ sb.append( line );
+ }
+ reader.close();
+ return sb.toString();
+ }
+ catch ( IOException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
+
+ }
+
+ public String readFileToString(){
+ try
+ {
+ return FileUtils.readFileToString(file);
+ }
+ catch ( IOException e )
+ {
+ throw new SurefireVerifierException( e );
+ }
+ }
+
+ public boolean isFile()
+ {
+ return file.isFile();
+ }
+
+ public void assertContainsText( String text )
+ {
+ final List<String> list = surefireVerifier.loadFile( file, false );
+ for ( String line : list )
{
- sb.append( line );
+ if ( line.contains( text ) )
+ {
+ return;
+ }
}
- reader.close();
- return sb.toString();
+ Assert.fail( "Did not find expected message in log" );
}
}
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/misc/HelperAssertions.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/misc/HelperAssertions.java?rev=1227906&r1=1227905&r2=1227906&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/misc/HelperAssertions.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/misc/HelperAssertions.java Fri Jan 6 00:24:34 2012
@@ -21,7 +21,7 @@ package org.apache.maven.surefire.its.mi
import java.io.File;
import java.util.ArrayList;
import java.util.List;
-import org.apache.maven.surefire.its.IntegrationTestSuiteResults;
+import org.apache.maven.surefire.its.fixture.IntegrationTestSuiteResults;
import junit.framework.Assert;
Modified: maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/misc/Surefire772NoFailsafeReportsIT.java
URL: http://svn.apache.org/viewvc/maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/misc/Surefire772NoFailsafeReportsIT.java?rev=1227906&r1=1227905&r2=1227906&view=diff
==============================================================================
--- maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/misc/Surefire772NoFailsafeReportsIT.java (original)
+++ maven/surefire/trunk/surefire-integration-tests/src/test/java/org/apache/maven/surefire/its/misc/Surefire772NoFailsafeReportsIT.java Fri Jan 6 00:24:34 2012
@@ -19,10 +19,12 @@ package org.apache.maven.surefire.its.mi
*/
-import org.apache.commons.io.FileUtils;
-import org.apache.maven.surefire.its.fixture.SurefireVerifierTestClass;
-
-import java.io.File;
+import java.io.IOException;
+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 Surefire-740 Truncated comma with non us locale
@@ -30,93 +32,73 @@ import java.io.File;
* @author Kristian Rosenvold
*/
public class Surefire772NoFailsafeReportsIT
- extends SurefireVerifierTestClass
+ extends SurefireVerifierTestClass2
{
- public Surefire772NoFailsafeReportsIT()
- {
- super( "/surefire-772-no-failsafe-reports" );
- }
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
- FileUtils.deleteDirectory( getTargetFile( "site" ) );
- addGoal( "-Dclean.skip=true" );
- }
-
public void testReportGeneration()
throws Exception
{
- failNever();
- addGoal( getFailsafeReportOnlyGoal() );
- assertFalse( "Expecting not site directory", getTargetFile( "site" ).isDirectory() );
- execute( getSurefireReportOnlyGoal() );
+ final OutputValidator site = unpack().addFailsafeReportOnlyGoal().addSurefireReportOnlyGoal().executeCurrentGoals();
- File siteFile = getSiteFile( "surefire-report.html" );
- System.out.println( "siteFile.getAbsolutePath() = " + siteFile.getAbsolutePath() );
- assertTrue( "Expecting surefire report file", siteFile.isFile() );
-
- siteFile = getSiteFile( "failsafe-report.html" );
- System.out.println( "siteFile.getAbsolutePath() = " + siteFile.getAbsolutePath() );
- assertFalse( "Expecting no failsafe report file", siteFile.isFile() );
+ assertSurefireReportPresent( site );
+ assertNoFailsefeReport( site );
}
+
public void testSkippedFailsafeReportGeneration()
throws Exception
{
- failNever();
- activateProfile( "skipFailsafe" );
- addGoal( getFailsafeReportOnlyGoal() );
- assertFalse( "Expecting not site directory", getTargetFile( "site" ).isDirectory() );
- execute( getSurefireReportOnlyGoal() );
+ final OutputValidator validator =
+ unpack().activateProfile( "skipFailsafe" ).addFailsafeReportOnlyGoal().addSurefireReportOnlyGoal().executeCurrentGoals();
+ assertSurefireReportPresent( validator );
+ assertNoFailsefeReport( validator );
- File siteFile = getSiteFile( "surefire-report.html" );
- System.out.println( "siteFile.getAbsolutePath() = " + siteFile.getAbsolutePath() );
- assertTrue( "Expecting surefire report file", siteFile.isFile() );
-
- siteFile = getSiteFile( "failsafe-report.html" );
- System.out.println( "siteFile.getAbsolutePath() = " + siteFile.getAbsolutePath() );
- assertFalse( "Expecting no failsafe report file", siteFile.isFile() );
}
public void testForcedFailsafeReportGeneration()
throws Exception
{
- failNever();
- activateProfile( "forceFailsafe" );
- addGoal( getFailsafeReportOnlyGoal() );
- assertFalse( "Expecting not site directory", getTargetFile( "site" ).isDirectory() );
- execute( getSurefireReportOnlyGoal() );
-
- File siteFile = getSiteFile( "surefire-report.html" );
- System.out.println( "siteFile.getAbsolutePath() = " + siteFile.getAbsolutePath() );
- assertTrue( "Expecting surefire report file", siteFile.isFile() );
-
- siteFile = getSiteFile( "failsafe-report.html" );
- System.out.println( "siteFile.getAbsolutePath() = " + siteFile.getAbsolutePath() );
- assertTrue( "Expecting failsafe report file", siteFile.isFile() );
+ final OutputValidator validator =
+ unpack().activateProfile( "forceFailsafe" ).addFailsafeReportOnlyGoal().addSurefireReportOnlyGoal().executeCurrentGoals();
+ assertSurefireReportPresent( validator );
+ assertFailsafeReport( validator );
}
public void testSkipForcedFailsafeReportGeneration()
throws Exception
{
- failNever();
- activateProfile( "forceFailsafe" );
- activateProfile( "skipFailsafe" );
- addGoal( getFailsafeReportOnlyGoal() );
- assertFalse( "Expecting not site directory", getTargetFile( "site" ).isDirectory() );
- execute( getSurefireReportOnlyGoal() );
+ final OutputValidator validator =
+ unpack().activateProfile( "forceFailsafe" ).activateProfile( "skipFailsafe" )
+ .addFailsafeReportOnlyGoal().addSurefireReportOnlyGoal().executeCurrentGoals();
- File siteFile = getSiteFile( "surefire-report.html" );
- System.out.println( "siteFile.getAbsolutePath() = " + siteFile.getAbsolutePath() );
- assertTrue( "Expecting surefire report file", siteFile.isFile() );
+ assertSurefireReportPresent( validator );
+ assertNoFailsefeReport( validator );
+ }
- siteFile = getSiteFile( "failsafe-report.html" );
- System.out.println( "siteFile.getAbsolutePath() = " + siteFile.getAbsolutePath() );
+ private void assertNoFailsefeReport( OutputValidator site )
+ {
+ TestFile siteFile = site.getSiteFile( "failsafe-report.html" );
assertFalse( "Expecting no failsafe report file", siteFile.isFile() );
}
+ private void assertFailsafeReport( OutputValidator site )
+ {
+ TestFile siteFile = site.getSiteFile( "failsafe-report.html" );
+ assertTrue( "Expecting no failsafe report file", siteFile.isFile() );
+ }
+
+ private void assertSurefireReportPresent( OutputValidator site )
+ {
+ TestFile siteFile = site.getSiteFile( "surefire-report.html" );
+ assertTrue( "Expecting surefire report file", siteFile.isFile() );
+ }
+
+ private SurefireLauncher unpack()
+ throws VerificationException, IOException
+ {
+ final SurefireLauncher unpack = unpack( "surefire-772-no-failsafe-reports" );
+ unpack.deleteSiteDir();
+ return unpack.skipClean().failNever().assertNotPresent( "site" );
+ }
+
}