lib/locale.t: Make more tests not fail unless is bad for enough locales
authorKarl Williamson <public@khwilliamson.com>
Mon, 24 Feb 2014 19:00:03 +0000 (12:00 -0700)
committerKarl Williamson <public@khwilliamson.com>
Tue, 25 Feb 2014 05:38:06 +0000 (22:38 -0700)
commitb057411ddb1a3d8b6ab062d667c8e39f80cd7343
tree27dd02244ad9f7882d94bef313329a3e5f251f19
parent5b1f18a75ba6ee80f801b8f8226103f1495701fa
lib/locale.t: Make more tests not fail unless is bad for enough locales

locale.t has some tests that fail even one locale fails; and it has some
tests where failure doesn't happen unless a sufficient percentage of
locales have the same problem.

The first set should be for tests whose failure indicates a basic
problem in locale handling; and the second set should be for tests where
it could be that just a locale definition is bad.

Prior to this patch, tests dealing with radix problems were considered
in the first category, but in fact it's possible that just the locale
definition for the radix is wrong.  This is what happened for some older
Darwin versions for their Basque locales, which caused locale.t to show
failures, whereas it was just these locales that were bad, and the
generic handling was ok, or good enough.  (The actual failures had the
radix be the two character string: apostrophe followed by a blank.  It
would be a lot of work to make Perl deal with having a quote character
also mean a decimal point, and that work isn't worth it, especially as
this was a locale definition error, and we don't know of any locale in
the world where an apostrophe is legitimately a radix character.)

For this commit, I looked through the tests, and I added the tests where
it seemed that the problem could just be a bad locale definition to the
list of such tests.  Note that failures here could mean an internal Perl
error, but in that case, it should affect many more locales, so will
show up anyway as the failure rate should exceed the acceptable one.
lib/locale.t