Bug 1716422

Summary: perl-Test-Unit-0.25-32.fc31 FTBFS with perl 5.30: test_numericness test fails on 0xF00
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: perl-Test-UnitAssignee: Petr Pisar <ppisar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: perl-devel, xavier
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: perl-Test-Unit-0.25-33.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-03 14:40:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Petr Pisar 2019-06-03 13:13:17 UTC
perl-Test-Unit-0.25-32.fc31 fails build with perl 5.30 because a test started to fail:

$ perl -Ilib t/assert.t                                    
STARTING TEST RUN                                                                         
1..40                                                                                     
[...]
ok PASS test_assert_raises

not ok ERROR test_numericness
t/tlib/AssertTest.pm:48 - test_numericness(Class::Inner::__A26)
For string '0xF00', expect f but got t
ok PASS test_fail_assert_null

That's caused by a change in perl. Perl 5.28 handles it as string:

$ perl -e 'print qq{YES\n} if q{0xF00} == 0'
YES

While perl 5.30 handles it as a number:

$ perl -e 'print qq{YES\n} if q{0xF00} == 0'

The failing test has a relevant notice at t/tlib/AssertTest.pm:37:

    '0xF00' => 'f', # controversial?  but if you +=10 then it's == 10