Blame t/00-compile.t

Packit e6feea
use strict;
Packit e6feea
use warnings;
Packit e6feea
Packit e6feea
# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.033
Packit e6feea
Packit e6feea
use Test::More  tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
Packit e6feea
Packit e6feea
Packit e6feea
Packit e6feea
my @module_files = (
Packit e6feea
    'Test/FailWarnings.pm'
Packit e6feea
);
Packit e6feea
Packit e6feea
Packit e6feea
Packit e6feea
# fake home for cpan-testers
Packit e6feea
use File::Temp;
Packit e6feea
local $ENV{HOME} = File::Temp::tempdir( CLEANUP => 1 );
Packit e6feea
Packit e6feea
Packit e6feea
use File::Spec;
Packit e6feea
use IPC::Open3;
Packit e6feea
use IO::Handle;
Packit e6feea
Packit e6feea
my @warnings;
Packit e6feea
for my $lib (@module_files)
Packit e6feea
{
Packit e6feea
    # see L<perlfaq8/How can I capture STDERR from an external command?>
Packit e6feea
    open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
Packit e6feea
    my $stderr = IO::Handle->new;
Packit e6feea
Packit e6feea
    my $pid = open3($stdin, '>&STDERR', $stderr, $^X, '-Mblib', '-e', "require q[$lib]");
Packit e6feea
    binmode $stderr, ':crlf' if $^O eq 'MSWin32';
Packit e6feea
    my @_warnings = <$stderr>;
Packit e6feea
    waitpid($pid, 0);
Packit e6feea
    is($? >> 8, 0, "$lib loaded ok");
Packit e6feea
Packit e6feea
    if (@_warnings)
Packit e6feea
    {
Packit e6feea
        warn @_warnings;
Packit e6feea
        push @warnings, @_warnings;
Packit e6feea
    }
Packit e6feea
}
Packit e6feea
Packit e6feea
Packit e6feea
Packit e6feea
is(scalar(@warnings), 0, 'no warnings found') if $ENV{AUTHOR_TESTING};
Packit e6feea
Packit e6feea