Christopher H. Laco wrote:
> I offer this word of warning. If you have too many tests, or many
> longly-named tests, win32 will in all likelyhood barf with a command
> line too long error.
>
> I had this problem in Handel (too many tests..it's a good problem to
> have really), and even after updating EU::MM and all of my other Test::
> bits, I still had the problems.

/me looks at the bug tracker.
/me fails to find a report.
/me goes back to bed.

Got anything a bit more repeatable so it can be fixed?

Actually, I see the problem.

    test  => { TESTS => join ' ', (glob("t/*.t")) }

Handel is pre-expanding the glob, not MM.  That's why all the updating in the 
world wouldn't fix it.


> Some people do. Some people don't. It seems to be a crapshoot. But the
> only consistant fix for me was to keep all of my tests in t/, and to not
> use the test => {TESTS} idium....

The TESTS => "t/*.t t/*/*.t" idiom should be safe in modern MakeMakers as it 
*does not expand the glob* before handing the command off to the shell.  That 
was the old behvior.  Now it does the glob expansion itself once its already 
inside ExtUtils::Command::MM::test_harness().

This was fixed about two years ago.

6.25_01  Fri Dec 17 21:29:04 EST 2004
    - 'make test' on Windows no longer pre-expands its list of test files.
      This caused problems on large distributions like bioperl.  Thanks to
      Tim Bunce for suggesting the obvious fix.


> I also had the same issue when using M::I w/Makefile.PL, which is just
> EU::MM underneath I assume.

MI violates MM's encapsulation (such as it is) with various squealing farm 
animals all the live long day.  So no, MI is not just MM underneath.  One of 
the things it does is pre-expand the test glob.

Reply via email to