Subject: | t/doc.t failure in non-English locales with Perl 5.22 |
t/doc.t started to fail in at least the fr_FR.UTF-8 locale with Perl 5.22:
# Failed test 'POSIX 1'
# at t/doc.t line 66.
# got: 'POSIXish: mardi, d�cembre 12, 1995'
# expected: 'POSIXish: mardi, décembre 12, 1995'
# Looks like you failed 1 test of 26.
The difference is that 'got' has an é in latin1 encoding
while 'expected' has it in utf8.
This seems to be because of a bug fix in POSIX::strftime() in Perl 5.21.1, which made it set the UTF8 flag in UTF-8 locales when the return value has non-ASCII characters.
http://perl5.git.perl.org/perl.git/commit/9717af6d049902fc887c412facb2d15e785ef1a4
I18N::Langinfo has a similar bug, so the results are now no longer equal. I've filed https://rt.perl.org/Ticket/Display.html?id=127288 about this, so it might get fixed in a future Perl release.
This is also https://bugs.debian.org/811104 and we'll be working around it by setting LC_ALL=C when running the test suite.