In perl.git, the branch blead has been updated

<https://perl5.git.perl.org/perl.git/commitdiff/69b89a0f0bb2cbb4c1607e78c3b414bf45244bea?hp=fb55ce6b7596b9e94f941cf83eac5ff84f760ea2>

- Log -----------------------------------------------------------------
commit 69b89a0f0bb2cbb4c1607e78c3b414bf45244bea
Author: Dominic Hargreaves <[email protected]>
Date:   Fri Jun 7 10:04:26 2019 +0100

    Fix edge case test failure in ext/POSIX/t/mb.t
    
    This new test fails in an environment where LANG is set to one thing and
    LC_ALL is set to another, and where LANG is set to a locale which is
    not installed in the environment in question.
    
    Such a test environment is arguably broken, but appears in common
    chroot setups such as Debian's sbuild tool where LANG is inherited from
    the parent environment, and LC_ALL is used to override it.
    
    Committer: removed one non-printing character from patch
    
    For: RT # 134182

-----------------------------------------------------------------------

Summary of changes:
 ext/POSIX/t/mb.t | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/ext/POSIX/t/mb.t b/ext/POSIX/t/mb.t
index 053693e611..c10ea1a01e 100644
--- a/ext/POSIX/t/mb.t
+++ b/ext/POSIX/t/mb.t
@@ -34,9 +34,13 @@ SKIP: {
     my $utf8_locale = find_utf8_ctype_locale();
     skip("no utf8 locale available", 3) unless $utf8_locale;
 
+    # Here we need to influence LC_CTYPE, but it's not enough to just
+    # set this because LC_ALL could override it. It's also not enough
+    # to delete LC_ALL because it could be used to override other
+    # variables such as LANG in the underlying test environment.
+    # Continue to set LC_CTYPE just in case...
     local $ENV{LC_CTYPE} = $utf8_locale;
-    local $ENV{LC_ALL};
-    delete $ENV{LC_ALL};
+    local $ENV{LC_ALL} = $utf8_locale;
 
     fresh_perl_like(
         'use POSIX; print &POSIX::MB_CUR_MAX',

-- 
Perl5 Master Repository

Reply via email to