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>
This commit is contained in:
parent
4045e7e9c4
commit
7f43d04986
|
@ -60,6 +60,7 @@
|
|||
|
||||
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 void setUp() throws Exception {
|
|||
|
||||
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();
|
||||
|
|
|
@ -101,6 +101,8 @@ public void testInitUnderContainer_NoBasePath() throws Exception {
|
|||
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 void testInitUnderContainer_WithBasePath() throws Exception {
|
|||
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());
|
||||
|
|
|
@ -123,7 +123,9 @@ private ServletContextHandler dumb(final String path) {
|
|||
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -148,7 +148,10 @@ public void relativeGitDirRef() throws Exception {
|
|||
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 void scanWithGitDirRef() throws Exception {
|
|||
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());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue