This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
lib/locale.t: Skip testing $! unless LC_MESSAGES exists
authorKarl Williamson <khw@cpan.org>
Tue, 17 Jun 2014 19:10:04 +0000 (13:10 -0600)
committerKarl Williamson <khw@cpan.org>
Wed, 18 Jun 2014 02:21:39 +0000 (20:21 -0600)
Some platforms don't have LC_MESSAGES for some or all locales, so skip
these tests on them.

lib/locale.t

index 13fc574..7c97db0 100644 (file)
@@ -1842,9 +1842,10 @@ foreach my $Locale (@Locale) {
 
             # Look for non-ASCII error messages, and verify that the first
             # such is in UTF-8 (the others almost certainly will be like the
-            # first).
+            # first).  This is only done if the current locale has LC_MESSAGES
             $ok14 = 1;
             $ok14_5 = 1;
+            if (setlocale(&POSIX::LC_MESSAGES, $Locale)) {
             foreach my $err (keys %!) {
                 use Errno;
                 $! = eval "&Errno::$err";   # Convert to strerror() output
@@ -1856,6 +1857,7 @@ foreach my $Locale (@Locale) {
                     last;
                 }
             }
+            }
 
             # Similarly, we verify that a non-ASCII radix is in UTF-8.  This
             # also catches if there is a disparity between sprintf and