Subject: | t/mp3tag.t: Dies on perl-5.29.9 on FreeBSD-11.2 |
As part of preparation for the upcoming release of perl-5.30.0, I attempted to build and test MP3-Tag on FreeBSD-11.2 using 'cpanm' as the installer. I got many warnings when I ran the test suite; see https://rt.cpan.org/Ticket/Display.html?id=128136 and https://rt.cpan.org/Ticket/Display.html?id=128305 for those. In addition, I got the following failure in t/mp3tag.t:
#####
[MP3-Tag-1.14] $ thisprove t/mp3tag.t
t/mp3tag.t ..
1..139
Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^\??({ <-- HERE ([^{}]+)}|.)/ at /usr/home/jkeenan/var/tad/testing/perl-5.29.9/.cpanm/work/1553213716.36088/MP3-Tag-1.14/blib/lib/MP3/Tag.pm line 3080.
Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^({ <-- HERE [^{}]+}|\w)/ at /usr/home/jkeenan/var/tad/testing/perl-5.29.9/.cpanm/work/1553213716.36088/MP3-Tag-1.14/blib/lib/MP3/Tag.pm line 3092.
ok 1 # MP3::Tag initialized
ok 2 # Detecting ID3v1
...
ok 90 # multi-%c and %=E via parse/interpolate
Pattern(s) `%t/%c/%c.%e' did not succeed vs `my/dir/audio_07.mp3' at /usr/home/jkeenan/var/tad/testing/perl-5.29.9/.cpanm/work/1553213716.36088/MP3-Tag-1.14/blib/lib/MP3/Tag/ParseData.pm line 198.
Dubious, test returned 2 (wstat 512, 0x200)
Failed 49/139 subtests
Test Summary Report
-------------------
t/mp3tag.t (Wstat: 512 Tests: 90 Failed: 0)
Non-zero exit status: 2
Parse errors: Bad plan. You planned 139 tests but ran 90.
Files=1, Tests=90, 1 wallclock secs ( 0.02 usr 0.05 sys + 0.25 cusr 0.03 csys = 0.35 CPU)
Result: FAIL
#####
The relevant part of lib/MP3/Tag/ParseData.pm is:
#####
150 sub parse_one {
151 my ($self, $in) = @_;
152
...
192 for $pattern (@patterns) {
193 last if $res = $self->{parent}->parse_rex_match($pattern, $data);
194 }
195 last if $res;
196 }
197 { local $" = "' `";
198 die "Pattern(s) `@opatterns' did not succeed vs `@data'"
199 if $flags =~ /m/ and not $res;
200 }
#####
Not yet investigated further. Can you investigate?
Thank you very much.
Jim Keenan