App-Bootstrap-Perl
view release on metacpan or search on metacpan
bin/bootstrap-perl view on Meta::CPAN
print $COMMAND $cmd, "\n";
print $LOGFILE $cmd, "\n";
$exitcode = system ($cmd);
open(STDOUT, ">&", $OLDSTDOUT) || die;
open(STDERR, ">&", $OLDSTDERR) || die;
$exitcode == 0 || warn "$0($line): $cmd ($exitcode>>".($exitcode>>8).")";
}
# Execute a command via system(). Output goes to normal stdout/stderr.
sub print_and_system_out {
my ($cmd) = @_;
my $line = caller_line();
print $COMMAND $cmd, "\n";
print $LOGFILE $cmd, "\n";
print $USER $cmd, "\n";
system ($cmd) == 0 || warn "$0($line): $cmd ($?>>".($?>>8).")";
}
bin/bootstrap-perl view on Meta::CPAN
print $COMMAND $cmd, "\n";
print $LOGFILE $cmd, "\n";
$out = qx($cmd 2>&1);
$exitcode = $?;
print $LOGFILE $out, "\n";
$exitcode == 0 || warn "$0($line): $cmd ($exitcode>>".($exitcode>>8).")";
$out;
}
# Execute a command via qx(). Output goes to normal stdout/stderr.
sub print_and_qx_chomp {
my $out = print_and_qx @_;
chomp $out;
$out;
}
sub _perl_base_name {
my ($perl_revision, $perl_version, $perl_subversion, $usethreads, $bit64, $taintsupport, $silentnotaint, $gitdescribe, $gitchangeset, $exe_suffixes, $blead) = @_;
return join("-",
($blead ? "blead" : "$perl_revision.$perl_version"),
t/00-compile.t view on Meta::CPAN
use File::Spec;
use IPC::Open3;
use IO::Handle;
open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
my @warnings;
for my $lib (@module_files)
{
# see L<perlfaq8/How can I capture STDERR from an external command?>
my $stderr = IO::Handle->new;
my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
binmode $stderr, ':crlf' if $^O eq 'MSWin32';
my @_warnings = <$stderr>;
waitpid($pid, 0);
is($?, 0, "$lib loaded ok");
shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
and not eval { require blib; blib->VERSION('1.01') };
if (@_warnings)
{
warn @_warnings;
push @warnings, @_warnings;
t/00-compile.t view on Meta::CPAN
}
foreach my $file (@scripts)
{ SKIP: {
open my $fh, '<', $file or warn("Unable to open $file: $!"), next;
my $line = <$fh>;
close $fh and skip("$file isn't perl", 1) unless $line =~ /^#!\s*(?:\S*perl\S*)((?:\s+-\w*)*)(?:\s*#.*)?$/;
my @flags = $1 ? split(' ', $1) : ();
my $stderr = IO::Handle->new;
my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, @flags, '-c', $file);
binmode $stderr, ':crlf' if $^O eq 'MSWin32';
my @_warnings = <$stderr>;
waitpid($pid, 0);
is($?, 0, "$file compiled ok");
shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
and not eval { require blib; blib->VERSION('1.01') };
# in older perls, -c output is simply the file portion of the path being tested
if (@_warnings = grep { !/\bsyntax OK$/ }
grep { chomp; $_ ne (File::Spec->splitpath($file))[2] } @_warnings)
{
( run in 1.202 second using v1.01-cache-2.11-cpan-49f99fa48dc )