Skip to content

Commit c940a60

Browse files
committed
Make setlocale skipifs musl-compatible
1 parent 87d635b commit c940a60

File tree

4 files changed

+16
-9
lines changed

4 files changed

+16
-9
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
function require_locale(int $category, ...$locales) {
3+
if (setlocale($category, "This locale definitely does not exist")) {
4+
die("skip Cannot determine available locales");
5+
}
6+
if (!setlocale($category, ...$locales)) {
7+
$localesStr = implode(", ", $locales);
8+
die("skip Locales not available: $localesStr");
9+
}
10+
}

ext/standard/tests/strings/setlocale_variation1.phpt

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ Test setlocale() function : usage variations - passing multiple valid/invalid lo
55
if (substr(PHP_OS, 0, 3) == 'WIN') {
66
die('skip Not valid for windows');
77
}
8-
if (setlocale(LC_ALL, "en_US.utf8", "Ko_KR.utf8", "zh_CN.utf8") === false) {
9-
die('skip en_US.utf8/Ko_KR.utf8/zh_CN.utf8 locales not available');
10-
}
8+
require __DIR__ . '/setlocale_skipif.inc';
9+
require_locale(LC_ALL, "en_US.utf8", "Ko_KR.utf8", "zh_CN.utf8");
1110
?>
1211
--FILE--
1312
<?php

ext/standard/tests/strings/setlocale_variation3.phpt

+2-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ Test setlocale() function : usage variations - setting system locale = 0
55
if (substr(PHP_OS, 0, 3) == 'WIN') {
66
die('skip Not valid for windows');
77
}
8-
if (setlocale(LC_ALL,'en_US.utf8') === false) {
9-
die('skip en_US.utf8 locale not available');
10-
}
8+
require __DIR__ . '/setlocale_skipif.inc';
9+
require_locale(LC_ALL, 'en_US.utf8');
1110
?>
1211
--FILE--
1312
<?php

ext/standard/tests/strings/strtoupper.phpt

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22
Test strtoupper on non-ASCII characters
33
--SKIPIF--
44
<?php
5-
if (!setlocale(LC_CTYPE, "de_DE", "de", "german", "ge", "de_DE.ISO8859-1", "ISO8859-1")) {
6-
die("skip locale needed for this test is not supported on this platform");
7-
}
5+
require __DIR__ . '/setlocale_skipif.inc';
6+
require_locale(LC_CTYPE, "de_DE", "de", "german", "ge", "de_DE.ISO8859-1", "ISO8859-1");
87
?>
98
--FILE--
109
<?php

0 commit comments

Comments
 (0)