CPAN

 view release on metacpan or  search on metacpan

t/30shell.t  view on Meta::CPAN

        print "1..0 # SKIP YAML too old for this test\n";
        eval "require POSIX; 1" and POSIX::_exit(0);
    }
  TABU: for my $tabu (qw(
                         CPAN::Test::Dummy::Perl5::Make
                         CPAN::Test::Dummy::Perl5::Make::ConfReq
                         CPAN::Test::Dummy::Perl5::Build::Fails
                         CPAN::Test::Dummy::Perl5::Make::CircDepeOne
                         CPAN::Test::Dummy::Perl5::Make::CircDepeTwo
                         CPAN::Test::Dummy::Perl5::Make::CircDepeThree
                         CPAN::Test::Dummy::Perl5::Make::Features
                         CPAN::Test::Dummy::Perl5::Make::UnsatPrereq
                        )) {
        my $f = $tabu;
        $f =~ s|::|/|g;
        $f .= ".pm";
        if (eval qq{require $tabu; 1}) {
            my $exit_message = "Found module '$tabu' installed at $INC{$f}. Cannot run this test.";
            print "1..0 # SKIP $exit_message\n";
            eval "require POSIX; 1" and POSIX::_exit(0);
        }
    }
}

# all tests try to answer questions. If somebody sets
# PERL_MM_USE_DEFAULT to true just to prevent blocking when I ask
# questions, they break these tests.
$ENV{PERL_MM_USE_DEFAULT} = 0;

use File::Copy qw(cp);
use File::Path qw(rmtree mkpath);

use lib "t";
use local_utils;

local_utils::cleanup_dot_cpan();
local_utils::prepare_dot_cpan();

BEGIN {
    for my $x ("_f",
               "_d",
               "read_myconfig",
               "mydiag",
               "mreq",
               "splitchunk",
               "test_name",
               "run_shell_cmd_lit",
              ) {
        no strict "refs";
        *$x = \&{"local_utils\::$x"};
    }
}

{
    local *FH;
    open *FH, (">"._f"t/dot-cpan-$$/build/Something-From-Builddir-0.00.yml") or die;
    my @stat = stat $^X;
    my $dll = eval {OS2::DLLname()};
    my $mtime_dll = 0;
    if (defined $dll) {
        $mtime_dll = (-f $dll ? (stat(_))[9] : '-1');
    }
    print FH <<EOF;
---
distribution: !!perl/hash:CPAN::Distribution
  ID: A/AN/ANDK/Something-From-Builddir-0.00.tar.gz
  RO:
    CPAN_COMMENT: ~
    CPAN_USERID: ANDK
  archived: tar
  make: !!perl/hash:CPAN::Distrostatus
    COMMANDID: 78
    FAILED: ''
    TEXT: YES
  make_test: !!perl/hash:CPAN::Distrostatus
    COMMANDID: 78
    FAILED: ''
    TEXT: YES
  unwrapped: !!perl/hash:CPAN::Distrostatus
    COMMANDID: 78
    FAILED: ''
    TEXT: YES
  writemakefile: !!perl/hash:CPAN::Distrostatus
    COMMANDID: 78
    FAILED: ''
    TEXT: YES
perl:
  \$^X: "$^X"
  mtime_dll: "$mtime_dll"
  sitearchexp: "$Config::Config{sitearchexp}"
  mtime_\$^X: $stat[9]
time: 1
EOF
}
    close FH; #attempt to fix RT#43779
cp _f"t/CPAN/authors/id/A/AN/ANDK/CHECKSUMS.2nd",
    _f"t/dot-cpan-$$/sources/authors/id/A/AN/ANDK/CHECKSUMS"
    or die "Could not cp t/CPAN/authors/id/A/AN/ANDK/CHECKSUMS.2nd ".
    "over t/dot-cpan-$$/sources/authors/id/A/AN/ANDK/CHECKSUMS: $!";
cp _f"t/CPAN/CpanTestDummies-1.55.pm",
    _f"t/dot-cpan-$$/Bundle/CpanTestDummies.pm" or die
    "Could not cp t/CPAN/CpanTestDummies-1.55.pm over ".
    "t/dot-cpan-$$/Bundle/CpanTestDummies.pm: $!";
cp _f"distroprefs/ANDK.CPAN-Test-Dummy-Perl5-Make-Expect.yml",
    _f"t/dot-cpan-$$/prefs/ANDK.CPAN-Test-Dummy-Perl5-Make-Expect.yml" or die
    "Could not cp distroprefs/ANDK.CPAN-Test-Dummy-Perl5-Make-Expect.yml to ".
    "t/dot-cpan-$$/prefs/ANDK.CPAN-Test-Dummy-Perl5-Make-Expect.yml: $!";

my $cwd = Cwd::cwd;

open FH, (">" . _f"t/dot-cpan-$$/prefs/TestDistroPrefsFile.yml") or die "Could not open: $!";
print FH <<EOF;
---
comment: "Having more than one yaml variable per file is OK?"
match:
  distribution: "matches never^"
---
match:
  module: "CPAN::Test::Dummy::Perl5::Build::Fails"
patches:
  - "$cwd/t/CPAN/TestPatch.txt"



( run in 2.090 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )