X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fio%2Fbinmode.t;h=41eff4a24f4361de2e6ae1f6c009ca03eb062de8;hb=b88df9907a8d7b4fae1100629cc85633a901355e;hp=76fd5a7779e6c03060e8f89aabca65f48aba1eb5;hpb=e940ddbba91304b2a80fdaa904f5b12c22b13e0a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/io/binmode.t b/t/io/binmode.t index 76fd5a7..41eff4a 100644 --- a/t/io/binmode.t +++ b/t/io/binmode.t @@ -2,19 +2,41 @@ BEGIN { chdir 't' if -d 't'; - @INC = '../lib'; + @INC = qw(. ../lib); + require './test.pl'; } - -use Test::More tests => 8; +use Config; +BEGIN { + eval {require Errno; Errno->import;}; +} +plan(tests => 9); ok( binmode(STDERR), 'STDERR made binary' ); -ok( binmode(STDERR, ":unix"), ' with unix discipline' ); +if (find PerlIO::Layer 'perlio') { + ok( binmode(STDERR, ":unix"), ' with unix discipline' ); +} else { + ok(1, ' skip unix discipline without PerlIO layers' ); +} ok( binmode(STDERR, ":raw"), ' raw' ); ok( binmode(STDERR, ":crlf"), ' and crlf' ); # If this one fails, we're in trouble. So we just bail out. ok( binmode(STDOUT), 'STDOUT made binary' ) || exit(1); -ok( binmode(STDOUT, ":unix"), ' with unix discipline' ); -ok( binmode(STDERR, ":raw"), ' raw' ); -ok( binmode(STDERR, ":crlf"), ' and crlf' ); +if (find PerlIO::Layer 'perlio') { + ok( binmode(STDOUT, ":unix"), ' with unix discipline' ); +} else { + ok(1, ' skip unix discipline without PerlIO layers' ); +} +ok( binmode(STDOUT, ":raw"), ' raw' ); +ok( binmode(STDOUT, ":crlf"), ' and crlf' ); + +SKIP: { + skip "minitest", 1 if $ENV{PERL_CORE_MINITEST}; + skip "no EBADF", 1 if (!exists &Errno::EBADF); + + no warnings 'io', 'once'; + $! = 0; + binmode(B); + ok($! == &Errno::EBADF); +}