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
