1*91f110e0Safresh1#!./perl -w 2*91f110e0Safresh1use strict; 3*91f110e0Safresh1 4*91f110e0Safresh1use Test::More; 5*91f110e0Safresh1use File::stat; 6*91f110e0Safresh1 7*91f110e0Safresh1# This is possibly a bit black-box, but for now it works. 8*91f110e0Safresh1# If (either) File::stat stops lazy loading Symbol, or Test::More starts, it 9*91f110e0Safresh1# should be revisited 10*91f110e0Safresh1is($INC{'Symbol.pm'}, undef, "Symbol isn't loaded yet"); 11*91f110e0Safresh1 12*91f110e0Safresh1# ID 20011110.104 (RT #7896) 13*91f110e0Safresh1$! = 0; 14*91f110e0Safresh1is($!, '', '$! is empty'); 15*91f110e0Safresh1is(File::stat::stat('/notafile'), undef, 'invalid file should fail'); 16*91f110e0Safresh1isnt($!, '', 'should populate $!, given invalid file'); 17*91f110e0Safresh1my $e = $!; 18*91f110e0Safresh1 19*91f110e0Safresh1isnt($INC{'Symbol.pm'}, undef, "Symbol has been loaded"); 20*91f110e0Safresh1 21*91f110e0Safresh1# Repeat twice 22*91f110e0Safresh1is(File::stat::stat('/notafile'), undef, 'invalid file should fail again'); 23*91f110e0Safresh1is($!, $e, '$! should be consistent for an invalid file'); 24*91f110e0Safresh1$e = $!; 25*91f110e0Safresh1is(File::stat::stat('/notafile'), undef, 'invalid file should fail again'); 26*91f110e0Safresh1is($!, $e, '$! should be consistent for an invalid file'); 27*91f110e0Safresh1 28*91f110e0Safresh1done_testing(); 29