Author: jvanzyl
Date: Thu Jun 28 22:55:49 2007
New Revision: 551804
URL: http://svn.apache.org/viewvc?view=rev&rev=551804
Log:
o separation of the base integration test. this can now be used in the IT suite
we run and used in the archetype.
Added:
maven/core-integration-testing/trunk/maven-integration-test-helper/
maven/core-integration-testing/trunk/maven-integration-test-helper/pom.xml
(with props)
maven/core-integration-testing/trunk/maven-integration-test-helper/src/
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/integrationtests/
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/integrationtests/AbstractMavenIntegrationTestCase.java
(with props)
Added:
maven/core-integration-testing/trunk/maven-integration-test-helper/pom.xml
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/maven-integration-test-helper/pom.xml?view=auto&rev=551804
==============================================================================
--- maven/core-integration-testing/trunk/maven-integration-test-helper/pom.xml
(added)
+++ maven/core-integration-testing/trunk/maven-integration-test-helper/pom.xml
Thu Jun 28 22:55:49 2007
@@ -0,0 +1,25 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.its</groupId>
+ <artifactId>maven-integration-test-helper</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <name>Maven Integration Tests</name>
+ <dependencies>
+ <!-- needed for VersionRange and Version -->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-artifact</artifactId>
+ <version>2.0.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-verifier</artifactId>
+ <version>1.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ </dependency>
+ </dependencies>
+</project>
Propchange:
maven/core-integration-testing/trunk/maven-integration-test-helper/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/maven-integration-test-helper/pom.xml
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
Added:
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/integrationtests/AbstractMavenIntegrationTestCase.java
URL:
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/integrationtests/AbstractMavenIntegrationTestCase.java?view=auto&rev=551804
==============================================================================
---
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/integrationtests/AbstractMavenIntegrationTestCase.java
(added)
+++
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/integrationtests/AbstractMavenIntegrationTestCase.java
Thu Jun 28 22:55:49 2007
@@ -0,0 +1,109 @@
+package org.apache.maven.integrationtests;
+
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.it.util.FileUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintStream;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Jason van Zyl
+ * @author Kenney Westerhof
+ */
+public abstract class AbstractMavenIntegrationTestCase
+ extends TestCase
+{
+ /**
+ * Save System.out for progress reports etc.
+ */
+ private static PrintStream out = System.out;
+
+ private boolean skip;
+
+ private DefaultArtifactVersion version;
+
+ private VersionRange versionRange;
+
+ protected AbstractMavenIntegrationTestCase()
+ {
+ }
+
+ protected AbstractMavenIntegrationTestCase( String versionRangeStr )
+ throws InvalidVersionSpecificationException
+ {
+ this.versionRange = VersionRange.createFromVersionSpec(
versionRangeStr );
+
+ String v = System.getProperty( "maven.version" );
+ if ( v != null )
+ {
+ this.version = new DefaultArtifactVersion( v );
+ if ( !versionRange.containsVersion( this.version ) )
+ {
+ skip = true;
+ }
+ }
+ else
+ {
+ out.print( "WARNING: " + getITName() + ": version range '" +
versionRange
+ + "' supplied but no maven version - not skipping test." );
+ }
+ }
+
+ protected void runTest()
+ throws Throwable
+ {
+ out.print( getITName() + "(" + getName() + ").." );
+
+ if ( skip )
+ {
+ out.println( " Skipping (version " + version + " not in range " +
versionRange + ")" );
+ return;
+ }
+
+ if ( "true".equals( System.getProperty( "useEmptyLocalRepository",
"false" ) ) )
+ {
+ setupLocalRepo();
+ }
+
+ try
+ {
+ super.runTest();
+ out.println( " Ok" );
+ }
+ catch ( Throwable t )
+ {
+ out.println( " Failure" );
+ throw t;
+ }
+ }
+
+ private String getITName()
+ {
+ String simpleName = getClass().getName();
+ int idx = simpleName.lastIndexOf( '.' );
+ simpleName = idx >= 0 ? simpleName.substring( idx + 1 ) : simpleName;
+ simpleName = simpleName.startsWith( "MavenIT" ) ?
simpleName.substring( "MavenIT".length() ) : simpleName;
+ simpleName = simpleName.endsWith( "Test" ) ? simpleName.substring( 0,
simpleName.length() - 4 ) : simpleName;
+ return simpleName;
+ }
+
+ protected File setupLocalRepo()
+ throws IOException
+ {
+ String tempDirPath = System.getProperty( "maven.test.tmpdir",
System.getProperty( "java.io.tmpdir" ) );
+ File localRepo = new File( tempDirPath, "local-repository/" +
getITName() );
+ if ( localRepo.isDirectory() )
+ {
+ FileUtils.deleteDirectory( localRepo );
+ }
+
+ System.setProperty( "maven.repo.local", localRepo.getAbsolutePath() );
+
+ return localRepo;
+ }
+}
Propchange:
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/integrationtests/AbstractMavenIntegrationTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
maven/core-integration-testing/trunk/maven-integration-test-helper/src/main/java/org/apache/maven/integrationtests/AbstractMavenIntegrationTestCase.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"