Better flock detection for autodie tests
Paul Fenwick [Mon, 13 Jul 2009 01:30:28 +0000 (11:30 +1000)]
G'day p5p,

Craig A. Berry discovered that autodie's tests which attempt to detect
flock() support can cause bogus test failures on older VMS systems:

https://rt.cpan.org/Ticket/Display.html?id=47812

Attached is a trivial patch from Craig that fixes this issue.  It's already
been applied to my upstream repository.

Dave - I have no idea if this would be an issue for people building Perl
5.10.1 on old VMS systems.  You may wish to consider it for inclusion into
maint-5.10 just in case.

All the very best,

Paul

--
Paul Fenwick <pjf@perltraining.com.au> | http://perltraining.com.au/
Director of Training                   | Ph:  +61 3 9354 6001
Perl Training Australia                | Fax: +61 3 9354 2681

Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>

lib/autodie/t/flock.t

index 8b2a168..a7550ba 100755 (executable)
@@ -23,7 +23,7 @@ if ($@) {
     plan skip_all => "Cannot lock this test on this system.";
 }
 
-my $flock_return = flock($self_fh, LOCK_EX | LOCK_NB);
+my $flock_return = eval { flock($self_fh, LOCK_EX | LOCK_NB); };
 
 if (not $flock_return) {
     plan skip_all => "flock on my own test not supported on this system.";