#!/usr/bin/perl -w use strict; use warnings; use Test2::Bundle::Extended; use Test2::Tools::Explain; use Test2::Plugin::NoWarnings; use File::Temp qw/tempfile tempdir/; use Fcntl; #use Errno qw/ENOENT EBADF/; use Test::MockFile qw/strict/; # Everything below this can have its open overridden. my ( undef, $temp_file ) = tempfile(); my $temp_dir = tempdir( CLEANUP => 1 ); note "-------------- REAL MODE --------------"; like( dies { open( my $fh, "<", $temp_file ) }, qr/^Use of open to access unmocked file or directory '$temp_file' in strict mode at $0 line \d+/, "Using open on an unmocked file throws a croak" ); like( dies { open( my $fh, "file( $mock_file_name, "content" ); # Missing file but mocked. ok( -s $mock_file_name, "-s $mock_file_name" ); package DynaLoader; main::is( __PACKAGE__, "DynaLoader", "Testing from a different source scope (DynaLoader)" ); main::is( -d '/tmp', 1, "-d is allowed in certain packages without a die (DynaLoader)" ); package main; is( open( my $fh, '<&STDIN' ), 1, "open STDIN isn't an error" ); #diag "$!"; done_testing();