Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

So much for Test::* :)

by BrowserUk (Patriarch)
on Oct 22, 2008 at 23:27 UTC ( [id://718898]=perlquestion: print w/replies, xml ) Need Help??

BrowserUk has asked for the wisdom of the Perl Monks concerning the following question:

Trying to install Test::More v0.84 and when I attempt to run its tests:

[+] c:\Perl\packages\Test-Simple-0.84>nmake test Microsoft (R) Program Maintenance Utility Version 7.00.9466 Copyright (C) Microsoft Corporation. All rights reserved. C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harn +ess(0, 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/*......t/*.t does not exist t/*/*....t/*/*.t does not exist FAILED--2 test scripts could be run, alas--no output ever seen NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x2' Stop.

Clues anyone?


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re: So much for Test::* :)
by almut (Canon) on Oct 22, 2008 at 23:42 UTC

    Just a guess... but maybe the shell is expected to expand the * wildcards?

    Update: ...apparently not, as ExtUtils::Command::MM::test_harness() has

    + # Because Windows doesn't do this for us and listing all the *.t files # out on the command line can blow over its exec limit. require ExtUtils::Command; my @argv = ExtUtils::Command::expand_wildcards(@ARGV);

    which is implemented as

    my $wild_regex = $Is_VMS ? '*%' : '*?'; sub expand_wildcards { @ARGV = map(/[$wild_regex]/o ? glob($_) : $_,@ARGV); }

    No idea why this apparently doesn't work for you.

      maybe the shell is expected to expand the * wildcards?

      Well yes. But isn't one of the primary reasons for Perl's existance, Mr.Wall's frustration with clunky shell syntax?

      And isn't the reason for having EU::MM et al. to take care of these kinds of platform differences?

      I should have been less terse. I was hoping for a clue as to how to go about fixing up the makefile.pl to get beyond the problem?

      If it helps, I've bypassed it for now by c&ping the command line issued and prefixing it:

      c:\Perl\packages\Test-Simple-0.84> C:\Perl\bin\perl.exe -e"BEGIN{@ARGV=map{glob}@ARGV}" ###### I added this ####### "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/00test_harness_check..........ok t/bad_plan......................ok t/bail_out......................ok ... t/Tester/tbt_07args.............ok t/thread_taint..................ok t/threads.......................ok t/todo..........................ok t/undef.........................ok t/use_ok........................ok t/useing........................ok t/utf8..........................skipped all skipped: Not yet implemented All tests successful, 4 tests and 13 subtests skipped. Files=79, Tests=594, 7 wallclock secs ( 0.00 cusr + 0.00 csys = 0.0 +0 CPU)

      which works okay, but I'd prefer a more permanent solution.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
      Is there any spaces in the path of the build dir?
Re: So much for Test::* :)
by ikegami (Patriarch) on Oct 23, 2008 at 00:26 UTC
    Works for me.
    >cd Test-Simple-0.84 >perl Makefile.PL WARNING: META_MERGE is not a known parameter. Checking if your kit is complete... Looks good 'META_MERGE' is not a known MakeMaker parameter name. Writing Makefile for Test::Simple >nmake ... >nmake test Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. C:\progs\perl588\bin\perl.exe "-MExtUtils::Command::MM" "-e" " +test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/00test_harness_check..........ok t/bad_plan......................ok t/bail_out......................ok t/BEGIN_require_ok..............ok ... t/undef.........................ok t/use_ok........................ok t/useing........................ok t/utf8..........................skipped all skipped: Not yet implemented All tests successful, 5 tests and 13 subtests skipped. Files=79, Tests=587, 13 wallclock secs ( 0.00 cusr + 0.00 csys = 0.0 +0 CPU)
      Works for me.

      With a standard build of Perl? Or your own build that you've enabled -DPERL_EXTERNAL_GLOB on?

      Cos I ain't imagining it:

      c:\Perl\packages\Test-Simple-0.84>nmake test Microsoft (R) Program Maintenance Utility Version 7.00.9466 Copyright (C) Microsoft Corporation. All rights reserved. C:\Perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harn +ess(0, 'blib\lib', 'blib\arch')" t/*.t t/*/*.t t/*......t/*.t does not exist t/*/*....t/*/*.t does not exist FAILED--2 test scripts could be run, alas--no output ever seen NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x2' Stop. c:\Perl\packages\Test-Simple-0.84>perl -v This is perl, v5.8.6 built for MSWin32-x86-multi-thread (with 3 registered patches, see perl -V for more detail) Copyright 1987-2004, Larry Wall Binary build 811 provided by ActiveState Corp. http://www.ActiveState. +com ActiveState is a division of Sophos. Built Dec 13 2004 09:52:01 ...

      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

        Just standard ActivePerl

        >perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread (with 12 registered patches, see perl -V for more detail) Copyright 1987-2007, Larry Wall Binary build 824 [287188] provided by ActiveState http://www.ActiveSta +te.com Built Sep 3 2008 11:14:55

        Nothing special with globbing.

        >perl -le"print for @ARGV;" *.* *.*

        In case it matters,

        >perl -MExtUtils::Command -le"print ExtUtils::Command->VERSION" 1.14 >perl -MExtUtils::Command::MM -le"print ExtUtils::Command::MM->VERSION +" 6.44
      You should not have gotten a warning about META_MERGE, it's only used if MakeMaker's $VERSION is higher than 6.44. What version of ExtUtils::MakeMaker is that and who shipped it?
        >perl -MExtUtils::MakeMaker -le"print ExtUtils::MakeMaker->VERSION" 6.4401 >perl -v This is perl, v5.8.8 built for MSWin32-x86-multi-thread (with 12 registered patches, see perl -V for more detail) Copyright 1987-2007, Larry Wall Binary build 824 [287188] provided by ActiveState http://www.ActiveSta +te.com Built Sep 3 2008 11:14:55

        I don't know if it came with the ActivePerl or it if it was installed in a cpan shell upgrade. Let me know if you want me to do a fresh install.

Re: So much for Test::* :)
by Anonymous Monk on Oct 23, 2008 at 00:28 UTC
    You need a different MakeMaker version, I've tried it and it works for sure with 6.31.
      ExtUtils-MakeMaker-6.48 failed for me in t\prereq.t with I::Do::Not::Exist defines neither package nor VERSION--version check failed at site/lib/version/vpp.pm line 405. apparently MakeMaker has prerequisite use version 0.74; but its not listed.
        MakeMaker does not require version.pm, but it will use it if available. No released version of version.pm has the bug above, though some unreleased version might. Are you using a development version of perl or perhaps some horrible hacked Redhat derivative? PS The MakeMaker bug tracker is not Perlmonks but here: http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker bitching on Perlmonks will not get things fixed.
Re: So much for Test::* :)
by schwern (Scribe) on Oct 24, 2008 at 00:25 UTC

    First off, thank you to David Landgren for remembering that Perlmonks is not the Test::More bug tracker and thinking to mention this issue to me. Bitching on Perlmonks might get you a work around, but it won't fix the underlying problem. The bug tracker is here: http://code.google.com/p/test-more/issues

    This concludes my quasi-annual bitching at Perlmonks.

    The issue at hand appears to be that MakeMaker only added manual glob expansion of tests in 6.27. I can't pre-expand them in the Makefile.PL else it will blow out the shell exec length limit on some platforms. In theory, I could have Test::More depend on MakeMaker 6.27 since there's no circularity. I'm not sure.

    Anyhow, somebody report the bug.

      Using Google Code might be a convenient way for you, as the module programmer, but it doesn't allow anonymous/no sign-up submission of bug reports. And as I don't want to be tracked by Google and hence have no Google Accounts (or cookies), this precludes me from reporting bugs to Google-hosted modules, like WWW::Mechanize and EU:MM. This is a bit unfortunate, but might explain why other people will submit bug reports here and on http://rt.cpan.org instead, where they can also be found by others in case the author is unresponsive.

      Perlmonks is not the Test::More bug tracker...

      Maybe not. But it is the place where mortals come looking for solutions to perl problems.

      You may not feel it worth your time to check by more than semi-annually, but maybe the thousands of perl users here don't have the time to go looking for wherever you've decided to hang out this month either.


      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        First of all, the author who give code away for free have no obligation what so ever to find out where people might complain about bugs to the authors software.

        Second, if the thousands of perl users have time to hang out on perlmonks and bitch about code they didn't write, but apparently don't have the time to scroll to the bottom of the manual page to find out where to report bugs, or learn the authors email address, well, I won't feel any pity for them.

        And I know that the mentioned email address has been used by Schwern longer than Perlmonks exist.

      ...This concludes my quasi-annual bitching at Perlmonks.
      Your bitch factor is waay low this quasi

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://718898]
Approved by SankoR
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2024-04-16 17:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found