Nik Clayton wrote: > Paul Johnson wrote: >> On Thu, Feb 08, 2007 at 09:26:01AM +0000, Nik Clayton wrote: >> >>> [ I vaguely recall a discussion about this, but my search-fu is weak, >>> and I can't find it ] >>> >>> Is there a standard way/idiom to get ExtUtils::MakeMaker to support >>> tests in subdirectories of t/? >>> >>> I've got a bunch of tests, and rather than client-ls.t, client-add.t, >>> client-commit.t, etc, I'd like t/client/ls.t, t/client/add.t, >>> t/client/commit.t, and so on. >> >> I have this in one of my Makefile.PLs, which seems to be just about >> what you >> are looking for: >> >> WriteMakefile >> ( >> ... >> test => { TESTS => "t/*/*.t" }, >> ... >> ); > > Ah. My mistake for not being clear enough. I want to run t/*.t and > t/*/*.t. > > Of course, I tried > > test => { TESTS => [ "t/*.t", "t/*/*.t" ] }, > > and it doesn't work. It's just occurred to me that I'm trying to be too > clever. > > test => { TESTS => "t/*.t t/*/*.t" }, > > works perfectly. > > N > >
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. 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.... I also had the same issue when using M::I w/Makefile.PL, which is just EU::MM underneath I assume. -=Chris
signature.asc
Description: OpenPGP digital signature