You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2014/03/11 02:42:19 UTC

git commit: make File comparison on canonical value to avoid problems with symlinks

Repository: maven-integration-testing
Updated Branches:
  refs/heads/master b79791ee7 -> 8b7bc79d3


make File comparison on canonical value to avoid problems with symlinks

Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/8b7bc79d
Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/8b7bc79d
Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/8b7bc79d

Branch: refs/heads/master
Commit: 8b7bc79d3d6f80d8cd4d097785cada008e0796da
Parents: b79791e
Author: Hervé Boutemy <hb...@apache.org>
Authored: Tue Mar 11 02:42:08 2014 +0100
Committer: Hervé Boutemy <hb...@apache.org>
Committed: Tue Mar 11 02:42:08 2014 +0100

----------------------------------------------------------------------
 ...nITmng2201PluginConfigInterpolationTest.java | 12 +++++-----
 .../it/MavenITmng3475BaseAlignedDirTest.java    |  6 ++---
 ...avenITmng3747PrefixedPathExpressionTest.java |  4 +---
 .../it/MavenITmng3760BaseUriPropertyTest.java   |  8 ++-----
 .../it/MavenITmng3827PluginConfigTest.java      |  4 +---
 .../MavenITmng3864PerExecPluginConfigTest.java  |  4 +---
 .../MavenITmng3877BasedirAlignedModelTest.java  |  6 ++---
 ...Tmng3904NestedBuildDirInterpolationTest.java |  8 +++----
 .../MavenITmng3944BasedirInterpolationTest.java |  4 ++--
 .../it/MavenITmng3951AbsolutePathsTest.java     |  8 +++----
 .../it/AbstractMavenIntegrationTestCase.java    | 23 ++++++++++++++++++++
 11 files changed, 47 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2201PluginConfigInterpolationTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2201PluginConfigInterpolationTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2201PluginConfigInterpolationTest.java
index 13ba7ed..0397642 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2201PluginConfigInterpolationTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng2201PluginConfigInterpolationTest.java
@@ -53,20 +53,18 @@ public class MavenITmng2201PluginConfigInterpolationTest
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
-        //testDir = testDir.getCanonicalFile();
-
         Properties props = verifier.loadProperties( "target/config.properties" );
-        assertEquals( new File( testDir, "target" ), new File( props.getProperty( "stringParam" ) ) );
-        assertEquals( new File( testDir, "target" ), new File( props.getProperty( "propertiesParam.buildDir" ) ) );
-        assertEquals( new File( testDir, "target" ), new File( props.getProperty( "mapParam.buildDir" ) ) );
+        assertCanonicalFileEquals( new File( testDir, "target" ), new File( props.getProperty( "stringParam" ) ) );
+        assertCanonicalFileEquals( new File( testDir, "target" ), new File( props.getProperty( "propertiesParam.buildDir" ) ) );
+        assertCanonicalFileEquals( new File( testDir, "target" ), new File( props.getProperty( "mapParam.buildDir" ) ) );
         assertEquals( "4.0.0", props.getProperty( "domParam.children.modelVersion.0.value" ) );
         assertEquals( "org.apache.maven.its.it0104", props.getProperty( "domParam.children.groupId.0.value" ) );
         assertEquals( "1.0-SNAPSHOT", props.getProperty( "domParam.children.version.0.value" ) );
         assertEquals( "jar", props.getProperty( "domParam.children.packaging.0.value" ) );
         assertEquals( "http://maven.apache.org", props.getProperty( "domParam.children.url.0.value" ) );
         assertEquals( "Apache", props.getProperty( "domParam.children.organization.0.children.name.0.value" ) );
