From af337ae47e7b66d8c8edcd0abb1d05f530998f42 Mon Sep 17 00:00:00 2001 From: Matteo Beccati Date: Wed, 1 Apr 2020 18:14:25 +0200 Subject: [PATCH] Allow fpm tests to be run with long socket path Socket path is restricted to ~100 bytes, so we can use the system temp dir if the path ends up too long. --- sapi/fpm/tests/tester.inc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sapi/fpm/tests/tester.inc b/sapi/fpm/tests/tester.inc index e553e94f15..d63e8a7250 100644 --- a/sapi/fpm/tests/tester.inc +++ b/sapi/fpm/tests/tester.inc @@ -856,7 +856,17 @@ class Tester { $port = $this->getPort($type, $pool, true); if ($type === 'uds') { - return $this->getFile($port . '.sock'); + $address = $this->getFile($port . '.sock'); + + // Socket max path length is 108 on Linux and 104 on BSD, + // so we use the latter + if (strlen($address) <= 104) { + return $address; + } + + return sys_get_temp_dir().'/'. + hash('crc32', dirname($address)).'-'. + basename($address); } return $this->getHost($type) . ':' . $port; -- 2.40.0