Michael G Schwern <[EMAIL PROTECTED]> writes:
>On Fri, Aug 30, 2002 at 05:54:15PM +1000, Ken Williams wrote:
>> Oh, one big lib/, not several different ones?  So then why can't it be 
>> run with
>> 
>>  perl -Mblib=lib t/foo/bar.t
>> 
>> ?

blib was invented to allow just such usage.

>
>Because tests all try to run from t/.  That's what the chdir 't' is for.
>t/TEST does this for you and so do the tests themselves which makes it much
>more forgiving.  Otherwise it would be very picky and this:

If you look at it you will see it tries to hunt down the right things
allowing for fact you may have chdir'ed into t (or even deeper).

Patching blib.pm to "do the right thing" would be in its original spirit.


>
>    $ cd /path/to/src/perl
>    $ ./perl -Ilib t/foo/bar.t
>
>wouldn't work when you ran a test manually.  You'd have to do:
>
>    $ cd /path/to/src/perl/t
>    $ ./perl -I../lib foo/bar.t
>
>and always remember to run from t/.
>
>
>> I'm just trying to push the decision into a more appropriate place, 
>> though I guess in the end it's not such a big deal.
>
>This is already effectively done by the TestInit module but nobody trusts
>it.  t/TEST will run each test with -MTestInit.  t/harness does not so that
>will have to be somehow fixed.
>
>I usually do exactly that when I run them manually:
>
>    ./perl -Ilib lib/Foo/whatever.t.
>
>but that -Ilib isn't really necessary since the test does it.  If we remove
>the BEGIN block code and place that elsewhere things get more complicated
>when trying to run an individual test:
>
>    ./perl -It -MTestInit lib/Foo/whatever.t
>
>or
>
>    ./perl -I. -MTestInit ../lib/Foo/whatever.t
>
>
>What it boils down to is how to you remove the need for the cargo-cult BEGIN
>block in each test while still making it easy to run individual tests by
>hand?
-- 
Nick Ing-Simmons
http://www.ni-s.u-net.com/

Reply via email to