From 068e2df1ce345f64b30b72471a26d1ce53206b6c Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Tue, 8 Oct 2013 10:35:39 +0200 Subject: [PATCH] Fix failed tests when the tmp directory is a symlink On Mac OS X /tmp is by default a symbolic link. Change-Id: I0913ee5ee8db5c5918a9e41abbbfe125b6c70783 Signed-off-by: Matthias Sohn --- .../jgit/junit/RepositoryTestCase.java | 5 ++++ .../eclipse/jgit/lib/RepositoryCacheTest.java | 30 ++++++++++--------- .../jgit/submodule/SubmoduleWalkTest.java | 5 ++-- 3 files changed, 24 insertions(+), 16 deletions(-) diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/RepositoryTestCase.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/RepositoryTestCase.java index 1f1962a7b..7b12ce1b2 100644 --- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/RepositoryTestCase.java +++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/RepositoryTestCase.java @@ -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()); + } } diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java index aad5bfc83..0cab987e6 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/RepositoryCacheTest.java @@ -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()); } diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleWalkTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleWalkTest.java index f44f67f84..2b9c10777 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleWalkTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/submodule/SubmoduleWalkTest.java @@ -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()); }