Perl::Critic itself divides up its self-compliance tests. It tests all of its code one way, goes back and tests all of the Policies in an additional way, tests the tests another way, and then tests the Policy-testing .run files yet another. Have a look at the 4\d_.* files in http://cpansearch.perl.org/src/ELLIOTJS/Perl-Critic-1.097_002/xt/author/