Front page | perl.qa |
Postings from November 2011
Re: Dual life t/test.pl?
From: Michael G Schwern
November 18, 2011 18:21
Re: Dual life t/test.pl?
Message ID: 4EC7128D.firstname.lastname@example.org
On 2011.11.17 4:08 AM, Nicholas Clark wrote:
>> 1) It's not really my goal to make it distributable as a CPAN module,
>> but as just something you copy.
> It continues to be my goal to reduce the amount of effort needed to support
> the core. Exposing more of the internals runs counter to this.
>> 2) Test::More would lose the benefit of improvements from p5p.
>> 3) p5p would lose the benefit of improvements from Test::More.
> The core is using Test::More for pretty much every core-maintained test
> outside of t/
> One of the things I've been working on slowly is trying to turn "pretty
> much" to "every", by removing each impediment in turn.
> p5p continues to benefit from Test::More, and certainly I'm grateful for
> your continued work on that. (I assume everyone else is)
Sorry, I think I wasn't clear. It wasn't meant as a "I'm taking Test::More
and going home" screed.
I was only commenting on FC's suggestion to fork t/test.pl. That is, when
Test::More patches its copy of t/test.pl p5p can benefit. And when p5p
patches t/test.pl Test::More can benefit. That only works if I keep them in sync.
>> The library upon which 372 core tests rely is undocumented and untested.
>> Moving it into its own repo and tracker allows it to be tested and stable
>> without having to go through the p5p memorial bike shed.
> That's the entire bloody point. It's not *meant* to be assumed to be stable.
> It's an internal implementation detail of testing the core.
I think this is the key point on which we fundamentally disagree, and we can't
go further without clearing this one up.
If I'm hearing you correctly, your argument is that t/test.pl is internal to
the core and does not need to be documented or tested. Docs are for
publishing stable APIs. Tests are for checking regression against those
My argument is that in order to write tests using t/test.pl, core developers
need to know how to use it. That's what docs would be for. What does
fresh_perl() do, what are it's arguments and limitations? What about
run_multiple_progs()? display()? within()? like_yn()? That t/test.pl lacks
documentation is a barrier to core developers writing tests. Just because
it's internal to the core doesn't mean people magically know how to use it.
Tests for t/test.pl have a similar argument. They make sure that the basis
for our core testing system works and continues to work. They ensure that
changes to how it works are deliberate and not accidental.
Docs and tests are something t/test.pl needs, dual-life or not. If we don't
agree on that, then this isn't going anywhere.
29. The Irish MPs are not after "Me frosted lucky charms".
-- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army