]> source.dussan.org Git - jgit.git/commitdiff
Fix failed tests when the tmp directory is a symlink 45/17145/3
authorRobin Rosenberg <robin.rosenberg@dewire.com>
Tue, 8 Oct 2013 08:35:39 +0000 (10:35 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Sat, 19 Oct 2013 22:13:58 +0000 (00:13 +0200)
On Mac OS X /tmp is by default a symbolic link.

Change-Id: I0913ee5ee8db5c5918a9e41abbbfe125b6c70783
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/RepositoryTestCase.java
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java
org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleWalkTest.java

index 1f1962a7b163a0f3e8d7cf9645c0302cd8cd014a..7b12ce1b213c49b93ae533aa5cd6118ab9e02b44 100644 (file)
@@ -498,4 +498,9 @@ public abstract class RepositoryTestCase extends LocalDiskRepositoryTestCase {
                                Constants.OBJ_BLOB, Constants.encode(content)));
                return entry;
        }
+
+       public static void assertEqualsFile(File expected, File actual)
+                       throws IOException {
+               assertEquals(expected.getCanonicalFile(), actual.getCanonicalFile());
+       }
 }
index aad5bfc8366ba222e63910b3aa79701e109df789..0cab987e6ae611a1455345563eb675291c299ab1 100644 (file)
@@ -61,17 +61,17 @@ import org.junit.Test;
 
 public class RepositoryCacheTest extends RepositoryTestCase {
        @Test
-       public void testNonBareFileKey() {
+       public void testNonBareFileKey() throws IOException {
                File gitdir = db.getDirectory();
                File parent = gitdir.getParentFile();
                File other = new File(parent, "notagit");
-               assertEquals(gitdir, FileKey.exact(gitdir, db.getFS()).getFile());
-               assertEquals(parent, FileKey.exact(parent, db.getFS()).getFile());
-               assertEquals(other, FileKey.exact(other, db.getFS()).getFile());
+               assertEqualsFile(gitdir, FileKey.exact(gitdir, db.getFS()).getFile());
+               assertEqualsFile(parent, FileKey.exact(parent, db.getFS()).getFile());
+               assertEqualsFile(other, FileKey.exact(other, db.getFS()).getFile());
 
-               assertEquals(gitdir, FileKey.lenient(gitdir, db.getFS()).getFile());
-               assertEquals(gitdir, FileKey.lenient(parent, db.getFS()).getFile());
-               assertEquals(other, FileKey.lenient(other, db.getFS()).getFile());
+               assertEqualsFile(gitdir, FileKey.lenient(gitdir, db.getFS()).getFile());
+               assertEqualsFile(gitdir, FileKey.lenient(parent, db.getFS()).getFile());
+               assertEqualsFile(other, FileKey.lenient(other, db.getFS()).getFile());
        }
 
        @Test
@@ -83,10 +83,11 @@ public class RepositoryCacheTest extends RepositoryTestCase {
                assertTrue(name.endsWith(".git"));
                name = name.substring(0, name.length() - 4);
 
-               assertEquals(gitdir, FileKey.exact(gitdir, db.getFS()).getFile());
+               assertEqualsFile(gitdir, FileKey.exact(gitdir, db.getFS()).getFile());
 
-               assertEquals(gitdir, FileKey.lenient(gitdir, db.getFS()).getFile());
-               assertEquals(gitdir, FileKey.lenient(new File(parent, name), db.getFS()).getFile());
+               assertEqualsFile(gitdir, FileKey.lenient(gitdir, db.getFS()).getFile());
+               assertEqualsFile(gitdir,
+                               FileKey.lenient(new File(parent, name), db.getFS()).getFile());
        }
 
        @Test
@@ -95,12 +96,12 @@ public class RepositoryCacheTest extends RepositoryTestCase {
 
                r = new FileKey(db.getDirectory(), db.getFS()).open(true);
                assertNotNull(r);
-               assertEquals(db.getDirectory(), r.getDirectory());
+               assertEqualsFile(db.getDirectory(), r.getDirectory());
                r.close();
 
                r = new FileKey(db.getDirectory(), db.getFS()).open(false);
                assertNotNull(r);
-               assertEquals(db.getDirectory(), r.getDirectory());
+               assertEqualsFile(db.getDirectory(), r.getDirectory());
                r.close();
        }
 
@@ -116,12 +117,13 @@ public class RepositoryCacheTest extends RepositoryTestCase {
                        new FileKey(gitdir, db.getFS()).open(true);
                        fail("incorrectly opened a non existant repository");
                } catch (RepositoryNotFoundException e) {
-                       assertEquals("repository not found: " + gitdir, e.getMessage());
+                       assertEquals("repository not found: " + gitdir.getCanonicalPath(),
+                                       e.getMessage());
                }
 
                final Repository o = new FileKey(gitdir, db.getFS()).open(false);
                assertNotNull(o);
-               assertEquals(gitdir, o.getDirectory());
+               assertEqualsFile(gitdir, o.getDirectory());
                assertFalse(gitdir.exists());
        }
 
index f44f67f845922c3be02f3c42805a2620e33b7c58..2b9c1077782fad1762af9b0e6581e11691c1dc75 100644 (file)
@@ -221,8 +221,9 @@ public class SubmoduleWalkTest extends RepositoryTestCase {
                Repository subRepo = gen.getRepository();
                addRepoToClose(subRepo);
                assertNotNull(subRepo);
-               assertEquals(modulesGitDir, subRepo.getDirectory());
-               assertEquals(new File(db.getWorkTree(), path), subRepo.getWorkTree());
+               assertEqualsFile(modulesGitDir, subRepo.getDirectory());
+               assertEqualsFile(new File(db.getWorkTree(), path),
+                               subRepo.getWorkTree());
                assertFalse(gen.next());
        }