This was caused by the tester having Perl::Critic::Nits installed, which is not 
part of core Perl::Critic.

Perl::Critic tests should NOT be enabled by default for any CPAN distribution.  
Do with your P::C test whatever you do with the rest of your author tests to 
prevent them running by default.

As others have said, you can specify the verbosity in a perlcriticrc file.  
Personally, I use this everywhere:

   verbose = %f: %m at line %l, column %c.  %e.  (Severity: %s, %p)\n

This includes the short name of the policy (the %p) at the end.

You could have blocked this policy and all other non-core policies using the 
theme option:

   theme = core

But you should still shouldn't allow it to run by default.  Let us say that 
your code is perfect as far as P::C is concerned.  Your distribution gets 
installed on thousands of peoples' machines and all the tests run perfectly on 
every single one of them.  A year goes by and everybody is happy (without you 
having to change a thing).  A new version of Perl::Critic comes out with a new 
policy which your code doesn't comply with (you evil person, your POD isn't 
written in Pig Latin!).  Suddenly, your code looks bad and no one can install 
your distribution.

You really don't want Perl::Critic being run as part of regular testing in a 
CPAN distribution.  (DarkPAN code is another matter.)

Reply via email to