Skip Menu |
 

This queue is for tickets about the Mail-Builder CPAN distribution.

Report information
The Basics
Id: 55450
Status: resolved
Priority: 0/
Queue: Mail-Builder

People
Owner: Nobody in particular
Requestors: james2vegas [...] aim.com
Cc:
AdminCc:

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



Subject: Uses stacked file test options, fails on < 5.9.1
In, for example, lib/Mail/Builder/Image/File.pm, the file check uses stacked file tests, i.e.
        croak(qq[Could not find/open file: $obj->{'path'}])
            unless (-r -f $obj->{'path'});

according to perldoc -f -X:
               As of Perl 5.9.1, as a form of purely syntactic
               sugar, you can stack file test operators, in a way
               that "-f -w -x $file" is equivalent to "-x $file
               && -w _ && -f _". (This is only syntax fancy: if
               you use the return value of "-f $file" as an
               argument to another filetest operator, no special
               magic will happen.)

So on versions of Perl < 5.9.1, code using stacked file tests fail.  This includes the test suite:

t/001_load.t ......... ok                                                                        
t/002_pod.t .......... ok                                                                        
t/003_podcoverage.t .. ok                                                                        
t/004_address.t ...... ok                                                                        
t/005_list.t ......... ok                                                                        
t/006_attachment.t ... Could not find/open file: t/testfile.txt at t/006_attachment.t line 9     
Show quoted text
# Looks like your test exited with 2 before it could output anything.                            
t/006_attachment.t ... Dubious, test returned 2 (wstat 512, 0x200)                               
Failed 23/23 subtests                                                                            
t/007_image.t ........ Could not find/open file: t/testfile.gif at t/007_image.t line 9          
Show quoted text
# Looks like your test exited with 2 before it could output anything.                            
t/007_image.t ........ Dubious, test returned 2 (wstat 512, 0x200)                               
Failed 16/16 subtests                                                                            
t/008_builder.t ...... 35/72 Could not find/open file: t/testfile.pdf at /usr/home/jamesw/Mail-Bui
lder-1.15/blib/lib/Mail/Builder/List.pm line 130                                                 
Show quoted text
# Looks like you planned 72 tests but ran 59.                                                    
# Looks like your test exited with 2 just after 59.                                              
t/008_builder.t ...... Dubious, test returned 2 (wstat 512, 0x200)                               
Failed 13/72 subtests      
$ perl -v | perl -
This is perl, v5.8.9 built for i386-freebsd


Download (untitled) / with headers
text/plain 231b
Hi, this issue has been resolved in the latest M::B 2.0 release Show quoted text
> In, for example, lib/Mail/Builder/Image/File.pm, the file check uses
stacked Show quoted text
> So on versions of Perl < 5.9.1, code using stacked file tests fail.
Cheers Maroš


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.