Author: jdcasey
Date: Thu Apr 17 16:51:52 2008
New Revision: 649331

URL: http://svn.apache.org/viewvc?rev=649331&view=rev
Log:
[MNG-3482] Adding an integration test to verify this fix.

Added:
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
   (with props)
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
   (with props)
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
   (with props)
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
   (with props)
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.jar
   (with props)
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
   (with props)
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
   (with props)
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
   (with props)
Modified:
    
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/IntegrationTestSuite.java

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=649331&r1=649330&r2=649331&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
 Thu Apr 17 16:51:52 2008
@@ -67,6 +67,7 @@
 
         suite.addTestSuite( MavenITmng3498ForkToOtherMojoTest.class );
         suite.addTestSuite( MavenITmng3485OverrideWagonExtensionTest.class );
+        suite.addTestSuite( MavenITmng3482DependencyPomInterpolationTest.class 
);
         suite.addTestSuite( MavenITmng3473PluginReportCrash.class );
         suite.addTestSuite( 
MavenITmng3428PluginDescriptorArtifactsIncompleteTest.class );
         suite.addTestSuite( MavenITmng3426PluginsClasspathOverrideTest.class );

Added: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
URL: 
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java?rev=649331&view=auto
==============================================================================
--- 
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
 (added)
+++ 
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
 Thu Apr 17 16:51:52 2008