-        assertEquals( new File( testDir, "target" ), new File( props.getProperty( "domParam.children.build.0.children.directory.0.value" ) ) );
-        assertEquals( new File( testDir, "target/classes" ), new File( props.getProperty( "domParam.children.build.0.children.outputDirectory.0.value" ) ) );
+        assertCanonicalFileEquals( new File( testDir, "target" ), new File( props.getProperty( "domParam.children.build.0.children.directory.0.value" ) ) );
+        assertCanonicalFileEquals( new File( testDir, "target/classes" ), new File( props.getProperty( "domParam.children.build.0.children.outputDirectory.0.value" ) ) );
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3475BaseAlignedDirTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3475BaseAlignedDirTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3475BaseAlignedDirTest.java
index f3a4e6c..a7c4df3 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3475BaseAlignedDirTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3475BaseAlignedDirTest.java
@@ -23,6 +23,7 @@ import org.apache.maven.it.Verifier;
 import org.apache.maven.it.util.ResourceExtractor;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.Properties;
 
 /**
@@ -56,8 +57,6 @@ public class MavenITmng3475BaseAlignedDirTest
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
-        //testDir = testDir.getCanonicalFile();
-
         Properties configProps = verifier.loadProperties( "target/config.properties" );
 
         assertPathEquals( testDir, "target", configProps.getProperty( "mapParam.buildDirectory" ) );
@@ -84,10 +83,11 @@ public class MavenITmng3475BaseAlignedDirTest
     }
 
     private void assertPathEquals( File basedir, String expected, String actual )
+        throws IOException
     {
         File actualFile = new File( actual );
         assertTrue( "path not absolute: " + actualFile, actualFile.isAbsolute() );
-        assertEquals( new File( basedir, expected ), actualFile );
+        assertCanonicalFileEquals( new File( basedir, expected ), actualFile );
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3747PrefixedPathExpressionTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3747PrefixedPathExpressionTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3747PrefixedPathExpressionTest.java
index 62fb2ad..b00aa5e 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3747PrefixedPathExpressionTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3747PrefixedPathExpressionTest.java
@@ -54,10 +54,8 @@ public class MavenITmng3747PrefixedPathExpressionTest
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
-        //testDir = testDir.getCanonicalFile();
-
         Properties props = verifier.loadProperties( "target/config.properties" );
-        assertEquals( "path is: " + new File( testDir, "relative" ).getAbsolutePath() + "/somepath", 
+        assertCanonicalFileEquals( "path is: " + new File( testDir, "relative" ).getAbsolutePath() + "/somepath", 
             props.getProperty( "stringParam" ) );
     }
 

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3760BaseUriPropertyTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3760BaseUriPropertyTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3760BaseUriPropertyTest.java
index 2251367..f8ac04f 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3760BaseUriPropertyTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3760BaseUriPropertyTest.java
@@ -53,11 +53,9 @@ public class MavenITmng3760BaseUriPropertyTest
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
-        //testDir = testDir.getCanonicalFile();
-
         Properties props = verifier.loadProperties( "target/profile.properties" );
         // set via project
-        assertEquals( testDir.toURI().toString(), props.getProperty( "project.properties.pomProperty" ) );
+        assertCanonicalFileEquals( testDir.toURI().toString(), props.getProperty( "project.properties.pomProperty" ) );
         // check that project prefix is required
         assertEquals( "${baseUri}", props.getProperty( "project.properties.baseUriProperty" ) );
     }
@@ -77,11 +75,9 @@ public class MavenITmng3760BaseUriPropertyTest
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
-        //testDir = testDir.getCanonicalFile();
-
         Properties props = verifier.loadProperties( "target/profile.properties" );
         // set via project
-        assertEquals( testDir.toURI().toString(), props.getProperty( "project.properties.pomProperty" ) );
+        assertCanonicalFileEquals( testDir.toURI().toString(), props.getProperty( "project.properties.pomProperty" ) );
         // check that project prefix is required
         assertEquals( "myBaseUri", props.getProperty( "project.properties.baseUriProperty" ) );
     }

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3827PluginConfigTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3827PluginConfigTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3827PluginConfigTest.java
index 7bfe441..a264eb8 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3827PluginConfigTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3827PluginConfigTest.java
@@ -57,9 +57,7 @@ public class MavenITmng3827PluginConfigTest
 
         Properties props = verifier.loadProperties( "target/plugin-config.properties" );
 
-        //testDir = testDir.getCanonicalFile();
-
-        assertEquals( new File( testDir, "pom.xml" ), new File( props.getProperty( "fileParam" ) ) );
+        assertCanonicalFileEquals( new File( testDir, "pom.xml" ), new File( props.getProperty( "fileParam" ) ) );
         assertEquals( "true", props.getProperty( "booleanParam" ) );
         assertEquals( "42", props.getProperty( "byteParam" ) );
         assertEquals( "-12345", props.getProperty( "shortParam" ) );

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3864PerExecPluginConfigTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3864PerExecPluginConfigTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3864PerExecPluginConfigTest.java
index feb1df6..3e53b28 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3864PerExecPluginConfigTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3864PerExecPluginConfigTest.java
@@ -57,9 +57,7 @@ public class MavenITmng3864PerExecPluginConfigTest
 
         Properties props = verifier.loadProperties( "target/plugin-config.properties" );
 
-        //testDir = testDir.getCanonicalFile();
-
-        assertEquals( new File( testDir, "pom.xml" ), new File( props.getProperty( "fileParam" ) ) );
+        assertCanonicalFileEquals( new File( testDir, "pom.xml" ), new File( props.getProperty( "fileParam" ) ) );
         assertEquals( "true", props.getProperty( "booleanParam" ) );
         assertEquals( "42", props.getProperty( "byteParam" ) );
         assertEquals( "-12345", props.getProperty( "shortParam" ) );

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3877BasedirAlignedModelTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3877BasedirAlignedModelTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3877BasedirAlignedModelTest.java
index 4650294..985ce02 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3877BasedirAlignedModelTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3877BasedirAlignedModelTest.java
@@ -23,6 +23,7 @@ import org.apache.maven.it.Verifier;
 import org.apache.maven.it.util.ResourceExtractor;
 
 import java.io.File;
+import java.io.IOException;
 import java.util.Properties;
 
 /**
@@ -55,8 +56,6 @@ public class MavenITmng3877BasedirAlignedModelTest
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
-        //testDir = testDir.getCanonicalFile();
-
         Properties modelProps = verifier.loadProperties( "target/model.properties" );
 
         assertPathEquals( testDir, "target", modelProps.getProperty( "project.build.directory" ) );
@@ -89,10 +88,11 @@ public class MavenITmng3877BasedirAlignedModelTest
     }
 
     private void assertPathEquals( File basedir, String expected, String actual )
+        throws IOException
     {
         File actualFile = new File( actual );
         assertTrue( "path not absolute: " + actualFile, actualFile.isAbsolute() );
-        assertEquals( new File( basedir, expected ), actualFile );
+        assertCanonicalFileEquals( new File( basedir, expected ), actualFile );
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3904NestedBuildDirInterpolationTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3904NestedBuildDirInterpolationTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3904NestedBuildDirInterpolationTest.java
index 52d0936..dc03867 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3904NestedBuildDirInterpolationTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3904NestedBuildDirInterpolationTest.java
@@ -56,14 +56,12 @@ public class MavenITmng3904NestedBuildDirInterpolationTest
         verifier.verifyErrorFreeLog();
         verifier.resetStreams();
 
-        //testDir = testDir.getCanonicalFile();
-
         Properties props = verifier.loadProperties( "target/pom.properties" );
-        assertEquals( new File( testDir, "target/classes/dir0" ), 
+        assertCanonicalFileEquals( new File( testDir, "target/classes/dir0" ), 
             new File( props.getProperty( "project.properties.dir0" ) ) );
-        assertEquals( new File( testDir, "src/test/dir1" ), 
+        assertCanonicalFileEquals( new File( testDir, "src/test/dir1" ), 
             new File( props.getProperty( "project.properties.dir1" ) ) );
-        assertEquals( new File( testDir, "target/site/dir2" ), 
+        assertCanonicalFileEquals( new File( testDir, "target/site/dir2" ), 
             new File( props.getProperty( "project.properties.dir2" ) ) );
     }
 

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3944BasedirInterpolationTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3944BasedirInterpolationTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3944BasedirInterpolationTest.java
index 74494b6..0157834 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3944BasedirInterpolationTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3944BasedirInterpolationTest.java
@@ -58,8 +58,8 @@ public class MavenITmng3944BasedirInterpolationTest
 
         verifier.assertFilePresent( "target/basedir.properties" );
         Properties props = verifier.loadProperties( "target/basedir.properties" );
-        assertEquals( testDir, new File( props.getProperty( "project.properties.prop0" ) ) );
-        assertEquals( testDir, new File( props.getProperty( "project.properties.prop1" ) ) );
+        assertCanonicalFileEquals( testDir, new File( props.getProperty( "project.properties.prop0" ) ) );
+        assertCanonicalFileEquals( testDir, new File( props.getProperty( "project.properties.prop1" ) ) );
     }
 
 }

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3951AbsolutePathsTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3951AbsolutePathsTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3951AbsolutePathsTest.java
index 4cfac28..89a44fc 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3951AbsolutePathsTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng3951AbsolutePathsTest.java
@@ -70,11 +70,9 @@ public class MavenITmng3951AbsolutePathsTest
         verifier.assertFilePresent( "target/path.properties" );
         Properties props = verifier.loadProperties( "target/path.properties" );
 
-        //testDir = testDir.getCanonicalFile();
-
-        assertEquals( new File( testDir, "tmp" ).getAbsoluteFile(), new File( props.getProperty( "fileParams.0" ) ) );
-        assertEquals( new File( getRoot( testDir ), "tmp" ).getAbsoluteFile(), new File( props.getProperty( "fileParams.1" ) ) );
-        assertEquals( new File( repoDir ), new File( props.getProperty( "stringParams.0" ) ) );
+        assertCanonicalFileEquals( new File( testDir, "tmp" ).getAbsoluteFile(), new File( props.getProperty( "fileParams.0" ) ) );
+        assertCanonicalFileEquals( new File( getRoot( testDir ), "tmp" ).getAbsoluteFile(), new File( props.getProperty( "fileParams.1" ) ) );
+        assertCanonicalFileEquals( new File( repoDir ), new File( props.getProperty( "stringParams.0" ) ) );
     }
 
     private static File getRoot( File path )

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/8b7bc79d/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
----------------------------------------------------------------------
diff --git a/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java b/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
index 349acde..2b42844 100644
--- a/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
+++ b/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
@@ -474,4 +474,27 @@ public abstract class AbstractMavenIntegrationTestCase
         return verifier;
     }
 
+    static public void assertCanonicalFileEquals( String message, File expected, File actual )
+        throws IOException
+    {
+        assertEquals( message, expected.getCanonicalFile(), actual.getCanonicalFile() );
+    }
+
+    static public void assertCanonicalFileEquals( File expected, File actual )
+        throws IOException
+    {
+        assertCanonicalFileEquals( null, expected, actual );
+    }
+
+    static public void assertCanonicalFileEquals( String message, String expected, String actual )
+        throws IOException
+    {
+        assertCanonicalFileEquals( message, new File( expected ), new File( actual ) );
+    }
+
+    static public void assertCanonicalFileEquals( String expected, String actual )
+        throws IOException
+    {
+        assertCanonicalFileEquals( null, new File( expected ), new File( actual ) );
+    }
 }