Subject: | t/12cpan.t fails on Win32 |
Report is for 1.86
Running 12cpan.t yeilds the following
-------------------------------------------
C:\DOCUME~1\adam\LOCALS~1\Temp\cpan\build\CPAN-1.86>perl -Iblib\arch
-Iblib\lib
t/12cpan.t
1..3
Can't call method "mywarn" on an undefined value at
blib\lib/CPAN/HandleConfig.p
m line 70.
Compilation failed in require at blib\lib/CPAN.pm line 7.
BEGIN failed--compilation aborted at blib\lib/CPAN.pm line 7.
Compilation failed in require at t/12cpan.t line 10.
# Looks like your test died before it could output anything.
-------------------------------------------
It's a very straight forward error.
The steps are, quite simply...
1. It requires CPAN::Config
2. It requires CPAN
3. It does some Win32-specific code.
-----------------------------------------
CPAN::HandleConfig::CODE(0xe8a964)(blib\lib/CPAN/HandleConfig.pm:63):
63: if ($^O eq "MSWin32") {
DB<2> s
CPAN::HandleConfig::CODE(0xe8a964)(blib\lib/CPAN/HandleConfig.pm:64):
64: for my $k (qw(
65: mbuild_install_build_command
66: make_install_make_command
67: )) {
DB<2> n
CPAN::HandleConfig::CODE(0xe8a964)(blib\lib/CPAN/HandleConfig.pm:68):
68: delete $keys{$k};
DB<2>
CPAN::HandleConfig::CODE(0xe8a964)(blib\lib/CPAN/HandleConfig.pm:69):
69: if (exists $CPAN::Config->{$k}) {
DB<2>
CPAN::HandleConfig::CODE(0xe8a964)(blib\lib/CPAN/HandleConfig.pm:70):
70: $CPAN::Frontend->mywarn("deleting previously set
config vari
able ".
71: "'$k' =>
'$CPAN::Config->{$k}'");
DB<2> x $k
0 'mbuild_install_build_command'
DB<3> n
Can't call method "mywarn" on an undefined value at
blib\lib/CPAN/HandleConfig.p
m line 70.
Compilation failed in require at blib\lib/CPAN.pm line 7.
BEGIN failed--compilation aborted at blib\lib/CPAN.pm line 7.
Compilation failed in require at t/12cpan.t line 10.
# Looks like your test died before it could output anything.
Debugged program terminated. Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
DB<3>
------------------------------------------
When it tries to warn, it uses the module that isn't loaded yet, and so
it dies.