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( "${" ) )
             {