Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.91k stars 542 forks source link

t/lib/locale.t noisy+complaining but passes on Win32 #13629

Closed p5pRT closed 10 years ago

p5pRT commented 10 years ago

Migrated from rt.perl.org#121340 (status was 'resolved')

Searchable as RT121340$

p5pRT commented 10 years ago

From @bulk88

Created by @bulk88

t/lib/locale.t is noisy and complaining but passes all tests on Win32. ----------------------------------------------------------------- ../lib/less.t ..................................................... ok ../lib/locale.t ................................................... 257/? # The following locales # # C # # tested okay. # # The following locales # # Afrikaans Albanian American Basque Bulgarian Catalan Catal├á # Croatian Czech Danish Dutch English Estonian Faroese Finnish # French F├╕royskt Galician German Greek G├íidhlig Hungarian # Icelandic Indonesian Italian Latvian Lithuanian Norwegian # Polish Portuguese Portugu├¬s Russian Serbian Slovak Slovenian # Spanish Swedish S├ími Turkish Welsh af ca da en es fi fr fy # ga hu it la mo no no\@​nynorsk po ro ru sl # # had problems. # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. ../lib/locale.t ................................................... ok ../lib/open.t ..................................................... ok ../lib/overload.t ................................................. ok -------------------------------------------------------------------

Attaching manual runs at set PERL_DEBUG_FULL_TEST 0\,1\,2. debug*.txt are named respectively. Files are compressed so this ticket isn't rejected from P5P ML attachment size limit IIRC is 250 KB (RT will take the ticket perfectly\, but it will never appear on the ML).

Perl Info ``` Flags: category=core severity=low Site configuration information for perl 5.19.9: Configured by Owner at Wed Feb 12 06:47:30 2014. Summary of my perl5 (revision 5 version 19 subversion 9) configuration: Derived from: 633f0fd2ca244ca83cc99b3af3a7d3ac2931850b Platform: osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -GF -W3 -Od -MD -Zi -DDEBUGGING -DWIN32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DPERL_HASH_FUNC_ONE_AT_A_TIME -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T', optimize='-Od -MD -Zi -DDEBUGGING', cppflags='-DWIN32' ccversion='13.10.6030', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -debug -libpath:"c:\perl519\lib\CORE" -machine:x86' libpth="C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\lib" libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl519.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -libpath:"c:\perl519\lib\CORE" -machine:x86' Locally applied patches: uncommitted-changes @INC for perl 5.19.9: C:/perl519/site/lib C:/perl519/lib . Environment for perl 5.19.9: HOME (unset) LANG (unset) LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=C:\perl519\bin;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\BIN;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin\prerelease;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem; PERL_BADLANG (unset) SHELL (unset) ```
p5pRT commented 10 years ago

From @bulk88

debug0.txt.gz

p5pRT commented 10 years ago

From @bulk88

debug1.txt.gz

p5pRT commented 10 years ago

From @bulk88

debug2.txt.gz

p5pRT commented 10 years ago

From @khwilliamson

On Thu Feb 27 09​:48​:12 2014\, bulk88 wrote​:

This is a bug report for perl from bulk88@​hotmail.com\, generated with the help of perlbug 1.40 running under perl 5.19.9.

----------------------------------------------------------------- [Please describe your issue here]

t/lib/locale.t is noisy and complaining but passes all tests on Win32. ----------------------------------------------------------------- ../lib/less.t ..................................................... ok ../lib/locale.t ................................................... 257/? # The following locales # # C # # tested okay. # # The following locales # # Afrikaans Albanian American Basque Bulgarian Catalan Catal├á # Croatian Czech Danish Dutch English Estonian Faroese Finnish # French F├╕royskt Galician German Greek G├íidhlig Hungarian # Icelandic Indonesian Italian Latvian Lithuanian Norwegian # Polish Portuguese Portugu├¬s Russian Serbian Slovak Slovenian # Spanish Swedish S├ími Turkish Welsh af ca da en es fi fr fy # ga hu it la mo no no\@​nynorsk po ro ru sl # # had problems. # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. ../lib/locale.t ................................................... ok ../lib/open.t ..................................................... ok ../lib/overload.t ................................................. ok -------------------------------------------------------------------

Attaching manual runs at set PERL_DEBUG_FULL_TEST 0\,1\,2. debug*.txt are named respectively. Files are compressed so this ticket isn't rejected from P5P ML attachment size limit IIRC is 250 KB (RT will take the ticket perfectly\, but it will never appear on the ML).

I am not sure what to do here. It looks like lib/locale.t was originally intended as a hybrid\, both a .t to find bugs\, and as a diagnostic tool for people to see what's wrong on their system. As such\, it always has output messages. I came along and added tests\, some of which all but one locale on Windows fail\, as Windows has not paid attention to the POSIX standard\, whereas Perl code very well may assume that it is running on a system that does.

One possibility is to completely turn off the diagnostic capability by default and add documentation (in perllocale) as to how to turn it on.

-- Karl Williamson

p5pRT commented 10 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 10 years ago

From @bulk88

On Wed Mar 05 11​:28​:16 2014\, khw wrote​:

I am not sure what to do here. It looks like lib/locale.t was originally intended as a hybrid\, both a .t to find bugs\, and as a diagnostic tool for people to see what's wrong on their system. As such\, it always has output messages. I came along and added tests\, some of which all but one locale on Windows fail\, as Windows has not paid attention to the POSIX standard\, whereas Perl code very well may assume that it is running on a system that does.

Can you explain for the uninitiated (me) how Windows doesn't follow POSIX standard locale wise?

Maybe we want our own locale layer (does the term make sense?) instead of using Win32's/MS libc locale layer.

One possibility is to completely turn off the diagnostic capability by default and add documentation (in perllocale) as to how to turn it on.

My opinion would be to add note that explains how the system is different from POSIX but this is not a "failure".


# 30% of locales pass the following test\, so it is likely that the failures # are errors in the locale definitions. The test is marked TODO\, as the # problem is not likely to be Perl's # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. # Then look at that output for lines that match 'failed 275' not ok 275 Verify that [​:digit​:] is a subset of [​:xdigit​:] # TODO


