develooper Front page | perl.perl5.porters | Postings from July 2008

Re: [RFC] Dual-lifing test.pl

Thread Previous | Thread Next
From:
Reini Urban
Date:
July 1, 2008 06:32
Subject:
Re: [RFC] Dual-lifing test.pl
Message ID:
486A3392.9000502@x-ray.at
Nicholas Clark schrieb:
> On Mon, Jun 30, 2008 at 12:54:29PM -0400, Jerry D. Hedden wrote:
>> Jerry D. Hedden wrote:
>>> From what I can tell, there are well over a dozen dual-lived
>>> modules that incorporate test.pl into their distributions.
>>> Rather than continuing this trend, I would like to propose
>>> turning it into a module and dual-lifing it to CPAN.
>> Nicholas Clark wrote:
>>> Why are they using it, rather than something built from
>>> Test::Builder?  What does it offer that Test::Builder
>>> derived modules don't?
>> Jerry D. Hedden wrote:
>>> In my case of dual-lifing threads, threads::shared,
>>> Thread::Queue and Thread::Semaphore, it was because the
>>> tests were already written to use test.pl.  Thus, adding it
>>> to the distribution was easier than rewriting all the tests.
> 
> But, logically, those tests in the modules in core can be re-written to
> not use it [if, see below]
> 
>>> I would imagine that is also the case for the other
>>> dual-lived modules that use test.pl, but their maintainers
>>> could have other reasons.  Anybody?
>> Additionally, test.pl has certain functionality (e.g.,
>> fresh_perl() and watchdog()) not found in the Test::*
>> modules.
> 
> hence I think that a better solution would be to add just that code to a
> Test::Builder based module, either a new one, or an existing one if its
> maintainer is keen.

+1

> The core's test.pl is meant to be a subset of the Test::More functionality
> for core regression tests in t/* (distinct from tests in lib/* for modules
> shipped with core). To me it feels like scope creep if it also ends up dual-
> lived. It also means that we would have *two* core-supported test frameworks,
> which can't be used in the same test.

I rather keep my own t/test.pl (with added run_cc_test() in B::C) than 
requiring another external module. If I want another external dependency 
I could just use Test::More.
watchdog() is fine, but I better use alarm there.

$ head -n2 t/test.pl
#
# t/test.pl - most of Test::More functionality without the fuss


-- 
Reini Urban
http://phpwiki.org/  http://murbreak.at/

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About