develooper Front page | perl.perl5.porters | Postings from February 2014

[perl #121079] lib/locale.t: new failures on Darwin/PPC

Thread Previous
Karl Williamson via RT
February 23, 2014 05:27
[perl #121079] lib/locale.t: new failures on Darwin/PPC
Message ID:
I sent Jim a C program to print the radix characters.  It showed for these locales

> eu_ES.ISO8859-1
> eu_ES.ISO8859-15
> eu_ES.UTF-8

that the radix was a string of two characters: An apostrophe followed by a space.  Since Craig isn't having this problem on his later version of libc, this appears to be a bug in these locales that has since been fixed.  I was wrong when I told Jim offlist that a single-byte locale, such as 8859, can only have a single byte radix character.  In fact the radix is a string, so this is legal POSIX .  I *think* also that Perl can cope with a multi-char radix, but it can't cope with this one.  From the error messages, it is likely that Perl can't handle a quote character being part of a decimal point.  As I said above, I don't believe it's worth fixing this, given until and if we are ever presented with a legitimate locale that has this characteristic.

The reason this hasn't shown up before is the same reason the Lithuanian locales used to pass.  I have added a lot of locale tests in 5.19 that never were there before.  In this case, it started failing when I added some new radix tests. (In the Lithuanian case, tests for upper/lowercase pairs showed that the ENG character casing hasn't been implemented correctly).

locale.t has also been updated so that if a certain percentage of tests on a machine pass completely, the failures don't fail the test as a whole.  For most platforms the number is >5% failure triggers the whole test failing.  The percentage can be varied depending on platform.  For MSWindows, every locale but the C locale has at least one violation of the POSIX standard, so the acceptable percentage of failures is 99.9%. 

Rather than make special cases for these tests, I think the general mechanism is good enough.  If it's the case that these failures are pushing the failure rate too high for this platform and OS version, then we can up the acceptable failure rate enough to get it to pass.
Karl Williamson

via perlbug:  queue: perl5 status: open

Thread Previous Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About