# Locale = American # is utf8 locale? = 0 # radix = . # :upper​: = A-Z 8A 8C 8E 9F C0-D6 D8-DE # :lower​: = a-z 83 9A 9C 9E AA B5 BA DF-F6 F8-FF # :cased​: = A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8-FF # :alpha​: = A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8-FF # :alnum​: = 0-9 A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B2-B3 B5 B9-BA C0-D6 D8-F6 F8-FF # w = 0-9 A-Z 5F a-z 83 8A 8C 8E 9A 9C 9E-9F AA B2-B3 B5 B9-BA C0-D6 D8-F6 F8-FF # :graph​: = 21-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7E 82-87 89-8C 8E 91-97 9A-9C 9E-9F A1-FF # :print​: = 09 20-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7E 82-87 89-8C 8E 91-97 9A-9C 9E-FF # d = 0-9 B2-B3 B9 # :xdigit​: = 0-9 A-F a-f # :blank​: = 09 20 # s = 09-0D 20 A0 # :punct​: = 21-2F 3A-40 5B-60 7B-7E 82 84-87 89 8B 91-97 9B A1-BF D7 F7 # :cntrl​: = 00-1F 7F 81 8D 8F-90 9D # :ascii​: = 00-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7F # UPPER = A-Z 8A 8C 8E 9F C0-D6 D8-DE # lower = a-z 9A 9C 9E E0-F6 F8-FF # BoThCaSe = 83 AA B5 BA DF # Unassigned = 80 88 98-99 # Added_alpha = 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8-FF # failed 273 (Verify that [​:digit​:] matches either 10 or 20 code points) with locale 'American' # failed 275 (Verify that [​:digit​:] is a subset of [​:xdigit​:]) with locale 'American' (for B2-B3 B9) # failed 286 (Verify that isn't both [​:cntrl​:] and [​:print​:]) with locale 'American' (for 09) # failed 288 (Verify that isn't both [​:alnum​:] and [​:punct​:]) with locale 'American' (for AA B2-B3 B5 B9-BA) # 293..293​: \$a = 1.23\, \$b = 1.23\, Locale = American # 294..297​: \$c = 1.23\, \$d = 1.23\, Locale = American # 298..300​: \$e = 1.23\, no locale # 301..310​: \$f = 1.23\, \$g = 2.34\, back to locale = American #


I dont see :digit​:\, I guess d==digit. And what is B2-B3 B9?

-- bulk88 ~ bulk88 at hotmail.com

p5pRT commented 10 years ago

From @khwilliamson

On 03/05/2014 04​:41 PM\, bulk88 via RT wrote​:

On Wed Mar 05 11​:28​:16 2014\, khw wrote​:

I am not sure what to do here. It looks like lib/locale.t was originally intended as a hybrid\, both a .t to find bugs\, and as a diagnostic tool for people to see what's wrong on their system. As such\, it always has output messages. I came along and added tests\, some of which all but one locale on Windows fail\, as Windows has not paid attention to the POSIX standard\, whereas Perl code very well may assume that it is running on a system that does.

Can you explain for the uninitiated (me) how Windows doesn't follow POSIX standard locale wise?

All the failures are listed\, like the one you have copied below.

Maybe we want our own locale layer (does the term make sense?) instead of using Win32's/MS libc locale layer.

That would be hard\, and hard to maintain

One possibility is to completely turn off the diagnostic capability by default and add documentation (in perllocale) as to how to turn it on.

My opinion would be to add note that explains how the system is different from POSIX but this is not a "failure".

----------------------------------------------- # 30% of locales pass the following test\, so it is likely that the failures # are errors in the locale definitions. The test is marked TODO\, as the # problem is not likely to be Perl's # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. # Then look at that output for lines that match 'failed 275' not ok 275 Verify that [​:digit​:] is a subset of [​:xdigit​:] # TODO ----------------------------------------------- # Locale = American # is utf8 locale? = 0 # radix = . # :upper​: = A-Z 8A 8C 8E 9F C0-D6 D8-DE # :lower​: = a-z 83 9A 9C 9E AA B5 BA DF-F6 F8-FF # :cased​: = A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8-FF # :alpha​: = A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8-FF # :alnum​: = 0-9 A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B2-B3 B5 B9-BA C0-D6 D8-F6 F8-FF # w = 0-9 A-Z 5F a-z 83 8A 8C 8E 9A 9C 9E-9F AA B2-B3 B5 B9-BA C0-D6 D8-F6 F8-FF # :graph​: = 21-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7E 82-87 89-8C 8E 91-97 9A-9C 9E-9F A1-FF # :print​: = 09 20-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7E 82-87 89-8C 8E 91-97 9A-9C 9E-FF # d = 0-9 B2-B3 B9 # :xdigit​: = 0-9 A-F a-f # :blank​: = 09 20 # s = 09-0D 20 A0 # :punct​: = 21-2F 3A-40 5B-60 7B-7E 82 84-87 89 8B 91-97 9B A1-BF D7 F7 # :cntrl​: = 00-1F 7F 81 8D 8F-90 9D # :ascii​: = 00-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7F # UPPER = A-Z 8A 8C 8E 9F C0-D6 D8-DE # lower = a-z 9A 9C 9E E0-F6 F8-FF # BoThCaSe = 83 AA B5 BA DF # Unassigned = 80 88 98-99 # Added_alpha = 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8-FF # failed 273 (Verify that [​:digit​:] matches either 10 or 20 code points) with locale 'American' # failed 275 (Verify that [​:digit​:] is a subset of [​:xdigit​:]) with locale 'American' (for B2-B3 B9) # failed 286 (Verify that isn't both [​:cntrl​:] and [​:print​:]) with locale 'American' (for 09) # failed 288 (Verify that isn't both [​:alnum​:] and [​:punct​:]) with locale 'American' (for AA B2-B3 B5 B9-BA) # 293..293​: \$a = 1.23\, \$b = 1.23\, Locale = American # 294..297​: \$c = 1.23\, \$d = 1.23\, Locale = American # 298..300​: \$e = 1.23\, no locale # 301..310​: \$f = 1.23\, \$g = 2.34\, back to locale = American # ---------------------------------------------------

I dont see :digit​:\, I guess d==digit. And what is B2-B3 B9?

I think a legend would be good to add to this output.

B2 is the code point at 0xB2\, and these three code points are superscripts 1\,2\, and 3. MS has chosen to call superscripts "digits"\, which is contrary to the POSIX standard\, which says that digits are code points in blocks of exactly 10 consecutive code points\, meaning 0-9 respectively. A POSIX program assumes that anything matching \d is suitable for base 10 arithmetic\, and can be combined with any other \d code point in its block to form a base 10 number. Superscripts are not necessarily thought of that way; further a number's value can be determined by its offset from the 0 point in its block. These superscripts don't obey that\, besides not being a complete set\, besides not being contiguous\, and not even in order. Besides\, these superscripts are also considered punctuatrion\, see error 288. In other words\, MS has totally screwed this up.

The failure that every MS locale has (except C) is to say that a tab is both a control and printable. Those are mutually exclusive sets in POSIX and Unicode.

p5pRT commented 10 years ago

From @khwilliamson

On Wed Mar 05 17​:52​:12 2014\, public@​khwilliamson.com wrote​:

