#!perl use strict; BEGIN{ if (not $] < 5.006) { require warnings; warnings->import } } select(STDERR); $|=1; select(STDOUT); $|=1; use Test::More; use t::MockCPANDist; use t::Helper; use t::Frontend; use Config; my @toolchain= qw( CPAN Cwd ExtUtils::CBuilder ExtUtils::Command ExtUtils::Install ExtUtils::MakeMaker ExtUtils::Manifest ExtUtils::ParseXS File::Spec Module::Build Module::Signature Test::Harness Test::More version ); # paths # * cwd # * compiler # * $Config{make} # special handling # * umask # * locale -- how do I determine this? # * compiler tools versions plan tests => 1 + test_fake_config_plan() + 2 * @toolchain ; #--------------------------------------------------------------------------# # Fixtures #--------------------------------------------------------------------------# my ($got, $expect); #--------------------------------------------------------------------------# # Begin tests #--------------------------------------------------------------------------# require_ok('CPAN::Reporter'); test_fake_config(); $got = CPAN::Reporter::_toolchain_report(); $got =~ s{[^\n]+?\n[^\n]+?\n}{}; # eat headers my %parse = split " ", $got; my $modules = CPAN::Reporter::_version_finder( map { $_ => 0 } @toolchain ); for my $var ( sort @toolchain ) { my $mod_name = quotemeta($var); ok( exists $parse{$var}, "found toolchain module entry for '$var'" ); is( $parse{$var}, $modules->{$var}{have}, "version of '$var' is correct" ); }