summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Rosenberg <robin.rosenberg@dewire.com>2013-06-16 12:02:14 +0200
committerMatthias Sohn <matthias.sohn@sap.com>2013-08-21 14:44:46 +0200
commit8a7f4864d8189ddb19fb3f03de686e19e51bd02c (patch)
tree45ce049edc2b4ea072bcce77ef90dfc560dae0f2
parent423f7227cdd5f4ff9607daf063d15c2b290aa5b8 (diff)
downloadjgit-8a7f4864d8189ddb19fb3f03de686e19e51bd02c.tar.gz
jgit-8a7f4864d8189ddb19fb3f03de686e19e51bd02c.zip
Fix tests for OS X when the tmpdir is the default /tmp
/tmp is a symbolic link and some tests break when the path gets canonicalized by JGit or Jetty. Allow Jetty to serve symlinks by setting init parameter "aliases" to true [1]. [1] http://wiki.eclipse.org/Jetty/Howto/How_to_serve_symbolically_linked_files Change-Id: I45359a40435e8a33def6e0bb6784b4d8637793ac Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
-rw-r--r--org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/DumbClientDumbServerTest.java6
-rw-r--r--org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/GitServletInitTest.java4
-rw-r--r--org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java4
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileRepositoryBuilderTest.java9
4 files changed, 18 insertions, 5 deletions
diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/DumbClientDumbServerTest.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/DumbClientDumbServerTest.java
index fbf4d075ad..1726dc5eb9 100644
--- a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/DumbClientDumbServerTest.java
+++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/DumbClientDumbServerTest.java
@@ -60,6 +60,7 @@ import java.util.Map;
import org.eclipse.jetty.servlet.DefaultServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jgit.errors.NotSupportedException;
import org.eclipse.jgit.junit.TestRepository;
import org.eclipse.jgit.junit.http.AccessEvent;
@@ -97,8 +98,9 @@ public class DumbClientDumbServerTest extends HttpTestCase {
ServletContextHandler app = server.addContext("/git");
app.setResourceBase(base.toString());
- app.addServlet(DefaultServlet.class, "/");
-
+ ServletHolder holder = app.addServlet(DefaultServlet.class, "/");
+ // The tmp directory is symlinked on OS X
+ holder.setInitParameter("aliases", "true");
server.setUp();
remoteRepository = src.getRepository();
diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/GitServletInitTest.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/GitServletInitTest.java
index 9dfb199425..6cbb41e98e 100644
--- a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/GitServletInitTest.java
+++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/GitServletInitTest.java
@@ -101,6 +101,8 @@ public class GitServletInitTest {
ServletHolder s = app.addServlet(GitServlet.class, "/git");
s.setInitOrder(1);
s.getServletHandler().setStartWithUnavailable(false);
+ // The tmp directory is symlinked on OS X
+ s.setInitParameter("aliases", "true");
try {
server.setUp();
@@ -133,6 +135,8 @@ public class GitServletInitTest {
s.setInitOrder(1);
s.setInitParameter("base-path", ".");
s.setInitParameter("export-all", "true");
+ // The tmp directory is symlinked on OS X
+ s.setInitParameter("aliases", "true");
server.setUp();
assertTrue("no warnings", RecordingLogger.getWarnings().isEmpty());
diff --git a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
index 8bdaf2cb6a..b686d160b1 100644
--- a/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
+++ b/org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java
@@ -123,7 +123,9 @@ public class HttpClientTests extends HttpTestCase {
ServletContextHandler ctx = server.addContext(path);
ctx.setResourceBase(base.toString());
- ctx.addServlet(DefaultServlet.class, "/");
+ ServletHolder holder = ctx.addServlet(DefaultServlet.class, "/");
+ // The tmp directory is symlinked on OS X
+ holder.setInitParameter("aliases", "true");
return ctx;
}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileRepositoryBuilderTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileRepositoryBuilderTest.java
index 0655415a9d..efdcfeb472 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileRepositoryBuilderTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/internal/storage/file/FileRepositoryBuilderTest.java
@@ -148,7 +148,10 @@ public class FileRepositoryBuilderTest extends LocalDiskRepositoryTestCase {
builder.setMustExist(true);
Repository repo2 = builder.build();
- assertEquals(repo1.getDirectory(), repo2.getDirectory());
+ // The tmp directory may be a symlink so the actual path
+ // may not
+ assertEquals(repo1.getDirectory().getCanonicalPath(), repo2
+ .getDirectory().getCanonicalPath());
assertEquals(dir, repo2.getWorkTree());
}
@@ -168,7 +171,9 @@ public class FileRepositoryBuilderTest extends LocalDiskRepositoryTestCase {
builder.setMustExist(true);
Repository repo2 = builder.build();
- assertEquals(repo1.getDirectory(), repo2.getDirectory());
+ // The tmp directory may be a symlink
+ assertEquals(repo1.getDirectory().getCanonicalPath(), repo2
+ .getDirectory().getCanonicalPath());
assertEquals(dir, repo2.getWorkTree());
}
}