Skip to content

Commit 4396f3d

Browse files
committed
Try short socket path in tests, when long path is too long
1 parent fbf0124 commit 4396f3d

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

sapi/fpm/tests/tester.inc

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,16 +1148,22 @@ class Tester
11481148
$port = $this->getPort($type, $pool, true);
11491149
if ($type === 'uds') {
11501150
$address = $this->getFile($port . '.sock');
1151+
// is longer on Mac, than on Linux
1152+
$tmpAddress = sys_get_temp_dir() . '/' .
1153+
hash('crc32', dirname($address)) . '-' .
1154+
basename($address);
1155+
$addresses = [$address, $tmpAddress];
1156+
\usort($addresses, function (string $a, string $b): int {
1157+
return strlen($a) <=> strlen($b);
1158+
});
11511159

11521160
// Socket max path length is 108 on Linux and 104 on BSD,
11531161
// so we use the latter
1154-
if (strlen($address) <= 104) {
1155-
return $address;
1162+
if (strlen($addresses[1]) > 104) {
1163+
return $addresses[0];
11561164
}
11571165

1158-
return sys_get_temp_dir() . '/' .
1159-
hash('crc32', dirname($address)) . '-' .
1160-
basename($address);
1166+
return $addresses[1];
11611167
}
11621168

11631169
return $this->getHost($type) . ':' . $port;

0 commit comments

Comments
 (0)