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.