Front page | perl.qa |
Postings from November 2011
Re: Relying more on Mouse
From: Michael G Schwern
November 25, 2011 15:55
Re: Relying more on Mouse
Message ID: 4ED02AF9.firstname.lastname@example.org
On 2011.11.25 3:04 PM, chromatic wrote:
> On Friday, November 25, 2011 at 01:02 PM, Michael G wrote:
>> We did it once with Test::Harness::Straps, though not nearly that well
>> thought out, and it worked.
> Do you know anyone (besides me) who used it?
I know I dealt with some DarkPAN users, but it's been so long I can't
There's a handful on CPAN and in Google Code Search.
I agree it's not a scale test, but the mechanism worked.
>> I do see a work around. Document that TB2::Mouse can be used, but you MUST
>> add it as a dependency anyway.
> I hate to see the core (even implicitly) blessing Yet Another Object System.
The core hasn't blessed any object system, directly or indirectly, unless you
count the ad hoc messes previously cobbled together in the old OO tutorials.
So it's hard to say "yet another". But I'm willing to say whatever they come
up with in the future is going to look an awful lot like Moose.
One of the major problems with including a module in the core is its
*implicit* blessing. The core never said anything about whether a core module
was blessed or better than others, users just assumed it. With TB2::Mouse, we
have a chance to *explicitly* state the terms. If it's going to be for
internal TB2 use only, we can state that. If it's going to be a stop-gap
until a better OO system is core, we can state that.
Those old OO tutorials are going away BTW. Moose, Mouse, Class::Accessor,
Object::Tiny and Role::Tiny are all talked about in the new OO tutorial.
>> It won't work for the simple reason that if any dual-life CPAN module
>> decides to use a feature or bug fix of Test::More 1.5.0 then it can't be
> I'm also little enamored of pre-emptive coring.
> I'd like to see TB2 *used* outside of bootstrapping for a while first before
> considering it a replacement for TB.
There's some sort of misunderstanding or terminology mix up. The TB2 modules
cannot be separated from Test::More any more than Test::Builder can.
Test::Builder is using the TB2 infrastructure. Even if I chucked out the
whole event system, Test::Builder would still make use of TB2::Formatter.
I expect TB2 to go through an alpha period for a while. The current formal
alpha phase for compatibility with existing code, make sure nothing breaks.
Then a post-stable 1.5.0 phase where the TB2 interfaces are considered
unstable, so we can knock them around. I'm sure there will be plenty of
People can try TB2 out NOW and give feedback. Even if it's "I don't
understand this, the docs for X suck". That is useful! I'm so deep in the
design its hard for me to see that.
There are plenty of modules which could be rewritten right now far easier
using TB2. Off the top of my head...
Test::DebugOnFail (that's in the examples directory)
And I'm still waiting on someone taking a stab at an alternative output format
like JUnit or JSON.
I am somewhat preoccupied telling the laws of physics to shut up and sit down.
-- Vaarsuvius, "Order of the Stick"