|
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 |
|