summaryrefslogtreecommitdiff
path: root/lib/locale.t
diff options
context:
space:
mode:
authorSteve Peters <steve@fisharerojo.org>2006-11-21 03:59:34 +0000
committerSteve Peters <steve@fisharerojo.org>2006-11-21 03:59:34 +0000
commit87e33296bf0538cd7a52dd3a42dce8c2210d7406 (patch)
tree76c4512b65e793093fe36a6d9c1ac5a891df5b57 /lib/locale.t
parent6f0782f417a0ad4f77f4fda488ec267d49cdebe2 (diff)
downloadperl-87e33296bf0538cd7a52dd3a42dce8c2210d7406.tar.gz
"This is going to be slow." This change switches OpenBSD locale
tests from the spaghetti doneness test to specifically testing locales in its /usr/share/locale. Speeds up lib/locale.t to 13 minutes a run vs. the previous time of over two hours. p4raw-id: //depot/perl@29332
Diffstat (limited to 'lib/locale.t')
-rw-r--r--lib/locale.t11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/locale.t b/lib/locale.t
index 666b9a93d1..c3a9d945b9 100644
--- a/lib/locale.t
+++ b/lib/locale.t
@@ -399,6 +399,17 @@ if (-x "/usr/bin/locale" && open(LOCALES, "/usr/bin/locale -a 2>/dev/null|")) {
trylocale($_);
}
close(LOCALES);
+} elsif ($^O eq 'openbsd' && -e '/usr/share/locale') {
+
+ # OpenBSD doesn't have a locale executable, so reading /usr/share/locale
+ # is much easier and faster than the last resort method.
+
+ opendir(LOCALES, '/usr/share/locale');
+ while ($_ = readdir(LOCALES)) {
+ chomp;
+ trylocale($_);
+ }
+ close(LOCALES);
} else {
# This is going to be slow.