This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Tidy t/io/binmode.t
[perl5.git] / t / io / binmode.t
index f50d0f7..473261e 100644 (file)
@@ -4,37 +4,37 @@ BEGIN {
     chdir 't' if -d 't';
     @INC = qw(. ../lib);
     require './test.pl';
+    eval 'use Errno';
+    die $@ if $@ and !is_miniperl();
 }
 
-use Config;
-use Errno;
 
 plan(tests => 9);
 
 ok( binmode(STDERR),            'STDERR made binary' );
-if (find PerlIO::Layer 'perlio') {
-  ok( binmode(STDERR, ":unix"),   '  with unix discipline' );
-} else {
-  ok(1,   '  skip unix discipline without PerlIO layers' );
+SKIP: {
+    skip('skip unix discipline without PerlIO layers', 1)
+       unless find PerlIO::Layer 'perlio';
+    ok( binmode(STDERR, ":unix"),   '  with unix discipline' );
 }
 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);
-if (find PerlIO::Layer 'perlio') {
-  ok( binmode(STDOUT, ":unix"),   '  with unix discipline' );
-} else {
-  ok(1,   '  skip unix discipline without PerlIO layers' );
+SKIP: {
+    skip('skip unix discipline without PerlIO layers', 1)
+       unless find PerlIO::Layer 'perlio';
+    ok( binmode(STDOUT, ":unix"),   '  with unix discipline' );
 }
 ok( binmode(STDOUT, ":raw"),    '  raw' );
 ok( binmode(STDOUT, ":crlf"),   '  and crlf' );
 
 SKIP: {
-    skip "no EBADF", 1 if (!exists &Errno::EBADF);
+    skip "no EBADF", 1 unless exists &Errno::EBADF;
 
-    no warnings 'io';
+    no warnings 'io', 'once';
     $! = 0;
     binmode(B);
-    ok($! == &Errno::EBADF);
+    cmp_ok($!, '==', Errno::EBADF());
 }