sv_2pv_flags and ROK and UTF8 flags
[p5sagit/p5-mst-13.2.git] / lib / Net / t / netrc.t
index a4dd778..cb5c35d 100644 (file)
@@ -5,6 +5,12 @@ BEGIN {
        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;
@@ -41,7 +47,7 @@ ok( exists $INC{'Net/Netrc.pm'}, 'should be able to use Net::Netrc' );
 
 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 {
@@ -52,13 +58,20 @@ SKIP: {
        $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
@@ -125,7 +138,7 @@ sub new {
 }
 
 sub TIEHANDLE {
-       my ($class, undef, $file, $mode) = @_;
+       my ($class, $file, $mode) = @_[0,2,3];
        bless({ file => $file, mode => $mode }, $class);
 }