Fun with App::Prove::Plugin

Andy Armstrong andy at hexten.net
Tue Feb 3 12:29:16 GMT 2009


On 3 Feb 2009, at 08:23, Steve Purkis wrote:
> This would make it possible to set whatever you like on the app before
> TAP::Harness ever gets called.  IE: a lot of flexibility for one lazy
> line of code.  Of course, that would break current plugin API... but
> then, I can only see 1 other module on CPAN that uses it.
>
> Thoughts?


Well it'd certainly be nice to do something with the plugin  
architecture :)

I'm slightly conflicted over the idea of having plugins expose first- 
class command line switches. It's cute and it saves typing - but runs  
the risk of namespace clashes. And I'm not sure it's a good UI. Having  
new options automagically appear when a plugin is installed hurts  
discoverability.

On machine A I discover that prove supports the --foo option - so I  
got to machine B and try the same thing - but --foo is rejected. So I  
update App::Prove since I obviously have an out of date version - but  
--foo still doesn't work. What do I do next?

Perl's -M/m/d switch is a good interface from that point of view -  
because it makes it explicit that you're loading a module.

-- 
Andy Armstrong, Hexten





More information about the tapx-dev mailing list