On 03/05/2014 04​:41 PM\, bulk88 via RT wrote​:

On Wed Mar 05 11​:28​:16 2014\, khw wrote​:

I am not sure what to do here. It looks like lib/locale.t was originally intended as a hybrid\, both a .t to find bugs\, and as a diagnostic tool for people to see what's wrong on their system. As such\, it always has output messages. I came along and added tests\, some of which all but one locale on Windows fail\, as Windows has not paid attention to the POSIX standard\, whereas Perl code very well may assume that it is running on a system that does.

Can you explain for the uninitiated (me) how Windows doesn't follow POSIX standard locale wise?

All the failures are listed\, like the one you have copied below.

Maybe we want our own locale layer (does the term make sense?) instead of using Win32's/MS libc locale layer.

That would be hard\, and hard to maintain

Actually\, I thought about this some more and came up with what might be a solution. The tests that Windows is failing are typically from it having characters be in mutually-exclusive classes. Examples are given below in the quoted text from the previous message about this. My idea is to change the macros in handy.h\, like isDIGIT_LC() for Windows only so that they don't say something is a digit which is also punctuation\, and that something is also punctuation that is also a control\, etc. I did this and Steve Hay\, who has a bunch of Windows locales on his machinge\, graciously tested this\, and after an iteration\, got things so no failures were noted. It works by assuming that the Windows :cntrl​: definition is correct. Eyeballing seems to show that that is the case. Then it assumes that Windows won't make something punctuation that really isn't (given that it isn't also a control)\, and it makes sure that something isn't an :alpha​: that isn't also an :alnum​:\, etc. This seems to me to be a good solution\, requiring little maintenance going forward and not having to know the details about the Windows locale definitions.

But it does change current behavior\, so is probably not a candidate for 5.20.

One possibility is to completely turn off the diagnostic capability by default and add documentation (in perllocale) as to how to turn it on.

My opinion would be to add note that explains how the system is different from POSIX but this is not a "failure".

----------------------------------------------- # 30% of locales pass the following test\, so it is likely that the failures # are errors in the locale definitions. The test is marked TODO\, as the # problem is not likely to be Perl's # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. # Then look at that output for lines that match 'failed 275' not ok 275 Verify that [​:digit​:] is a subset of [​:xdigit​:] # TODO ----------------------------------------------- # Locale = American # is utf8 locale? = 0 # radix = . # :upper​: = A-Z 8A 8C 8E 9F C0-D6 D8-DE # :lower​: = a-z 83 9A 9C 9E AA B5 BA DF-F6 F8-FF # :cased​: = A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8- FF # :alpha​: = A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8- FF # :alnum​: = 0-9 A-Z a-z 83 8A 8C 8E 9A 9C 9E-9F AA B2-B3 B5 B9-BA C0-D6 D8-F6 F8-FF # w = 0-9 A-Z 5F a-z 83 8A 8C 8E 9A 9C 9E-9F AA B2-B3 B5 B9-BA C0-D6 D8-F6 F8-FF # :graph​: = 21-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7E 82-87 89-8C 8E 91-97 9A-9C 9E-9F A1-FF # :print​: = 09 20-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7E 82-87 89-8C 8E 91-97 9A-9C 9E-FF # d = 0-9 B2-B3 B9 # :xdigit​: = 0-9 A-F a-f # :blank​: = 09 20 # s = 09-0D 20 A0 # :punct​: = 21-2F 3A-40 5B-60 7B-7E 82 84-87 89 8B 91-97 9B A1-BF D7 F7 # :cntrl​: = 00-1F 7F 81 8D 8F-90 9D # :ascii​: = 00-2F 0-9 3A-40 A-Z 5B-60 a-z 7B-7F # UPPER = A-Z 8A 8C 8E 9F C0-D6 D8-DE # lower = a-z 9A 9C 9E E0-F6 F8-FF # BoThCaSe = 83 AA B5 BA DF # Unassigned = 80 88 98-99 # Added_alpha = 83 8A 8C 8E 9A 9C 9E-9F AA B5 BA C0-D6 D8-F6 F8-FF # failed 273 (Verify that [​:digit​:] matches either 10 or 20 code points) with locale 'American' # failed 275 (Verify that [​:digit​:] is a subset of [​:xdigit​:]) with locale 'American' (for B2-B3 B9) # failed 286 (Verify that isn't both [​:cntrl​:] and [​:print​:]) with locale 'American' (for 09) # failed 288 (Verify that isn't both [​:alnum​:] and [​:punct​:]) with locale 'American' (for AA B2-B3 B5 B9-BA) # 293..293​: \$a = 1.23\, \$b = 1.23\, Locale = American # 294..297​: \$c = 1.23\, \$d = 1.23\, Locale = American # 298..300​: \$e = 1.23\, no locale # 301..310​: \$f = 1.23\, \$g = 2.34\, back to locale = American # ---------------------------------------------------

I dont see :digit​:\, I guess d==digit. And what is B2-B3 B9?

I think a legend would be good to add to this output.

B2 is the code point at 0xB2\, and these three code points are superscripts 1\,2\, and 3. MS has chosen to call superscripts "digits"\, which is contrary to the POSIX standard\, which says that digits are code points in blocks of exactly 10 consecutive code points\, meaning 0-9 respectively. A POSIX program assumes that anything matching \d is suitable for base 10 arithmetic\, and can be combined with any other \d code point in its block to form a base 10 number. Superscripts are not necessarily thought of that way; further a number's value can be determined by its offset from the 0 point in its block. These superscripts don't obey that\, besides not being a complete set\, besides not being contiguous\, and not even in order. Besides\, these superscripts are also considered punctuatrion\, see error 288. In other words\, MS has totally screwed this up.

The failure that every MS locale has (except C) is to say that a tab is both a control and printable. Those are mutually exclusive sets in POSIX and Unicode.

-- Karl Williamson

p5pRT commented 10 years ago

From @bulk88

Testing smoke me khw locale.


SHA-1​: ffa57b808da75b8063f361afa8c92df1eb4c94f4

* lib/locale.t​: Update $variable name


C​:\p519\srckhw\t>perl -I..\lib harness ../lib/locale.t ../lib/locale.t .. ok All tests successful. Files=1\, Tests=546\, 4 wallclock secs ( 0.12 usr + 0.00 sys = 0.12 CPU) Result​: PASS

C​:\p519\srckhw\t>


with -v to harness


