[VPM] Solution for the MakeMaker question
Peter Scott
Peter at PSDT.com
Tue Sep 7 10:42:36 CDT 2004
>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.
Been busy with travel, just got to this.
I have had the same problem and I believe I've solved it the same
way. The only thing I do differently is that I want to be able to
execute my tests individually, and not be constrained to running them
from the parent directory. So I do either a
use lib qw(t/lib lib);
or use FindBin depending on whim. Then I can
cd t
./77foo.t
with impunity.
>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.
More information about the Victoria-pm
mailing list