In case anyone was interested in the solution to the question I posted on August 30 of subject "MakeMaker question", I have it here.

In order for 'make test' to see a perl module that is being stored under the t/ directory in a Perl module distribution, rather than the lib/ directory with the main modules, I found that adding a simple "use lib 't/';" (or in my case, "use lib 't/lib/';") to the top of each of my t/*.t files did the trick. No change to the Makefile.PL necessary.

FYI: My having asked the question to you in the first place was due to some mistaken assumptions on my part as to what happens during the install process. For one thing, I had assumed that 'make' would be copying the test files to some special location known to it, somewhere under blib/, and so I would have no idea for where to make a "use lib ..." point to. Also, I had assumed that "use lib ..." only took absolute paths such as "/home/user/foo" (I only saw it used that way before) and hence I couldn't use it because I didn't know the layout of the end user's system. Taken together, I thought MakeMaker would have to calculate some things. However, now that I know that, 1, "use lib ..." can take relative paths, and 2, the current working directory *during* the tests remains the same as where you were before starting the install process, everything looks much simpler, and my bad assumptions are gone.

So, all's well that end's well. Thanks to Tim Bunce for pointing me in the right direction.

I have now applied the relevant change to all 4 of my distributions that used tests-only modules, and the newer distros have been uploaded to CPAN over the last few days; users are now saved some pollution.

Have a good day. -- Darren Duncan

Reply via email to