Skip Menu |
 

This queue is for tickets about the Net-IDN-Encode CPAN distribution.

Report information
The Basics
Id: 129588
Status: open
Priority: 0/
Queue: Net-IDN-Encode

People
Owner: Nobody in particular
Requestors: jplesnik [...] redhat.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Three tests fail with perl 5.29.8
Download (untitled) / with headers
text/plain 1.9k
t/uts46_to_ascii.t, t/uts46_to_ascii-trans.t and t/uts46_to_unicode.t fail with perl 5.29.8. See below: ... # Failed test 'to_ascii('ˣ\u034Fℕ\u200B﹣\u00AD-\u180Cℬ\uFE00ſ\u2064𝔰󠇯ffl') [data/IdnaTest.txt:375]' # at t/uts46_to_ascii.t line 258. # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' # expected: 'xn--bssffl' # Failed test 'to_ascii('x\u034FN\u200B-\u00AD-\u180CB\uFE00s\u2064s󠇯ffl') [data/IdnaTest.txt:376]' # at t/uts46_to_ascii.t line 259. # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' # expected: 'xn--bssffl' # Failed test 'to_ascii('x\u034Fn\u200B-\u00AD-\u180Cb\uFE00s\u2064s󠇯ffl') [data/IdnaTest.txt:377]' # at t/uts46_to_ascii.t line 260. # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' # expected: 'xn--bssffl' # Failed test 'to_ascii('X\u034FN\u200B-\u00AD-\u180CB\uFE00S\u2064S󠇯FFL') [data/IdnaTest.txt:378]' # at t/uts46_to_ascii.t line 261. # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' # expected: 'xn--bssffl' # Failed test 'to_ascii('X\u034Fn\u200B-\u00AD-\u180CB\uFE00s\u2064s󠇯ffl') [data/IdnaTest.txt:379]' # at t/uts46_to_ascii.t line 262. # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' # expected: 'xn--bssffl' ... Test Summary Report ------------------- t/uts46_to_ascii-trans.t (Wstat: 5376 Tests: 6198 Failed: 21) Failed tests: 236-240, 243-245, 753, 755, 761, 763, 1792 1797, 2141, 2573-2574, 5198-5199, 5285-5286 Non-zero exit status: 21 t/uts46_to_ascii.t (Wstat: 3840 Tests: 6198 Failed: 15) Failed tests: 236-240, 243-245, 753, 755, 761, 763, 1792 1797, 2141 Non-zero exit status: 15 t/uts46_to_unicode.t (Wstat: 3840 Tests: 7763 Failed: 15) Failed tests: 292-296, 299-301, 894, 896, 902, 904, 2195 2200, 2635 Non-zero exit status: 15
On Thu May 16 07:11:06 2019, jplesnik wrote: Show quoted text
> t/uts46_to_ascii.t, t/uts46_to_ascii-trans.t and t/uts46_to_unicode.t > fail with perl 5.29.8. See below: > > ... > # Failed test > 'to_ascii('Ë£\u034Fℕ\u200Bï¹£\u00AD-\u180Cℬ\uFE00Å¿\u2064𝔰ó > ‡¯ï¬„') [data/IdnaTest.txt:375]' > # at t/uts46_to_ascii.t line 258. > # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' > # expected: 'xn--bssffl' > > # Failed test 'to_ascii('x\u034FN\u200B-\u00AD- > \u180CB\uFE00s\u2064s󠇯ffl') [data/IdnaTest.txt:376]' > # at t/uts46_to_ascii.t line 259. > # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' > # expected: 'xn--bssffl' > > # Failed test 'to_ascii('x\u034Fn\u200B-\u00AD- > \u180Cb\uFE00s\u2064s󠇯ffl') [data/IdnaTest.txt:377]' > # at t/uts46_to_ascii.t line 260. > # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' > # expected: 'xn--bssffl' > > # Failed test 'to_ascii('X\u034FN\u200B-\u00AD- > \u180CB\uFE00S\u2064S󠇯FFL') [data/IdnaTest.txt:378]' > # at t/uts46_to_ascii.t line 261. > # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' > # expected: 'xn--bssffl' > > # Failed test 'to_ascii('X\u034Fn\u200B-\u00AD- > \u180CB\uFE00s\u2064s󠇯ffl') [data/IdnaTest.txt:379]' > # at t/uts46_to_ascii.t line 262. > # got: 'xn--xn--bssffl-ioa991fb26eynxalfbu037sih338a' > # expected: 'xn--bssffl' > ... > Test Summary Report > ------------------- > t/uts46_to_ascii-trans.t (Wstat: 5376 Tests: 6198 Failed: 21) > Failed tests: 236-240, 243-245, 753, 755, 761, 763, 1792 > 1797, 2141, 2573-2574, 5198-5199, 5285-5286 > Non-zero exit status: 21 > t/uts46_to_ascii.t (Wstat: 3840 Tests: 6198 Failed: 15) > Failed tests: 236-240, 243-245, 753, 755, 761, 763, 1792 > 1797, 2141 > Non-zero exit status: 15 > t/uts46_to_unicode.t (Wstat: 3840 Tests: 7763 Failed: 15) > Failed tests: 292-296, 299-301, 894, 896, 902, 904, 2195 > 2200, 2635 > Non-zero exit status: 15
Error with perl 5.30.0-RC1 is a bit different: # Failed test 'to_ascii('ˣ\u034Fℕ\u200B﹣\u00AD-\u180Cℬ\uFE00ſ\u2064𝔰󠇯ffl') [data/IdnaTest.txt:375]' # at t/uts46_to_ascii.t line 258. # got: undef # expected: 'xn--bssffl' # contains ignored character U+034F [V6] at t/uts46_to_ascii.t line 258. # Failed test 'to_ascii('x\u034FN\u200B-\u00AD-\u180CB\uFE00s\u2064s󠇯ffl') [data/IdnaTest.txt:376]' # at t/uts46_to_ascii.t line 259. # got: undef # expected: 'xn--bssffl' # contains ignored character U+034F [V6] at t/uts46_to_ascii.t line 259. # Failed test 'to_ascii('x\u034Fn\u200B-\u00AD-\u180Cb\uFE00s\u2064s󠇯ffl') [data/IdnaTest.txt:377]' # at t/uts46_to_ascii.t line 260. # got: undef # expected: 'xn--bssffl' # contains ignored character U+034F [V6] at t/uts46_to_ascii.t line 260.
Download (untitled) / with headers
text/plain 1.5k
Dne Čt 16.Květen.2019 08:20:26, jplesnik napsal(a): Show quoted text
> Error with perl 5.30.0-RC1 is a bit different: > > # Failed test > 'to_ascii('Ë£\u034Fℕ\u200Bï¹£\u00AD-\u180Cℬ\uFE00Å¿\u2064𝔰ó > ‡¯ï¬„') [data/IdnaTest.txt:375]' > # at t/uts46_to_ascii.t line 258. > # got: undef > # expected: 'xn--bssffl' > # contains ignored character U+034F [V6] at t/uts46_to_ascii.t line > 258. >
This can be reduced to: $ perl -Ilib -MNet::IDN::UTS46::_Mapping -e 'use utf8; use Data::Dumper; print Dumper(Net::IDN::UTS46::_Mapping::MapIgnored("a\x{034F}"))' $VAR1 = "a\x{34f}"; while good perl 5.28.2: $ perl -Ilib -MNet::IDN::UTS46::_Mapping -e 'use utf8; use Data::Dumper; print Dumper(Net::IDN::UTS46::_Mapping::MapIgnored("a\x{034F}"))' $VAR1 = 'a'; There seems to be a regression when executing _mk_prop() in Net::IDN::UTS46::_Mapping. This program: #!/usr/bin/perl use utf8; use Data::Dumper(); package Foo; sub _mk_prop { my @ll; while( my($c) = splice(@_,0,1) ) { warn "HIT"; push @ll, sprintf("%04X", $c); } return join "\n", @ll; } our @IGNORED = ( 0x034F ); sub IsIgnored { return _mk_prop(@IGNORED); }; my $l = "a\x{034F}"; $l =~ s/\p{IsIgnored}//g; warn "OUTPUT: " . Data::Dumper::Dumper($l); Fails like this: $ perl /tmp/test OUTPUT: $VAR1 = "a\x{34f}"; While good perl passes: $ perl /tmp/test HIT at /tmp/test line 10. OUTPUT: $VAR1 = 'a'; You can see the while loop is never executed. There seems to be a strange interaction between splice and the user-defined Unicode properties.
Download (untitled) / with headers
text/plain 122b
Thank you for the report and the detailed analysis. I’ll wait for the result of the discussion for the big against perl.
Download (untitled) / with headers
text/plain 258b
On Fri May 17 02:09:19 2019, CFAERBER wrote: Show quoted text
> Thank you for the report and the detailed analysis. I’ll wait for the > result of the discussion for the big against perl.
That was a wise decision. Perl 5.30 fixes this without you having to do anything.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.