views:

73

answers:

2

How can you change the default tests path in Makefile.PL from the default value t/*.t? There's an attribute mentioned in the documentation but it does not work. Anybody know how to that?

Thanks!

+2  A: 

In Makefile.PL:

WriteMakefile(
    test => { TESTS => 'tests/*.t'},
    ....

Will make make test run the tests scripts in tests instead of t.

innaM
This seems to work with the latest Makemaker, but it was broken for a while. That breakage led me to write Test::Manifest.
brian d foy
I thought that was because of the automatic sorting.
Schwern
I actually saw it in the documentation. But I didn't try it, I was a little confuse about it ( capital attributes and lowercase attributes). It's a bit confusing.
marghi
It is! Just don't think too much about it and give it a try.
innaM
@Schwern: a long time ago I used TESTS to set the order I wanted. You were working on something that broke that, I asked you about it, and you said "Don't do that". So I came up with another way. :)
brian d foy
+1  A: 

Manni's suggestion allows you to have the glob pattern that MakeMaker will use in the test targets, but that's still rather limited. I wrote Test::Manifest so that I could override those portions to do exactly what I needed to do. Even if you don't want to do the same thing that Test::Manifest does, you can look at the source to see what I did.

brian d foy
Awesome! Why didn't I know about that little nugget?
innaM