Le 22/07/15 11:45, Alexander Pyhalov a écrit : > Hello. > I've started looking at updating OI Hipster Perl version (we currently > ship 5.16.3) to 5.22. > > Configure options are (for both perl versions) > > -de \ > -Dmksymlinks \ > -Ulocincpth= \ > -Uloclibpth= \ > -Dbin=/usr/perl5/$(PERL_VERSION)/bin \ > -Dcc="$(CC) $(CC_BITS)" \ > -Dcf_email="[email protected]" \ > -Dcf_by="perl-bugs" \ > -Dlibperl=libperl.so \ > -Dmyhostname="localhost" \ > -Dprefix=/usr/perl5/$(PERL_VERSION) \ > -Dprivlib=/usr/perl5/$(PERL_VERSION)/lib \ > -Dsitelib=/usr/perl5/site_perl/$(PERL_VERSION) \ > -Dsiteprefix=/usr/perl5/$(PERL_VERSION) \ > > -Dvendorlib=/usr/perl5/vendor_perl/$(PERL_VERSION) \ > -Dvendorprefix=/usr/perl5/$(PERL_VERSION) \ > -Duse64bitint \ > -Duseshrplib \ > -Dusedtrace \ > -Uuselargefiles > > But several tests fail on gmake check: > > Failed 5 tests out of 2222, 99.77% okay. > ../ext/re/t/re_funcs_u.t > ../lib/locale.t > re/subst.t > re/substT.t > re/subst_wamp.t > > For Perl 5.16 only first two checks fail: > Failed 2 tests out of 2188, 99.91% okay. > ../ext/re/t/re_funcs_u.t > ../lib/locale.t > > Verbose output: > > 1) from ext/re/t/re_funcs_u.t: > > not ok 32 > # Failed test 32 - at ext/re/t/re_funcs_u.t line 125 > > this is the following test: > > require POSIX; > my $text = chr utf8::unicode_to_native(0xE4); > my $current_locale = POSIX::setlocale( &POSIX::LC_CTYPE, 'C' ); > my $check; > check = $text =~ /(?l)\w/; > ok( !$check ); > > 2) from lib/locale.t > > $ env LD_LIBRARY_PATH=. ./perl -I. -wT -MTestInit lib/locale.t |grep > 'not ok' > > not ok 437 uc("à") in C locale (use locale; not encoded in utf8) should > be "à", got "À" > not ok 439 uc("à") in C locale (use locale; encoded in utf8) should be > "à", got "À" > not ok 441 uc("ÿ") in C locale (use locale; not encoded in utf8) should > be "ÿ", got "x" > not ok 443 uc("ÿ") in C locale (use locale; encoded in utf8) should be > "ÿ", got "x" > not ok 493 ucfirst("à") in C locale (use locale; not encoded in utf8) > should be "à", got "À" > not ok 495 ucfirst("à") in C locale (use locale; encoded in utf8) should > be "à", got "À" > not ok 497 ucfirst("ÿ") in C locale (use locale; not encoded in utf8) > should be "ÿ", got "x" > not ok 499 ucfirst("ÿ") in C locale (use locale; encoded in utf8) should > be "ÿ", got "x" > not ok 549 lc("À") in C locale (use locale; not encoded in utf8) should > be "À", got "à" > not ok 551 lc("À") in C locale (use locale; encoded in utf8) should be > "À", got "à" > not ok 589 lcfirst("À") in C locale (use locale; not encoded in utf8) > should be "À", got "à" > not ok 591 lcfirst("À") in C locale (use locale; encoded in utf8) should > be "À", got "à" > not ok 629 fc("À") in C locale (use locale; not encoded in utf8) should > be "À", got "à" > not ok 631 fc("À") in C locale (use locale; encoded in utf8) should be > "À", got "à" > > 3) from t/re/subst.t > 4) re/substT.t > 5) re/subst_wamp.t > (the same test fails, this is new one, but it seems it fails also on old > perl): > > # Failed test 256 - \b matches Latin1 before string, mid, and end, /l at > t/re/subst.t line 1046 > # got "!\x{e1}!.!\x{e8}!" > # expected "\x{e1}.\x{e8}" > not ok 256 - \b matches Latin1 before string, mid, and end, /l > > The following test fails: > > require POSIX; > POSIX->import("locale_h"); > setlocale(&POSIX::LC_ALL, "C"); > use locale; > # use Test::More; > my $a_acute = chr utf8::unicode_to_native(0xE1); # LATIN SMALL LETTER A > WITH ACUTE > my $egrave = chr utf8::unicode_to_native(0xE8); # LATIN SMALL LETTER E > WITH GRAVE > is("$a_acute.$egrave" =~ s/\b/!/gr, "$a_acute.$egrave", '\\b matches > Latin1 before string, mid, and end, /l'); > > > Do you have any thoughts on this? Is error somewhere in our locales? > > You are not alone. I've been having issues as well with 5.22.0 although a bit different, perhaps because I'm on pkgsrc i386... such as: > 6981 t/re/charset .................................................. # Failed > t est 2985 - my $a = "\x{e2}A"; $a =~ qr/ (?l: \x{e2} \b A ) /x; "A" is > a \w under /l (C); "\x{e2}" is not a \w under /l (C) at re/charset.t > line 279 > 6982 # Failed test 2986 - my $a = "A\x{e2}"; $a =~ qr/ (?l: A \b \x{e2} ) /x; > " A" is a \w under /l (C); "\x{e2}" is not a \w under /l (C) at > re/charset.t line 279 > 6983 # Failed test 2987 - my $a = "\x{e2}A"; $a !~ qr/ (?l: \x{e2} \B A ) /x; > " A" is not a \W under /l (C); "\x{e2}" is a \W under /l (C) at > re/charset.t line 285 > 6984 # Failed test 2988 - my $a = "A\x{e2}"; $a !~ qr/ (?l: A \B \x{e2} ) /x; > " A" is not a \W under /l (C); "\x{e2}" is a \W under /l (C) at > re/charset.t line 285 > ... > 23427 # Failed test 16430 - 840 subtests ok for /l (C locale), > target="\x{00E5}" , pat="\x{00C5}" at re/fold_grind.t line 937 > 23428 # got "840" > 23429 # expected "4916" > 23430 FAILED at test 106
and > 23834 t/porting/regen ............................................... # > Failed t est 6 - generated charclass_invlists.h is up to date at > porting/regen.t li ne 85 > 23835 # got "lib/unicore/mktables" > 23836 # expected "" > 23837 # Failed test 8 - generated regcharclass.h is up to date at > porting/regen. t line 85 > 23838 # got "lib/unicore/mktables" > 23839 # expected "" > 23840 FAILED at test 6 all in all: > 33115 Failed 6 tests out of 2283, 99.74% okay. > 33116 ../ext/XS-APItest/t/handy.t > 33117 ../lib/locale.t > 33118 porting/customized.t > 33119 porting/regen.t > 33120 re/charset.t > 33121 re/fold_grind.t -- Richard PALO ------------------------------------------- illumos-discuss Archives: https://www.listbox.com/member/archive/182180/=now RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be Modify Your Subscription: https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4 Powered by Listbox: http://www.listbox.com