@@ -0,0 +1,160 @@
+/*
+ * 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.
+ */
+
+package org.apache.maven.integrationtests;
+
+import 
org.apache.maven.artifact.versioning.InvalidVersionSpecificationException;
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.IOUtil;
+import org.apache.maven.it.util.ResourceExtractor;
+import org.apache.maven.it.util.StringUtils;
+
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * This is a test set for <a 
href="http://jira.codehaus.org/browse/MNG-3482";>MNG-3482</a>.
+ *
+ * @todo Fill in a better description of what this test verifies!
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Brian Fox</a>
+ * @author jdcasey
+ *
+ */
+public class MavenITmng3482DependencyPomInterpolationTest
+    extends AbstractMavenIntegrationTestCase
+{
+    public MavenITmng3482DependencyPomInterpolationTest()
+        throws InvalidVersionSpecificationException
+    {
+        super( "(2.0.8,)" ); // only test in 2.0.9+
+    }
+
+    public void testitMNG3482()
+        throws Exception
+    {
+        // The testdir is computed from the location of this
+        // file.
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), 
"/mng-3482" );
+
+        File settings = writeSettings( testDir );
+
+        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.mng3482", "mng-3482", 
"1", "pom" );
+        verifier.deleteArtifact( "org.apache.maven.its.mng3482", "mng-3482", 
"1", "jar" );
+        verifier.deleteArtifact( "test", "dep", "1", "pom" );
+        verifier.deleteArtifact( "test", "dep2", "1", "pom" );
+        verifier.deleteArtifact( "test", "dep2", "1", "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( "-s" );
+        cliOptions.add( settings.getAbsolutePath() );
+        cliOptions.add( "-X" );
+
+        verifier.setCliOptions( cliOptions );
+
+        verifier.executeGoal( "compile" );
+
+        /*
+         * 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();
+    }
+
+    private File writeSettings( File testDir )
+        throws IOException
+    {
+        File settingsIn = new File( testDir, "settings.xml.in" );
+
+        String settingsContent = null;
+        Reader reader = null;
+        try
+        {
+            reader = new FileReader( settingsIn );
+            settingsContent = IOUtil.toString( reader );
+        }
+        finally
+        {
+            IOUtil.close( reader );
+        }
+
+        settingsContent = StringUtils.replace( settingsContent,
+                                               "@TESTDIR@",
+                                               testDir.getAbsolutePath() );
+
+        File settingsOut = new File( testDir, "settings.xml" );
+
+        System.out.println( "Writing tets settings to: " + settingsOut );
+
+        if ( settingsOut.exists() )
+        {
+            settingsOut.delete();
+        }
+
+        Writer writer = null;
+        try
+        {
+            writer = new FileWriter( settingsOut );
+            IOUtil.copy( settingsContent, writer );
+        }
+        finally
+        {
+            IOUtil.close( writer );
+        }
+
+        return settingsOut;
+    }
+}

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/java/org/apache/maven/integrationtests/MavenITmng3482DependencyPomInterpolationTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml?rev=649331&view=auto
==============================================================================
--- 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
 (added)
+++ 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
 Thu Apr 17 16:51:52 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>
+  <groupId>org.apache.maven.its.mng3482</groupId>
+  <artifactId>mng-3482</artifactId>
+  <packaging>jar</packaging>
+  <version>1</version>
+  
+  <name>Integration Test Project for MNG-3482</name>
+  <description>
+    This project verifies that MNG-3482 is fixed. It is controlled by a JUnit 
test called org.apache.maven.integrationtests.MNG3482Test
+  </description>
+  
+  <url>http://jira.codehaus.org/browse/MNG-3482</url>
+  
+  <dependencies>
+    <dependency>
+      <groupId>test</groupId>
+      <artifactId>dep</artifactId>
+      <version>1</version>
+      <type>pom</type>
+    </dependency>
+  </dependencies>
+</project>

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
URL: 
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt?rev=649331&view=auto
==============================================================================
--- 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
 (added)
+++ 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
 Thu Apr 17 16:51:52 2008
@@ -0,0 +1 @@
+Fill this in with a description of the scenario this test attempts to check. 
Also include instructions for running the test manually from the command line.
\ No newline at end of file

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/readme.txt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
URL: 
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom?rev=649331&view=auto
==============================================================================
--- 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
 (added)
+++ 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
 Thu Apr 17 16:51:52 2008
@@ -0,0 +1,14 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>test</groupId>
+  <artifactId>dep</artifactId>
+  <version>1</version>
+  
+  <dependencies>
+    <dependency>
+      <groupId>test</groupId>
+      <artifactId>dep2</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep/1/dep-1.pom
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.jar
URL: 
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.jar?rev=649331&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
URL: 
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom?rev=649331&view=auto
==============================================================================
--- 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
 (added)
+++ 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
 Thu Apr 17 16:51:52 2008
@@ -0,0 +1,7 @@
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>test</groupId>
+  <artifactId>dep2</artifactId>
+  <version>1</version>
+  
+</project>
\ No newline at end of file

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/repo/test/dep2/1/dep2-1.pom
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
URL: 
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in?rev=649331&view=auto
==============================================================================
--- 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
 (added)
+++ 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
 Thu Apr 17 16:51:52 2008
@@ -0,0 +1,22 @@
+<settings>
+  <profiles>
+    <profile>
+      <id>remote-repository</id>
+      <repositories>
+        <repository>
+          <id>testing-repo</id>
+          <url>file://@TESTDIR@/repo</url>
+        </repository>
+      </repositories>
+      <pluginRepositories>
+        <pluginRepository>
+          <id>testing-repo</id>
+          <url>file://@TESTDIR@/repo</url>
+        </pluginRepository>
+      </pluginRepositories>
+    </profile>
+  </profiles>
+  <activeProfiles>
+    <activeProfile>remote-repository</activeProfile>
+  </activeProfiles>
+</settings>
\ No newline at end of file

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/settings.xml.in
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
URL: 
http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java?rev=649331&view=auto
==============================================================================
--- 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
 (added)
+++ 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
 Thu Apr 17 16:51:52 2008
@@ -0,0 +1,5 @@
+package tests.mng3482;
+
+import test.dep2.App;
+
+public class AppMNG3482{}
\ No newline at end of file

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/core-integration-testing/trunk/core-integration-tests/src/test/resources/mng-3482/src/main/java/tests/mng3482/AppMNG3482.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"


Reply via email to