in reply to make test fails for Devel::Symdump

What is the output of t/symdump.t when it fails?

You can run t/symdump.t alone by running the following line from where you unpacked Devel::SymDump:

perl -Iblib/lib -w t/symdump.t

Replies are listed 'Best First'.
Re^2: make test fails for Devel::Symdump
by itspaulryan (Initiate) on Jan 24, 2009 at 23:11 UTC
    Many thanks for prompt reply. I ran the test as you instructed. Here is the output. Looks like test at line 51 of symdump.t is failing but the same test succeeds with /usr/perl5/bin/perl.
    $/usr/local/pkgs/perl-5.10.0/bin/perl -Iblib/lib -w t/symdump.t 1..13 ok 1 - main::DATA main::Hmmmm main::STDERR main::STDIN main::STDOUT ma +in::stderr main::stdin main::stdout not ok 2 - ^H @ Config ENV INC SIG # Failed test '^H @ Config ENV INC SIG' # at t/symdump.t line 51. ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 # Looks like you failed 1 test of 13. $ $ $ $ /usr/perl5/bin/perl -Iblib/lib -w t/symdump.t 1..13 ok 1 - main::DATA main::Hmmmm main::STDERR main::STDIN main::STDOUT ma +in::stderr main::stdin main::stdout ok 2 - @ ENV INC SIG ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 $

      That test enumerates the hashes Symdump finds in the main package. It's finding

      • %^H
      • %@
      • %Config
      • %ENV
      • %INC
      • %SIG

      It is finding everything else it is expecting to find, but it's not expecting to find %Config. Some patch or OS-specific feature must be loading Config. It's not a failure of the module, it's a failure of the test. It is safe to ignore this failure.

        Thanks for answer. I quickly did a truss to find out who is loading Config.pm and found that it is Test::More who actually loads Config.pm via Test::Builder. It is unfortunate that it gets called on both perl versions but only 5.10 fails :(
        my_perl:stat("blib/lib/Config.pm", 0xFFFFFD7FFFDFD640) Err#2 ENOENT my_perl:stat("/usr/local/pkgs/perl-5.10.0/lib/i86pc-solaris/Config.pm" +, 0xFFFFFD7FFFDFD640) = 0 my_perl:open("/usr/local/pkgs/perl-5.10.0/lib/i86pc-solaris/Config.pm" +, O_RDONLY) = 5 my_perl:stat("blib/lib/Config_heavy.pl", 0xFFFFFD7FFFDFD050) Err#2 ENO +ENT my_perl:stat("/usr/local/pkgs/perl-5.10.0/lib/i86pc-solaris/Config_hea +vy.pl", 0xFFFFFD7FFFDFD050) = 0 my_perl:open("/usr/local/pkgs/perl-5.10.0/lib/i86pc-solaris/Config_hea +vy.pl", O_RDONLY) = 5 vendor_perl:stat64("./Config.pmc", 0x08045DA0) Err#2 ENOENT vendor_perl:open64("./Config.pm", O_RDONLY) Err#2 +ENOENT vendor_perl:stat64("blib/lib/Config.pmc", 0x08045DA0) Err#2 ENOENT vendor_perl:open64("blib/lib/Config.pm", O_RDONLY) Err#2 +ENOENT vendor_perl:stat64("/usr/perl5/5.8.4/lib/i86pc-solaris-64int/Config.pm +c", 0x08045DA0) Err#2 ENOENT vendor_perl:open64("/usr/perl5/5.8.4/lib/i86pc-solaris-64int/Config.pm +", O_RDONLY) = 6

      I'm sorry, but I can't help you further here. It works for me (latest development Perl "bleadperl", 5.11) on Windows. Maybe somebody with experience on Solaris can help out.

      This is perl, v5.11.0 (GitLive-blead-418-g8e1694d*) built for MSWin32- +x86-multi- thread Copyright 1987-2009, Larry Wall ... C:\Temp\Devel-Symdump-2.08>\Projekte\bleadperl-git\perl -Iblib/lib -w +t\symdump.t 1..13 ok 1 - main::DATA main::Hmmmm main::STDERR main::STDIN main::STDOUT ma +in::stderr main::stdin main::stdout ok 2 - ^H @ ENV INC SIG ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13
        Thanks Corion.