chdir 't' if -d 't';
@INC = '../lib';
}
+ if (!eval "require Socket") {
+ print "1..0 # no Socket\n"; exit 0;
+ }
+ if (ord('A') == 193 && !eval "require Convert::EBCDIC") {
+ print "1..0 # EBCDIC but no Convert::EBCDIC\n"; exit 0;
+ }
}
use strict;
SKIP: {
skip('incompatible stat() handling for OS', 4), next SKIP
- if ($^O =~ /os2|win32|macos|cygwin/i);
+ if ($^O =~ /os2|win32|macos|cygwin/i or $] < 5.005);
my $warn;
local $SIG{__WARN__} = sub {
$stat[2] = 077;
ok( !defined(Net::Netrc::_readrc()),
'_readrc() should not read world-writable file' );
- ok( $warn =~ /^Bad permissions/, '... and should warn about it' );
+ ok( scalar($warn =~ /^Bad permissions:/),
+ '... and should warn about it' );
# the owner field should still not match
$stat[2] = 0;
- ok( !defined(Net::Netrc::_readrc()),
- '_readrc() should not read file owned by someone else' );
- ok( $warn =~ /^Not owner/, '... and should warn about it' );
+
+ if ($<) {
+ ok( !defined(Net::Netrc::_readrc()),
+ '_readrc() should not read file owned by someone else' );
+ ok( scalar($warn =~ /^Not owner:/),
+ '... and should warn about it' );
+ } else {
+ skip("testing as root",2);
+ }
}
# this field must now match, to avoid the last-tested warning
}
sub TIEHANDLE {
- my ($class, undef, $file, $mode) = @_;
+ my ($class, $file, $mode) = @_[0,2,3];
bless({ file => $file, mode => $mode }, $class);
}