Skip to content

Commit 70c3036

Browse files
committed
Try short socket path in tests, when long path is too long
1 parent b039a94 commit 70c3036

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
@@ -1144,16 +1144,22 @@ class Tester
11441144
$port = $this->getPort($type, $pool, true);
11451145
if ($type === 'uds') {
11461146
$address = $this->getFile($port . '.sock');
1147+
// is longer on Mac, than on Linux
1148+
$tmpAddress = sys_get_temp_dir() . '/' .
1149+
hash('crc32', dirname($address)) . '-' .
1150+
basename($address);
1151+
$addresses = [$address, $tmpAddress];
1152+
\usort($addresses, function (string $a, string $b): int {
1153+
return strlen($a) <=> strlen($b);
1154+
});
11471155

11481156
// Socket max path length is 108 on Linux and 104 on BSD,
11491157
// so we use the latter
1150-
if (strlen($address) <= 104) {
1151-
return $address;
1158+
if (strlen($addresses[1]) > 104) {
1159+
return $addresses[0];
11521160
}
11531161

1154-
return sys_get_temp_dir() . '/' .
1155-
hash('crc32', dirname($address)) . '-' .
1156-
basename($address);
1162+
return $addresses[1];
11571163
}
11581164

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

0 commit comments

Comments
 (0)