You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2009/02/20 04:34:13 UTC

svn commit: r746124 - in /maven/core-integration-testing/trunk/core-it-suite: pom.xml src/test/java/org/apache/maven/it/MavenITmng3057VersionExprTransformations.java

Author: brett
Date: Fri Feb 20 03:34:10 2009
New Revision: 746124

URL: http://svn.apache.org/viewvc?rev=746124&view=rev
Log:
trim a heap of time off the test by reading the POMs directly, and filter to a new file rather than overwriting so the test behaves the same way each run

Modified:
    maven/core-integration-testing/trunk/core-it-suite/pom.xml
    maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3057VersionExprTransformations.java

Modified: maven/core-integration-testing/trunk/core-it-suite/pom.xml
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/pom.xml?rev=746124&r1=746123&r2=746124&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/pom.xml (original)
+++ maven/core-integration-testing/trunk/core-it-suite/pom.xml Fri Feb 20 03:34:10 2009
@@ -56,7 +56,7 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
-      <version>1.1</version>
+      <version>1.5.8</version>
       <!-- NOTE: Use compile scope for transitivity. -->
     </dependency>
     <dependency>

Modified: maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3057VersionExprTransformations.java
URL: http://svn.apache.org/viewvc/maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3057VersionExprTransformations.java?rev=746124&r1=746123&r2=746124&view=diff
==============================================================================
--- maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3057VersionExprTransformations.java (original)
+++ maven/core-integration-testing/trunk/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3057VersionExprTransformations.java Fri Feb 20 03:34:10 2009
@@ -23,7 +23,6 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.net.URI;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -33,6 +32,10 @@
 import org.apache.maven.it.util.IOUtil;
 import org.apache.maven.it.util.ResourceExtractor;
 import org.apache.maven.it.util.StringUtils;
+import org.codehaus.plexus.util.ReaderFactory;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
 /**
  * This is a test set for <a href="http://jira.codehaus.org/browse/MNG-3057">MNG-3057</a>.
@@ -71,19 +74,20 @@
     {
         File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3057" );
         
-        URI remoteRepo = new File( testDir, "target/deployment" ).toURI();
+        File remoteRepo = new File( testDir, "target/deployment" );
 
         Verifier verifier = new Verifier( testDir.getAbsolutePath() );
         verifier.deleteArtifacts( "org.apache.maven.its.mng3057" );
         
         Properties properties = verifier.newDefaultFilterProperties();
-        properties.setProperty( "@deployTo@", remoteRepo.toURL().toExternalForm() );
+        properties.setProperty( "@deployTo@", remoteRepo.toURI().toURL().toExternalForm() );
 
-        verifier.filterFile( "pom.xml", "pom.xml", "UTF-8", properties );
+        verifier.filterFile( "pom.xml", "pom-filtered.xml", "UTF-8", properties );
 
         List cliOptions = new ArrayList();
         cliOptions.add( "-V" );
         cliOptions.add( "-DtestVersion=1" );
+        cliOptions.add( "-f pom-filtered.xml" );
 
         verifier.setCliOptions( cliOptions );
         
@@ -94,59 +98,30 @@
         verifier.executeGoal( "deploy" );
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
-        
-        assertVersionExpressions( new File( verifier.getArtifactPath( "org.apache.maven.its.mng3057", "mng-3057", "1", "pom" ) ) ); 
-        assertVersionExpressions( new File( verifier.getArtifactPath( "org.apache.maven.its.mng3057", "level2", "1", "pom" ) ) ); 
-        assertVersionExpressions( new File( verifier.getArtifactPath( "org.apache.maven.its.mng3057", "level3", "1", "pom" ) ) ); 
-        
-        assertVersionExpressions( new File( remoteRepo.getPath(), "org/apache/maven/its/mng3057/mng-3057/1/mng-3057-1.pom" ) ); 
-        assertVersionExpressions( new File( remoteRepo.getPath(), "org/apache/maven/its/mng3057/level2/1/level2-1.pom" ) ); 
-        assertVersionExpressions( new File( remoteRepo.getPath(), "org/apache/maven/its/mng3057/level3/1/level3-1.pom" ) ); 
+
+        assertVersions( new File( verifier.getArtifactPath( "org.apache.maven.its.mng3057", "mng-3057", "1", "pom" ) ), "1", null );
+        assertVersions( new File( verifier.getArtifactPath( "org.apache.maven.its.mng3057", "level2", "1", "pom" ) ), "1", "1" );
+        assertVersions( new File( verifier.getArtifactPath( "org.apache.maven.its.mng3057", "level3", "1", "pom" ) ), "1", "1" );
+        
+        assertVersions( new File( remoteRepo, "org/apache/maven/its/mng3057/mng-3057/1/mng-3057-1.pom" ), "1", null );
+        assertVersions( new File( remoteRepo, "org/apache/maven/its/mng3057/level2/1/level2-1.pom" ), "1", "1" );
+        assertVersions( new File( remoteRepo, "org/apache/maven/its/mng3057/level2/1/level2-1.pom" ), "1", "1" );
     }
 
-    private void assertVersionExpressions( File pomFile )
-        throws VerificationException, IOException
+    private void assertVersions( File file, String version, String parentVersion )
+        throws XmlPullParserException, IOException
     {
-        Verifier verifier = new Verifier( pomFile.getParentFile().getAbsolutePath() );
-        
-        List cliOptions = new ArrayList();
-        cliOptions.add( "-V" );
-        cliOptions.add( "-N" );
-        cliOptions.add( "-Dexpression.outputFile=expressions.properties" );
-        cliOptions.add( "-Dexpression.expressions=" + StringUtils.join( VERIFICATION_EXPRESSIONS.iterator(), "," ) );
-        cliOptions.add( "-f" );
-        cliOptions.add( pomFile.getName() );
-        
-        
-        verifier.setCliOptions( cliOptions );
-        
-        verifier.setAutoclean( false );
-        verifier.executeGoal( "org.apache.maven.its.plugins:maven-it-plugin-expression:2.1-SNAPSHOT:eval" );
-        verifier.verifyErrorFreeLog();
-        verifier.resetStreams();
-        
-        File propsFile = new File( pomFile.getParentFile(), "expressions.properties" );
-        InputStream is = null;
-        Properties props = new Properties();
-        try
-        {
-            is = new FileInputStream( propsFile );
-            props.load( is );
-        }
-        finally
+        Xpp3Dom dom = Xpp3DomBuilder.build( ReaderFactory.newXmlReader( file ) );        
+        assertEquals( version, dom.getChild( "version" ).getValue() );
+        Xpp3Dom parent = dom.getChild( "parent" );
+        if ( parentVersion != null )
         {
-            IOUtil.close( is );
+            assertNotNull( parent );
+            assertEquals( parentVersion, parent.getChild( "version" ).getValue() );
         }
-        
-        for ( Iterator it = VERIFICATION_EXPRESSIONS.iterator(); it.hasNext(); )
+        else
         {
-            String expr = (String ) it.next();
-            String value = props.getProperty( expr );
-            if ( value != null )
-            {
-                assertEquals( "POM expression not interpolated: '" + expr + "'\nin: '" + pomFile + "'.", "1", value );
-            }
+            assertNull( parent );
         }
-    }
-    
+    }    
 }