diff --git a/Jenkinsfile b/Jenkinsfile
index 9dc9700e90dd..a24b68540f94 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -99,7 +99,7 @@ def mavenBuild(jdk, cmdline, mvnName) {
"MAVEN_OPTS=-Xms2g -Xmx4g -Djava.awt.headless=true"]) {
configFileProvider(
[configFile(fileId: 'oss-settings.xml', variable: 'GLOBAL_MVN_SETTINGS')]) {
- sh "mvn --no-transfer-progress -s $GLOBAL_MVN_SETTINGS -Dmaven.repo.local=.repository -Pci -V -B -e -Djetty.testtracker.log=true $cmdline -Dunix.socket.tmp=/tmp/unixsocket"
+ sh "mvn --no-transfer-progress -s $GLOBAL_MVN_SETTINGS -Dmaven.repo.local=.repository -Pci -V -B -e -Djetty.testtracker.log=true $cmdline"
}
}
}
diff --git a/Jenkinsfile-autobahn b/Jenkinsfile-autobahn
index 0944e587368d..0e92efd217d6 100644
--- a/Jenkinsfile-autobahn
+++ b/Jenkinsfile-autobahn
@@ -80,7 +80,7 @@ def mavenBuild(jdk, cmdline, mvnName, junitPublishDisabled) {
mavenOpts: mavenOpts,
mavenLocalRepo: localRepo) {
// Some common Maven command line + provided command line
- sh "mvn -Pci -V -B -e -fae -Dmaven.test.failure.ignore=true -Djetty.testtracker.log=true $cmdline -Dunix.socket.tmp=" + env.JENKINS_HOME
+ sh "mvn -Pci -V -B -e -fae -Dmaven.test.failure.ignore=true -Djetty.testtracker.log=true $cmdline"
}
}
diff --git a/jetty-unixdomain-server/src/test/java/org/eclipse/jetty/unixdomain/server/UnixDomainTest.java b/jetty-unixdomain-server/src/test/java/org/eclipse/jetty/unixdomain/server/UnixDomainTest.java
index 29e770eaa2ba..4313a14e3cb5 100644
--- a/jetty-unixdomain-server/src/test/java/org/eclipse/jetty/unixdomain/server/UnixDomainTest.java
+++ b/jetty-unixdomain-server/src/test/java/org/eclipse/jetty/unixdomain/server/UnixDomainTest.java
@@ -52,6 +52,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
@EnabledForJreRange(min = JRE.JAVA_16)
public class UnixDomainTest
@@ -84,7 +85,10 @@ private void start(Handler handler) throws Exception
{
server = new Server();
UnixDomainServerConnector connector = new UnixDomainServerConnector(server, factories);
- unixDomainPath = Files.createTempFile(Path.of("/tmp"), "unixdomain_", ".sock");
+ String dir = System.getProperty("jetty.unixdomain.dir");
+ assertNotNull(dir);
+ unixDomainPath = Files.createTempFile(Path.of(dir), "unix_", ".sock");
+ assertTrue(unixDomainPath.toAbsolutePath().toString().length() < 108, "Unix-Domain path too long");
Files.delete(unixDomainPath);
connector.setUnixDomainPath(unixDomainPath);
server.addConnector(connector);
diff --git a/jetty-unixsocket/jetty-unixsocket-client/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketTest.java b/jetty-unixsocket/jetty-unixsocket-client/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketTest.java
index 3c3d981a9b4b..9ceb0ca6b5e3 100644
--- a/jetty-unixsocket/jetty-unixsocket-client/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketTest.java
+++ b/jetty-unixsocket/jetty-unixsocket-client/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketTest.java
@@ -18,7 +18,6 @@
import java.net.ConnectException;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.nio.file.Paths;
import java.util.Date;
import java.util.concurrent.ExecutionException;
import javax.servlet.http.HttpServletRequest;
@@ -32,7 +31,6 @@
import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.unixsocket.client.HttpClientTransportOverUnixSockets;
import org.eclipse.jetty.unixsocket.server.UnixSocketConnector;
-import org.eclipse.jetty.util.StringUtil;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Tag;
@@ -45,9 +43,9 @@
import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.instanceOf;
import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assumptions.assumeTrue;
import static org.junit.jupiter.api.condition.OS.LINUX;
import static org.junit.jupiter.api.condition.OS.MAC;
@@ -65,18 +63,11 @@ public void before() throws Exception
{
server = null;
httpClient = null;
- String unixSocketTmp = System.getProperty("unix.socket.tmp");
- if (StringUtil.isNotBlank(unixSocketTmp))
- sockFile = Files.createTempFile(Paths.get(unixSocketTmp), "unix", ".sock");
- else
- sockFile = Files.createTempFile("unix", ".sock");
- if (sockFile.toAbsolutePath().toString().length() > UnixSocketConnector.MAX_UNIX_SOCKET_PATH_LENGTH)
- {
- Path tmp = Paths.get("/tmp");
- assumeTrue(Files.exists(tmp) && Files.isDirectory(tmp));
- sockFile = Files.createTempFile(tmp, "unix", ".sock");
- }
- assertTrue(Files.deleteIfExists(sockFile), "temp sock file cannot be deleted");
+ String dir = System.getProperty("jetty.unixdomain.dir");
+ assertNotNull(dir);
+ sockFile = Files.createTempFile(Path.of(dir), "unix_", ".sock");
+ assertTrue(sockFile.toAbsolutePath().toString().length() < UnixSocketConnector.MAX_UNIX_SOCKET_PATH_LENGTH, "Unix-Domain path too long");
+ Files.delete(sockFile);
}
@AfterEach
diff --git a/pom.xml b/pom.xml
index f7d41aa237ce..028c859bec78 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,6 +12,7 @@
1995
+ /tmp
11
11
11
@@ -44,7 +45,6 @@
3.4.1.Final
1.0.6
1.10.9
-
org.slf4j;version="[1.7,3.0)", org.slf4j.event;version="[1.7,3.0)", org.slf4j.helpers;version="[1.7,3.0)", org.slf4j.spi;version="[1.7,3.0)"
@@ -685,7 +685,7 @@
alphabetical
${project.build.directory}
- ${unix.socket.tmp}
+ ${jetty.unixdomain.dir}
true
${jetty.testtracker.log}
@@ -1245,6 +1245,17 @@
+
+ unix-domain-windows
+
+
+ Windows
+
+
+
+ ${user.home}
+
+
errorprone
diff --git a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java
index 1cc0b7d61351..089d539fe79b 100644
--- a/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java
+++ b/tests/test-distribution/src/test/java/org/eclipse/jetty/tests/distribution/DistributionTests.java
@@ -39,7 +39,6 @@
import org.eclipse.jetty.unixsocket.server.UnixSocketConnector;
import org.eclipse.jetty.util.BlockingArrayQueue;
import org.eclipse.jetty.util.IO;
-import org.eclipse.jetty.util.StringUtil;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.StatusCode;
@@ -63,8 +62,8 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assumptions.assumeTrue;
public class DistributionTests extends AbstractJettyHomeTest
{
@@ -279,20 +278,11 @@ private void testSimpleWebAppWithJSPOverHTTP2(boolean ssl) throws Exception
@DisabledOnOs(OS.WINDOWS) // jnr not supported on windows
public void testUnixSocket() throws Exception
{
- Path tmpSockFile;
- String unixSocketTmp = System.getProperty("unix.socket.tmp");
- if (StringUtil.isNotBlank(unixSocketTmp))
- tmpSockFile = Files.createTempFile(Paths.get(unixSocketTmp), "unix", ".sock");
- else
- tmpSockFile = Files.createTempFile("unix", ".sock");
- if (tmpSockFile.toAbsolutePath().toString().length() > UnixSocketConnector.MAX_UNIX_SOCKET_PATH_LENGTH)
- {
- Path tmp = Paths.get("/tmp");
- assumeTrue(Files.exists(tmp) && Files.isDirectory(tmp));
- tmpSockFile = Files.createTempFile(tmp, "unix", ".sock");
- }
- Path sockFile = tmpSockFile;
- assertTrue(Files.deleteIfExists(sockFile), "temp sock file cannot be deleted");
+ String dir = System.getProperty("jetty.unixdomain.dir");
+ assertNotNull(dir);
+ Path sockFile = Files.createTempFile(Path.of(dir), "unix_", ".sock");
+ assertTrue(sockFile.toAbsolutePath().toString().length() < UnixSocketConnector.MAX_UNIX_SOCKET_PATH_LENGTH, "Unix-Domain path too long");
+ Files.delete(sockFile);
String jettyVersion = System.getProperty("jettyVersion");
JettyHomeTester distribution = JettyHomeTester.Builder.newInstance()
diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/TransportScenario.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/TransportScenario.java
index a0d49548f065..4f5b0f3990a9 100644
--- a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/TransportScenario.java
+++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/TransportScenario.java
@@ -17,7 +17,6 @@
import java.lang.management.ManagementFactory;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@@ -52,12 +51,10 @@
import org.eclipse.jetty.server.SslConnectionFactory;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.toolchain.test.MavenTestingUtils;
import org.eclipse.jetty.unixsocket.client.HttpClientTransportOverUnixSockets;
import org.eclipse.jetty.unixsocket.server.UnixSocketConnector;
import org.eclipse.jetty.util.BlockingArrayQueue;
import org.eclipse.jetty.util.SocketAddressResolver;
-import org.eclipse.jetty.util.StringUtil;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
import org.junit.jupiter.api.Assumptions;
@@ -65,7 +62,8 @@
import org.slf4j.LoggerFactory;
import static org.eclipse.jetty.http.client.Transport.UNIX_SOCKET;
-import static org.junit.jupiter.api.Assumptions.assumeTrue;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class TransportScenario
{
@@ -86,20 +84,10 @@ public TransportScenario(final Transport transport) throws IOException
{
this.transport = transport;
- Path unixSocketTmp;
- String tmpProp = System.getProperty("unix.socket.tmp");
- if (StringUtil.isBlank(tmpProp))
- unixSocketTmp = MavenTestingUtils.getTargetPath();
- else
- unixSocketTmp = Paths.get(tmpProp);
- sockFile = Files.createTempFile(unixSocketTmp, "unix", ".sock");
- if (sockFile.toAbsolutePath().toString().length() > UnixSocketConnector.MAX_UNIX_SOCKET_PATH_LENGTH)
- {
- Files.delete(sockFile);
- Path tmp = Paths.get("/tmp");
- assumeTrue(Files.exists(tmp) && Files.isDirectory(tmp));
- sockFile = Files.createTempFile(tmp, "unix", ".sock");
- }
+ String dir = System.getProperty("jetty.unixdomain.dir");
+ assertNotNull(dir);
+ sockFile = Files.createTempFile(Path.of(dir), "unix_", ".sock");
+ assertTrue(sockFile.toAbsolutePath().toString().length() < UnixSocketConnector.MAX_UNIX_SOCKET_PATH_LENGTH, "Unix-Domain path too long");
Files.delete(sockFile);
// Disable UNIX_SOCKET due to jnr/jnr-unixsocket#69.