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 0.579 second using v1.01-cache-2.11-cpan-49f99fa48dc )