Author: brianf Date: Mon Mar 3 11:48:31 2008 New Revision: 633248 URL: http://svn.apache.org/viewvc?rev=633248&view=rev Log: added IT for MNG-2123 provided by Martin Goldhahn
Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng2123VersionRangeDependencyTest.java maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/pom.xml maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/java/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/pom.xml maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/src/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/src/main/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/src/main/java/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/src/main/java/Class.java maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/pom.xml maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/src/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/src/main/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/src/main/java/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/src/main/java/Class.java maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/pom.xml maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/src/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/src/main/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/src/main/java/ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/src/main/java/Class.java maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/pom.xml maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/readme.txt Modified: maven/core-integration-testing/trunk/core-integration-tests/ (props changed) maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java Propchange: maven/core-integration-testing/trunk/core-integration-tests/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Mon Mar 3 11:48:31 2008 @@ -5,3 +5,4 @@ .classpath .project .settings +target-eclipse Modified: maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java?rev=633248&r1=633247&r2=633248&view=diff ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java (original) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java Mon Mar 3 11:48:31 2008 @@ -179,6 +179,7 @@ suite.addTestSuite( MavenITmng3426PluginsClasspathOverrideTest.class ); suite.addTestSuite( MavenITmng3428PluginDescriptorArtifactsIncompleteTest.class ); + suite.addTestSuite( MavenITmng2123VersionRangeDependencyTest.class ); // ---------------------------------------------------------------------------------------------------- // Tests that need to be fixed. // ---------------------------------------------------------------------------------------------------- Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng2123VersionRangeDependencyTest.java URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng2123VersionRangeDependencyTest.java?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng2123VersionRangeDependencyTest.java (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng2123VersionRangeDependencyTest.java Mon Mar 3 11:48:31 2008 @@ -0,0 +1,96 @@ +package org.apache.maven.integrationtests; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import org.apache.maven.integrationtests.AbstractMavenIntegrationTestCase; +import org.apache.maven.it.Verifier; +import org.apache.maven.it.util.ResourceExtractor; + + +public class MavenITmng2123VersionRangeDependencyTest + extends AbstractMavenIntegrationTestCase +{ + public void testitMNG2123 () + throws Exception + { + + + // The testdir is computed from the location of this + // file. + File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-2123-npe-with-conflicting-ranges" ); + + Verifier verifier; + + /* + * We must first make sure that any artifact created + * by this test has been removed from the local + * repository. Failing to do this could cause + * unstable test results. Fortunately, the verifier + * makes it easy to do this. + */ + verifier = new Verifier( testDir.getAbsolutePath() ); + verifier.deleteArtifact( "org.apache.maven.its.mng2123", "parent", "1.0", "pom" ); + verifier.deleteArtifact( "org.apache.maven.its.mng2123", "artifact-combined", "1.0", "jar" ); + verifier.deleteArtifact( "org.apache.maven.its.mng2123", "artifact-fix", "1.0", "jar" ); + verifier.deleteArtifact( "org.apache.maven.its.mng2123", "artifact-range", "1.0", "jar" ); + + /* + * The Command Line Options (CLI) are passed to the + * verifier as a list. This is handy for things like + * redefining the local repository if needed. In + * this case, we use the -N flag so that Maven won't + * recurse. We are only installing the parent pom to + * the local repo here. + */ + List cliOptions = new ArrayList(); + cliOptions.add( "-N" ); + verifier.executeGoal( "install" ); + + /* + * This is the simplest way to check a build + * succeeded. It is also the simplest way to create + * an IT test: make the build pass when the test + * should pass, and make the build fail when the + * test should fail. There are other methods + * supported by the verifier. They can be seen here: + * http://maven.apache.org/shared/maven-verifier/apidocs/index.html + */ + verifier.verifyErrorFreeLog(); + + /* + * Reset the streams before executing the verifier + * again. + */ + verifier.resetStreams(); + + /* + * Build the artifact with a fix version of commons-collections + */ + verifier = new Verifier( new File( testDir.getAbsolutePath(), "artifact-fix" ).getAbsolutePath() ); + verifier.executeGoal( "install" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + /* + * Build the artifact with a version range of commons-collections + */ + verifier = new Verifier( new File( testDir.getAbsolutePath(), "artifact-range" ).getAbsolutePath() ); + verifier.executeGoal( "install" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + /* + * Now we are running the actual test. + * This particular test will attempt to build the + * artifact that uses the artifacts above. + * On any version >= 2.0.9 it should work + */ + verifier = new Verifier( new File( testDir.getAbsolutePath(), "artifact-combined" ).getAbsolutePath() ); + verifier.executeGoal( "install" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + } +} Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/pom.xml?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/pom.xml (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/pom.xml Mon Mar 3 11:48:31 2008 @@ -0,0 +1,38 @@ +<project> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.its</groupId> + <artifactId>mng2123-versionRangeDependency</artifactId> + <version>1.0-SNAPSHOT</version> + <name>Integration test MNG-2123</name> + <dependencies> + <dependency> + <groupId>org.apache.maven.shared</groupId> + <artifactId>maven-verifier</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>org.apache.maven.its</groupId> + <artifactId>maven-integration-test-helper</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> + <!-- TODO: remove when snapshots are released --> + <repositories> + <repository> + <id>apache.snapshots</id> + <url>http://people.apache.org/repo/m2-snapshot-repository</url> + <releases> + <enabled>false</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + </repositories> +</project> Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/pom.xml?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/pom.xml (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/pom.xml Mon Mar 3 11:48:31 2008 @@ -0,0 +1,23 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.its.mng2123</groupId> + <artifactId>parent</artifactId> + <version>1</version> + </parent> + <artifactId>artifact-combined</artifactId> + + <dependencies> + <dependency> + <groupId>org.apache.maven.its.mng2123</groupId> + <artifactId>artifact-fix</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>org.apache.maven.its.mng2123</groupId> + <artifactId>artifact-range</artifactId> + <version>1.0</version> + </dependency> + </dependencies> + +</project> Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/src/main/java/Class.java URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/src/main/java/Class.java?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/src/main/java/Class.java (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-combined/src/main/java/Class.java Mon Mar 3 11:48:31 2008 @@ -0,0 +1,9 @@ +public class Class +{ + +public static void main(String[] args) +{ + System.out.println("hello"); + } + +} \ No newline at end of file Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/pom.xml?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/pom.xml (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/pom.xml Mon Mar 3 11:48:31 2008 @@ -0,0 +1,20 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.its.mng2123</groupId> + <artifactId>parent</artifactId> + <version>1</version> + </parent> + <artifactId>artifact-fix</artifactId> + <version>1.0</version> + <name>Artifact fix Version</name> + <dependencies> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + <version>3.2</version> + </dependency> + </dependencies> +</project> Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/src/main/java/Class.java URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/src/main/java/Class.java?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/src/main/java/Class.java (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-fix/src/main/java/Class.java Mon Mar 3 11:48:31 2008 @@ -0,0 +1,9 @@ +public class Class +{ + +public static void main(String[] args) +{ + System.out.println("hello"); + } + +} \ No newline at end of file Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/pom.xml?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/pom.xml (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/pom.xml Mon Mar 3 11:48:31 2008 @@ -0,0 +1,19 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.maven.its.mng2123</groupId> + <artifactId>parent</artifactId> + <version>1</version> + </parent> + <name>STC Checkstyle</name> + <artifactId>artifact-range</artifactId> + <version>1.0</version> + <dependencies> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + <version>[2.0,3.1.99]</version> + </dependency> + </dependencies> +</project> Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/src/main/java/Class.java URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/src/main/java/Class.java?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/src/main/java/Class.java (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/artifact-range/src/main/java/Class.java Mon Mar 3 11:48:31 2008 @@ -0,0 +1,9 @@ +public class Class +{ + +public static void main(String[] args) +{ + System.out.println("hello"); + } + +} \ No newline at end of file Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/pom.xml URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/pom.xml?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/pom.xml (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/pom.xml Mon Mar 3 11:48:31 2008 @@ -0,0 +1,14 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.apache.maven.its.mng2123</groupId> + <artifactId>parent</artifactId> + <packaging>pom</packaging> + <version>1</version> + <name>Checkstyle</name> + <!-- + <modules> + <module>checkstyle-assembly</module> + <module>checkstyle-test</module> + </modules> + --> +</project> Added: maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/readme.txt URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/readme.txt?rev=633248&view=auto ============================================================================== --- maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/readme.txt (added) +++ maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-2123-npe-with-conflicting-ranges/src/test/resources/mng-2123-versionRangeDependency/readme.txt Mon Mar 3 11:48:31 2008 @@ -0,0 +1,7 @@ +Integration test. +The test creates two artifacts with a dependency to commons-collection. +artifact-fix requires version 3.2 +artifact-range requires version (2.0,3.1.99] + +artifact-combined has a dependency on the artifacts above. +In version 2.0.8 the test fails with a NPE \ No newline at end of file