../lib/locale.t .. ok 1 verify that isn't tainted​: not tainted outside 'use locale' ok 2 verify that isn't tainted​: $a ok 3 verify that is tainted ok 4 verify that is tainted ok 5 verify that is tainted ok 6 verify that is tainted ok 7 verify that is tainted ok 8 verify that is tainted ok 9 verify that is tainted ok 10 verify that is tainted ok 11 verify that is tainted ok 12 verify that is tainted ok 13 verify that isn't tainted ok 14 verify that isn't tainted ok 15 verify that isn't tainted ok 16 verify that isn't tainted ok 17 verify that isn't tainted ok 18 verify that is tainted​: $_ ok 19 verify that is tainted​: /(\w)/ $& ok 20 verify that is tainted​: $` ok 21 verify that is tainted​: $' ok 22 verify that is tainted​: $+ ok 23 verify that is tainted​: $1 ok 24 verify that isn't tainted​: $2 ok 25 verify that isn't tainted​: /(.)/ $& ok 26 verify that isn't tainted​: $` ok 27 verify that isn't tainted​: $' ok 28 verify that isn't tainted​: $+ ok 29 verify that isn't tainted​: $1 ok 30 verify that isn't tainted​: $2 ok 31 verify that is tainted​: /(\W)/ $& ok 32 verify that is tainted​: $` ok 33 verify that is tainted​: $' ok 34 verify that is tainted​: $+ ok 35 verify that is tainted​: $1 ok 36 verify that isn't tainted​: $2 ok 37 verify that isn't tainted​: /(.)/ $& ok 38 verify that isn't tainted​: $` ok 39 verify that isn't tainted​: $' ok 40 verify that isn't tainted​: $+ ok 41 verify that isn't tainted​: $1 ok 42 verify that isn't tainted​: $2 ok 43 verify that is tainted​: /(\s)/ $& ok 44 verify that is tainted​: $` ok 45 verify that is tainted​: $' ok 46 verify that is tainted​: $+ ok 47 verify that is tainted​: $1 ok 48 verify that isn't tainted​: $2 ok 49 verify that isn't tainted​: /(.)/ $& ok 50 verify that is tainted​: /(\S)/ $& ok 51 verify that is tainted​: $` ok 52 verify that is tainted​: $' ok 53 verify that is tainted​: $+ ok 54 verify that is tainted​: $1 ok 55 verify that isn't tainted​: $2 ok 56 verify that isn't tainted​: /(.)/ $& ok 57 verify that is tainted​: /(a)|(\w)/ $& ok 58 verify that is tainted​: $` ok 59 verify that is tainted​: $' ok 60 verify that is tainted​: $+ ok 61 verify that is tainted​: $1 ok 62 $1 is 'a' ok 63 $2 is undefined ok 64 verify that isn't tainted​: $2 ok 65 verify that isn't tainted​: $3 ok 66 verify that isn't tainted​: /(.)/ $& ok 67 verify that isn't tainted​: /(\N{CYRILLIC CAPITAL LETTER A})/i $& ok 68 verify that isn't tainted​: $` ok 69 verify that isn't tainted​: $' ok 70 verify that isn't tainted​: $+ ok 71 verify that isn't tainted​: $1 ok 72 $1 is 'small cyrillic a' ok 73 verify that isn't tainted​: $2 ok 74 verify that isn't tainted​: /./ $& ok 75 verify that isn't tainted​: /(.)/ $& ok 76 verify that is tainted​: /(.)\b(.)/ $& ok 77 verify that is tainted​: $` ok 78 verify that is tainted​: $' ok 79 verify that is tainted​: $+ ok 80 verify that is tainted​: $1 ok 81 verify that is tainted​: $2 ok 82 verify that isn't tainted​: $3 ok 83 verify that isn't tainted​: /./ $& ok 84 verify that is tainted​: /(.)\B(.)/ $& ok 85 verify that is tainted​: $` ok 86 verify that is tainted​: $' ok 87 verify that is tainted​: $+ ok 88 verify that is tainted​: $1 ok 89 verify that is tainted​: $2 ok 90 verify that isn't tainted​: $3 ok 91 verify that isn't tainted​: /./ $& ok 92 verify that isn't tainted​: /(.).(\1)/ $& ok 93 verify that isn't tainted​: $` ok 94 verify that isn't tainted​: $' ok 95 verify that isn't tainted​: $+ ok 96 verify that isn't tainted​: $1 ok 97 verify that isn't tainted​: $2 ok 98 verify that isn't tainted​: $3 ok 99 verify that isn't tainted​: /./ $& ok 100 verify that isn't tainted​: $_ ok 101 verify that isn't tainted​: /(b)/ $& ok 102 verify that isn't tainted​: $` ok 103 verify that isn't tainted​: $' ok 104 verify that isn't tainted​: $+ ok 105 verify that isn't tainted​: $1 ok 106 verify that isn't tainted​: $2 ok 107 verify that isn't tainted​: $_ ok 108 verify that is tainted​: $_ ok 109 verify that isn't tainted​: $& ok 110 verify that isn't tainted​: $` ok 111 verify that isn't tainted​: $' ok 112 verify that isn't tainted​: $+ ok 113 verify that isn't tainted​: $1 ok 114 verify that isn't tainted​: $2 ok 115 verify that isn't tainted​: $_ ok 116 verify that isn't tainted​: $& ok 117 verify that isn't tainted​: $` ok 118 verify that isn't tainted​: $' ok 119 verify that isn't tainted​: $+ ok 120 verify that isn't tainted​: $1 ok 121 verify that isn't tainted​: $2 ok 122 verify that is tainted​: $b ok 123 verify that isn't tainted​: $a ok 124 verify that is tainted​: $_ ok 125 verify that is tainted​: $& ok 126 verify that is tainted​: $` ok 127 verify that is tainted​: $' ok 128 verify that is tainted​: $+ ok 129 verify that is tainted​: $1 ok 130 verify that isn't tainted​: $2 ok 131 verify that is tainted​: $_ ok 132 verify that is tainted​: $& ok 133 verify that is tainted​: $` ok 134 verify that is tainted​: $' ok 135 verify that is tainted​: $+ ok 136 verify that is tainted​: $1 ok 137 verify that isn't tainted​: $2 ok 138 verify that is tainted​: $_ ok 139 verify that is tainted​: $& ok 140 verify that is tainted​: $` ok 141 verify that is tainted​: $' ok 142 verify that is tainted​: $+ ok 143 verify that is tainted​: $1 ok 144 verify that isn't tainted​: $2 ok 145 verify that is tainted​: $_ ok 146 verify that is tainted​: $& ok 147 verify that is tainted​: $` ok 148 verify that is tainted​: $' ok 149 verify that is tainted​: $+ ok 150 verify that is tainted​: $1 ok 151 verify that isn't tainted​: $2 ok 152 verify that isn't tainted​: $a ok 153 verify that isn't tainted​: "a" =~ /([a-z])/ ok 154 verify that isn't tainted​: "foo.bar_baz" =~ /^(.*)[._](.*?)$/ ok 155 verify that isn't tainted ok 156 verify that isn't tainted ok 157 verify that isn't tainted ok 158 verify that isn't tainted ok 159 verify that isn't tainted ok 160 verify that isn't tainted ok 161 verify that isn't tainted ok 162 verify that isn't tainted ok 163 verify that isn't tainted ok 164 verify that isn't tainted ok 165 verify that isn't tainted ok 166 verify that isn't tainted ok 167 verify that isn't tainted ok 168 verify that isn't tainted ok 169 verify that isn't tainted ok 170 verify that isn't tainted ok 171 verify that isn't tainted ok 172 verify that isn't tainted ok 173 verify that isn't tainted ok 174 verify that isn't tainted ok 175 verify that isn't tainted ok 176 verify that isn't tainted ok 177 verify that isn't tainted ok 178 verify that isn't tainted ok 179 verify that isn't tainted ok 180 verify that isn't tainted ok 181 verify that isn't tainted ok 182 verify that isn't tainted ok 183 verify that isn't tainted ok 184 verify that isn't tainted ok 185 verify that isn't tainted ok 186 verify that isn't tainted ok 187 verify that isn't tainted ok 188 verify that isn't tainted ok 189 verify that isn't tainted ok 190 verify that isn't tainted ok 191 verify that isn't tainted ok 192 verify that isn't tainted ok 193 verify that isn't tainted ok 194 verify that isn't tainted ok 195 verify that isn't tainted ok 196 verify that isn't tainted ok 197 verify that isn't tainted ok 198 verify that isn't tainted ok 199 verify that isn't tainted ok 200 verify that isn't tainted ok 201 verify that isn't tainted ok 202 verify that isn't tainted ok 203 verify that isn't tainted ok 204 verify that isn't tainted ok 205 verify that isn't tainted ok 206 verify that isn't tainted ok 207 verify that isn't tainted ok 208 verify that isn't tainted ok 209 verify that isn't tainted ok 210 verify that isn't tainted ok 211 verify that isn't tainted ok 212 verify that isn't tainted ok 213 verify that isn't tainted ok 214 verify that isn't tainted ok 215 verify that isn't tainted ok 216 verify that isn't tainted ok 217 verify that isn't tainted ok 218 verify that isn't tainted ok 219 verify that isn't tainted ok 220 verify that isn't tainted ok 221 verify that isn't tainted ok 222 verify that isn't tainted ok 223 verify that isn't tainted ok 224 verify that isn't tainted ok 225 verify that isn't tainted ok 226 verify that isn't tainted ok 227 verify that isn't tainted ok 228 verify that isn't tainted ok 229 verify that isn't tainted ok 230 verify that isn't tainted ok 231 verify that isn't tainted ok 232 verify that isn't tainted ok 233 verify that isn't tainted ok 234 verify that isn't tainted ok 235 verify that isn't tainted ok 236 verify that isn't tainted ok 237 verify that isn't tainted ok 238 verify that isn't tainted ok 239 verify that isn't tainted ok 240 verify that isn't tainted ok 241 verify that isn't tainted ok 242 verify that isn't tainted ok 243 verify that isn't tainted ok 244 verify that isn't tainted ok 245 verify that isn't tainted ok 246 verify that isn't tainted ok 247 verify that isn't tainted ok 248 verify that isn't tainted ok 249 verify that isn't tainted ok 250 verify that isn't tainted ok 251 verify that isn't tainted ok 252 verify that isn't tainted ok 253 verify that isn't tainted ok 254 verify that isn't tainted ok 255 verify that isn't tainted​: "a" =~ /([a-z])/ ok 256 verify that isn't tainted​: "foo.bar_baz" =~ /^(.*)[._](.*?)$/ ok 257 Verify that /[[​:upper​:]]/ matches all alpha X for which uc(X) == X and lc(X) != X ok 258 Verify that /[[​:lower​:]]/i matches all alpha X for which uc(X) == X and lc(X) != X ok 259 Verify that /[[​:lower​:]]/ matches all alpha X for which lc(X) == X and uc(X) != X ok 260 Verify that /[[​:upper​:]]/i matches all alpha X for which lc(X) == X and uc(X) != X ok 261 Verify that \w and [​:word​:] are identical ok 262 Verify that \d and [​:digit​:] are identical ok 263 Verify that \s and [​:space​:] are identical ok 264 Verify that [​:posix​:] and [​:^posix​:] are mutually exclusive ok 265 Verify that [​:lower​:] contains at least a-z ok 266 Verify that [​:lower​:] is a subset of [​:alpha​:] ok 267 Verify that [​:upper​:] contains at least A-Z ok 268 Verify that [​:upper​:] is a subset of [​:alpha​:] ok 269 Verify that /[[​:lower​:]]/i is a subset of [​:alpha​:] ok 270 Verify that [​:alpha​:] is a subset of [​:alnum​:] ok 271 Verify that [​:digit​:] contains at least 0-9 ok 272 Verify that [​:digit​:] is a subset of [​:alnum​:] # 27.8% of locales pass the following test\, so it is likely that the failures # are errors in the locale definitions. The test is marked TODO\, as the # problem is not likely to be Perl's # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. # Then look at that output for lines that match 'failed 273' not ok 273 Verify that [​:digit​:] matches either 10 or 20 code points # TODO ok 274 Verify that if there is a second set of digits in [​:digit​:]\, they are consecutive ok 275 Verify that [​:xdigit​:] contains one or two blocks of 10 consecutive [​:digit​:] chars ok 276 Verify that [​:xdigit​:] contains at least A-F\, a-f ok 277 Verify that any additional members of [​:xdigit​:]\, are in groups of 6 consecutive code points ok 278 Verify that [​:xdigit​:] is a subset of [​:graph​:] ok 279 Verify that [​:punct​:] is a subset of [​:graph​:] ok 280 Verify that the space character is not in [​:graph​:] ok 281 Verify that [​:space​:] contains at least [\f\n\r\t\cK ] ok 282 Verify that [​:blank​:] contains at least [\t ] ok 283 Verify that [​:blank​:] is a subset of [​:space​:] ok 284 Verify that [​:graph​:] is a subset of [​:print​:] ok 285 Verify that the space character is in [​:print​:] # 2.8% of locales pass the following test\, so it is likely that the failures # are errors in the locale definitions. The test is marked TODO\, as the # problem is not likely to be Perl's # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. # Then look at that output for lines that match 'failed 286' not ok 286 Verify that isn't both [​:cntrl​:] and [​:print​:] # TODO ok 287 Verify that isn't both [​:alpha​:] and [​:digit​:] # 2.8% of locales pass the following test\, so it is likely that the failures # are errors in the locale definitions. The test is marked TODO\, as the # problem is not likely to be Perl's # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. # Then look at that output for lines that match 'failed 288' not ok 288 Verify that isn't both [​:alnum​:] and [​:punct​:] # TODO ok 289 Verify that isn't both [​:xdigit​:] and [​:punct​:] ok 290 Verify that isn't both [​:graph​:] and [​:space​:] ok 291 Verify that cmp works with a read-only scalar; no- vs locale ok 292 Verify that "le"\, "ne"\, etc work ok 293 Verify that an intervening printf doesn't change assignment results ok 294 Verify that an intervening sprintf doesn't change assignment results ok 295 Verify that a different locale radix works when doing "==" with a constant ok 296 Verify that a different locale radix works when doing "==" with a scalar ok 297 Verify that a different locale radix works when doing "==" with a scalar and an intervening sprintf ok 298 Verify that can assign stringified under inner no-locale block ok 299 Verify that "==" with a scalar still works in inner no locale ok 300 Verify that "==" with a scalar and an intervening sprintf still works in inner no locale ok 301 Verify that after a no-locale block\, a different locale radix still works when doing "==" with a constant ok 302 Verify that after a no-locale block\, a different locale radix still works when doing "==" with a scalar ok 303 Verify that after a no-locale block\, a different locale radix still works when doing "==" with a scalar and an intervening sprintf ok 304 Verify that after a no-locale block\, a different locale radix can participate in an addition and function call as numeric ok 305 Verify that don't get warning under "==" even if radix is not a dot ok 306 Verify that non-ASCII UTF-8 error messages are in UTF-8 ok 307 Verify that a number with a UTF-8 radix has a UTF-8 stringification ok 308 Verify that a sprintf of a number with a UTF-8 radix yields UTF-8 ok 309 Verify that a sprintf of a number outside locale scope uses a dot radix ok 310 Verify that a sprintf of a number back within locale scope uses locale radix ok 311 Verify "lc(foo) cmp lc(bar)" is the same as using intermediaries for the cmp ok 312 Verify case insensitive matching works ok 313 Verify atof with locale radix and negative exponent ok 314 variable set to setlocale(BAD LOCALE) is considered uninitialized ok 315 uc("") in C locale (use locale; not encoded in utf8) should be ""\, got "" ok 316 verify that is tainted ok 317 uc("") in C locale (use locale; encoded in utf8) should be ""\, got "" ok 318 verify that is tainted ok 319 uc("a") in C locale (use locale; not encoded in utf8) should be "A"\, got "A" ok 320 verify that is tainted ok 321 uc("a") in C locale (use locale; encoded in utf8) should be "A"\, got "A" ok 322 verify that is tainted ok 323 uc("à") in C locale (use locale; not encoded in utf8) should be "à"\, got "à" ok 324 verify that is tainted ok 325 uc("à") in C locale (use locale; encoded in utf8) should be "à"\, got "à" ok 326 verify that is tainted ok 327 uc("ÿ") in C locale (use locale; not encoded in utf8) should be "ÿ"\, got "ÿ" ok 328 verify that is tainted ok 329 uc("ÿ") in C locale (use locale; encoded in utf8) should be "ÿ"\, got "ÿ" ok 330 verify that is tainted ok 331 uc("ff") in C locale (use locale; not encoded in utf8) should be "ff"\, got "ff" ok 332 verify that is tainted ok 333 uc("ff") in C locale (use locale; encoded in utf8) should be "ff"\, got "ff" ok 334 verify that is tainted ok 335 uc("ʼn") in C locale (use locale; not encoded in utf8) should be "ʼn"\, got "ʼn" ok 336 verify that is tainted ok 337 uc("ʼn") in C locale (use locale; encoded in utf8) should be "ʼn"\, got "ʼn" ok 338 verify that is tainted ok 339 uc("ā") in C locale (use locale; not encoded in utf8) should be "Ä€"\, got "Ä€" ok 340 verify that is tainted ok 341 uc("ā") in C locale (use locale; encoded in utf8) should be "Ä€"\, got "Ä€" ok 342 verify that is tainted ok 343 uc("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be ""\, got "" ok 344 verify that isn't tainted ok 345 uc("") in C locale (use locale '​:not_characters'; encoded in utf8) should be ""\, got "" ok 346 verify that isn't tainted ok 347 uc("a") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "A"\, got "A" ok 348 verify that isn't tainted ok 349 uc("a") in C locale (use locale '​:not_characters'; encoded in utf8) should be "A"\, got "A" ok 350 verify that isn't tainted ok 351 uc("à") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "À"\, got "À" ok 352 verify that isn't tainted ok 353 uc("à") in C locale (use locale '​:not_characters'; encoded in utf8) should be "À"\, got "À" ok 354 verify that isn't tainted ok 355 uc("ÿ") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ÿ"\, got "Ÿ" ok 356 verify that isn't tainted ok 357 uc("ÿ") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ÿ"\, got "Ÿ" ok 358 verify that isn't tainted ok 359 uc("ff") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "FF"\, got "FF" ok 360 verify that isn't tainted ok 361 uc("ff") in C locale (use locale '​:not_characters'; encoded in utf8) should be "FF"\, got "FF" ok 362 verify that isn't tainted ok 363 uc("ʼn") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ʼN"\, got "ʼN" ok 364 verify that isn't tainted ok 365 uc("ʼn") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ʼN"\, got "ʼN" ok 366 verify that isn't tainted ok 367 uc("ā") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ä€"\, got "Ä€" ok 368 verify that isn't tainted ok 369 uc("ā") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ä€"\, got "Ä€" ok 370 verify that isn't tainted ok 371 ucfirst("") in C locale (use locale; not encoded in utf8) should be ""\, got "" ok 372 verify that is tainted ok 373 ucfirst("") in C locale (use locale; encoded in utf8) should be ""\, got "" ok 374 verify that is tainted ok 375 ucfirst("a") in C locale (use locale; not encoded in utf8) should be "A"\, got "A" ok 376 verify that is tainted ok 377 ucfirst("a") in C locale (use locale; encoded in utf8) should be "A"\, got "A" ok 378 verify that is tainted ok 379 ucfirst("à") in C locale (use locale; not encoded in utf8) should be "à"\, got "à" ok 380 verify that is tainted ok 381 ucfirst("à") in C locale (use locale; encoded in utf8) should be "à"\, got "à" ok 382 verify that is tainted ok 383 ucfirst("ÿ") in C locale (use locale; not encoded in utf8) should be "ÿ"\, got "ÿ" ok 384 verify that is tainted ok 385 ucfirst("ÿ") in C locale (use locale; encoded in utf8) should be "ÿ"\, got "ÿ" ok 386 verify that is tainted ok 387 ucfirst("ff") in C locale (use locale; not encoded in utf8) should be "ff"\, got "ff" ok 388 verify that is tainted ok 389 ucfirst("ff") in C locale (use locale; encoded in utf8) should be "ff"\, got "ff" ok 390 verify that is tainted ok 391 ucfirst("ʼn") in C locale (use locale; not encoded in utf8) should be "ʼn"\, got "ʼn" ok 392 verify that is tainted ok 393 ucfirst("ʼn") in C locale (use locale; encoded in utf8) should be "ʼn"\, got "ʼn" ok 394 verify that is tainted ok 395 ucfirst("ā") in C locale (use locale; not encoded in utf8) should be "Ä€"\, got "Ä€" ok 396 verify that is tainted ok 397 ucfirst("ā") in C locale (use locale; encoded in utf8) should be "Ä€"\, got "Ä€" ok 398 verify that is tainted ok 399 ucfirst("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be ""\, got "" ok 400 verify that isn't tainted ok 401 ucfirst("") in C locale (use locale '​:not_characters'; encoded in utf8) should be ""\, got "" ok 402 verify that isn't tainted ok 403 ucfirst("a") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "A"\, got "A" ok 404 verify that isn't tainted ok 405 ucfirst("a") in C locale (use locale '​:not_characters'; encoded in utf8) should be "A"\, got "A" ok 406 verify that isn't tainted ok 407 ucfirst("à") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "À"\, got "À" ok 408 verify that isn't tainted ok 409 ucfirst("à") in C locale (use locale '​:not_characters'; encoded in utf8) should be "À"\, got "À" ok 410 verify that isn't tainted ok 411 ucfirst("ÿ") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ÿ"\, got "Ÿ" ok 412 verify that isn't tainted ok 413 ucfirst("ÿ") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ÿ"\, got "Ÿ" ok 414 verify that isn't tainted ok 415 ucfirst("ff") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ff"\, got "Ff" ok 416 verify that isn't tainted ok 417 ucfirst("ff") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ff"\, got "Ff" ok 418 verify that isn't tainted ok 419 ucfirst("ʼn") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ʼN"\, got "ʼN" ok 420 verify that isn't tainted ok 421 ucfirst("ʼn") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ʼN"\, got "ʼN" ok 422 verify that isn't tainted ok 423 ucfirst("ā") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Ä€"\, got "Ä€" ok 424 verify that isn't tainted ok 425 ucfirst("ā") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Ä€"\, got "Ä€" ok 426 verify that isn't tainted ok 427 lc("") in C locale (use locale; not encoded in utf8) should be ""\, got "" ok 428 verify that is tainted ok 429 lc("") in C locale (use locale; encoded in utf8) should be ""\, got "" ok 430 verify that is tainted ok 431 lc("A") in C locale (use locale; not encoded in utf8) should be "a"\, got "a" ok 432 verify that is tainted ok 433 lc("A") in C locale (use locale; encoded in utf8) should be "a"\, got "a" ok 434 verify that is tainted ok 435 lc("À") in C locale (use locale; not encoded in utf8) should be "À"\, got "À" ok 436 verify that is tainted ok 437 lc("À") in C locale (use locale; encoded in utf8) should be "À"\, got "À" ok 438 verify that is tainted ok 439 lc("Å¿") in C locale (use locale; not encoded in utf8) should be "Å¿"\, got "Å¿" ok 440 verify that is tainted ok 441 lc("Å¿") in C locale (use locale; encoded in utf8) should be "Å¿"\, got "Å¿" ok 442 verify that is tainted ok 443 lc("Ä€") in C locale (use locale; not encoded in utf8) should be "ā"\, got "ā" ok 444 verify that is tainted ok 445 lc("Ä€") in C locale (use locale; encoded in utf8) should be "ā"\, got "ā" ok 446 verify that is tainted ok 447 lc("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be ""\, got "" ok 448 verify that isn't tainted ok 449 lc("") in C locale (use locale '​:not_characters'; encoded in utf8) should be ""\, got "" ok 450 verify that isn't tainted ok 451 lc("A") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "a"\, got "a" ok 452 verify that isn't tainted ok 453 lc("A") in C locale (use locale '​:not_characters'; encoded in utf8) should be "a"\, got "a" ok 454 verify that isn't tainted ok 455 lc("À") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "à"\, got "à" ok 456 verify that isn't tainted ok 457 lc("À") in C locale (use locale '​:not_characters'; encoded in utf8) should be "à"\, got "à" ok 458 verify that isn't tainted ok 459 lc("Å¿") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Å¿"\, got "Å¿" ok 460 verify that isn't tainted ok 461 lc("Å¿") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Å¿"\, got "Å¿" ok 462 verify that isn't tainted ok 463 lc("Ä€") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ā"\, got "ā" ok 464 verify that isn't tainted ok 465 lc("Ä€") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ā"\, got "ā" ok 466 verify that isn't tainted ok 467 lcfirst("") in C locale (use locale; not encoded in utf8) should be ""\, got "" ok 468 verify that is tainted ok 469 lcfirst("") in C locale (use locale; encoded in utf8) should be ""\, got "" ok 470 verify that is tainted ok 471 lcfirst("A") in C locale (use locale; not encoded in utf8) should be "a"\, got "a" ok 472 verify that is tainted ok 473 lcfirst("A") in C locale (use locale; encoded in utf8) should be "a"\, got "a" ok 474 verify that is tainted ok 475 lcfirst("À") in C locale (use locale; not encoded in utf8) should be "À"\, got "À" ok 476 verify that is tainted ok 477 lcfirst("À") in C locale (use locale; encoded in utf8) should be "À"\, got "À" ok 478 verify that is tainted ok 479 lcfirst("Å¿") in C locale (use locale; not encoded in utf8) should be "Å¿"\, got "Å¿" ok 480 verify that is tainted ok 481 lcfirst("Å¿") in C locale (use locale; encoded in utf8) should be "Å¿"\, got "Å¿" ok 482 verify that is tainted ok 483 lcfirst("Ä€") in C locale (use locale; not encoded in utf8) should be "ā"\, got "ā" ok 484 verify that is tainted ok 485 lcfirst("Ä€") in C locale (use locale; encoded in utf8) should be "ā"\, got "ā" ok 486 verify that is tainted ok 487 lcfirst("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be ""\, got "" ok 488 verify that isn't tainted ok 489 lcfirst("") in C locale (use locale '​:not_characters'; encoded in utf8) should be ""\, got "" ok 490 verify that isn't tainted ok 491 lcfirst("A") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "a"\, got "a" ok 492 verify that isn't tainted ok 493 lcfirst("A") in C locale (use locale '​:not_characters'; encoded in utf8) should be "a"\, got "a" ok 494 verify that isn't tainted ok 495 lcfirst("À") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "à"\, got "à" ok 496 verify that isn't tainted ok 497 lcfirst("À") in C locale (use locale '​:not_characters'; encoded in utf8) should be "à"\, got "à" ok 498 verify that isn't tainted ok 499 lcfirst("Å¿") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "Å¿"\, got "Å¿" ok 500 verify that isn't tainted ok 501 lcfirst("Å¿") in C locale (use locale '​:not_characters'; encoded in utf8) should be "Å¿"\, got "Å¿" ok 502 verify that isn't tainted ok 503 lcfirst("Ä€") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ā"\, got "ā" ok 504 verify that isn't tainted ok 505 lcfirst("Ä€") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ā"\, got "ā" ok 506 verify that isn't tainted ok 507 fc("") in C locale (use locale; not encoded in utf8) should be ""\, got "" ok 508 verify that is tainted ok 509 fc("") in C locale (use locale; encoded in utf8) should be ""\, got "" ok 510 verify that is tainted ok 511 fc("A") in C locale (use locale; not encoded in utf8) should be "a"\, got "a" ok 512 verify that is tainted ok 513 fc("A") in C locale (use locale; encoded in utf8) should be "a"\, got "a" ok 514 verify that is tainted ok 515 fc("À") in C locale (use locale; not encoded in utf8) should be "À"\, got "À" ok 516 verify that is tainted ok 517 fc("À") in C locale (use locale; encoded in utf8) should be "À"\, got "À" ok 518 verify that is tainted ok 519 fc("Å¿") in C locale (use locale; not encoded in utf8) should be "Å¿"\, got "Å¿" ok 520 verify that is tainted ok 521 fc("Å¿") in C locale (use locale; encoded in utf8) should be "Å¿"\, got "Å¿" ok 522 verify that is tainted ok 523 fc("Ä€") in C locale (use locale; not encoded in utf8) should be "ā"\, got "ā" ok 524 verify that is tainted ok 525 fc("Ä€") in C locale (use locale; encoded in utf8) should be "ā"\, got "ā" ok 526 verify that is tainted ok 527 fc("") in C locale (use locale '​:not_characters'; not encoded in utf8) should be ""\, got "" ok 528 verify that isn't tainted ok 529 fc("") in C locale (use locale '​:not_characters'; encoded in utf8) should be ""\, got "" ok 530 verify that isn't tainted ok 531 fc("A") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "a"\, got "a" ok 532 verify that isn't tainted ok 533 fc("A") in C locale (use locale '​:not_characters'; encoded in utf8) should be "a"\, got "a" ok 534 verify that isn't tainted ok 535 fc("À") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "à"\, got "à" ok 536 verify that isn't tainted ok 537 fc("À") in C locale (use locale '​:not_characters'; encoded in utf8) should be "à"\, got "à" ok 538 verify that isn't tainted ok 539 fc("Å¿") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "s"\, got "s" ok 540 verify that isn't tainted ok 541 fc("Å¿") in C locale (use locale '​:not_characters'; encoded in utf8) should be "s"\, got "s" ok 542 verify that isn't tainted ok 543 fc("Ä€") in C locale (use locale '​:not_characters'; not encoded in utf8) should be "ā"\, got "ā" ok 544 verify that isn't tainted ok 545 fc("Ä€") in C locale (use locale '​:not_characters'; encoded in utf8) should be "ā"\, got "ā" ok 546 verify that isn't tainted # # The locale definitions # # Afrikaans American Basque Catalan Danish Dutch English # Estonian Faroese Finnish French Galician German Greek # Icelandic Indonesian Italian Latvian Lithuanian Maltese # Norwegian Portuguese Spanish Swedish Turkish Welsh # # on your system may have errors because the locale test 273 # "Verify that [​:digit​:] matches either 10 or 20 code points" # failed in those locales. # # If your users are not using these locales you are safe for the moment\, # but please report this failure first to perlbug@​perl.com using the # perlbug script (as described in the INSTALL file) so that the exact # details of the failures can be sorted out first and then your operating # system supplier can be alerted about these anomalies. # # # The locale definitions # # Afrikaans Albanian American Basque Bulgarian Catalan # Croatian Czech Danish Dutch English Estonian Faroese Finnish # French Galician German Greek Hungarian Icelandic Indonesian # Italian Latvian Lithuanian Maltese Norwegian Polish # Portuguese Russian Slovak Slovenian Spanish Swedish Turkish # Welsh # # on your system may have errors because the locale test 286 # "Verify that isn't both [​:cntrl​:] and [​:print​:]" # failed in those locales. # # If your users are not using these locales you are safe for the moment\, # but please report this failure first to perlbug@​perl.com using the # perlbug script (as described in the INSTALL file) so that the exact # details of the failures can be sorted out first and then your operating # system supplier can be alerted about these anomalies. # # # The locale definitions # # Afrikaans Albanian American Basque Bulgarian Catalan # Croatian Czech Danish Dutch English Estonian Faroese Finnish # French Galician German Greek Hungarian Icelandic Indonesian # Italian Latvian Lithuanian Maltese Norwegian Polish # Portuguese Russian Slovak Slovenian Spanish Swedish Turkish # Welsh # # on your system may have errors because the locale test 288 # "Verify that isn't both [​:alnum​:] and [​:punct​:]" # failed in those locales. # # If your users are not using these locales you are safe for the moment\, # but please report this failure first to perlbug@​perl.com using the # perlbug script (as described in the INSTALL file) so that the exact # details of the failures can be sorted out first and then your operating # system supplier can be alerted about these anomalies. # # The following locales # # C # # tested okay. # # The following locales # # Afrikaans Albanian American Basque Bulgarian Catalan # Croatian Czech Danish Dutch English Estonian Faroese Finnish # French Galician German Greek Hungarian Icelandic Indonesian # Italian Latvian Lithuanian Maltese Norwegian Polish # Portuguese Russian Slovak Slovenian Spanish Swedish Turkish # Welsh # # had problems. # # For more details\, rerun\, with environment variable PERL_DEBUG_FULL_TEST=1. 1..546 ok All tests successful. Files=1\, Tests=546\, 4 wallclock secs ( 0.12 usr + 0.00 sys = 0.12 CPU) Result​: PASS


looks fine now

-- bulk88 ~ bulk88 at hotmail.com

p5pRT commented 10 years ago

From @khwilliamson

Fixed by commit a5cf558aeda18ca1d1203fb44617ec10b564eb12 -- Karl Williamson

p5pRT commented 10 years ago

@khwilliamson - Status changed from 'open' to 'resolved'