Login
81fa657a2f42fe20526c3ec0a50732767dab91eb
[gknop/Perl-Critic.git] / xt / author / 42_criticize-tests.t
1 #!perl
2
3 ##############################################################################
4 #      $URL$
5 #     $Date$
6 #   $Author$
7 # $Revision$
8 ##############################################################################
9
10 # Self-compliance tests
11
12 use strict;
13 use warnings;
14
15 use English qw( -no_match_vars );
16
17 use File::Spec qw();
18
19 use Perl::Critic::Utils qw{ :characters };
20 use Perl::Critic::TestUtils qw{ starting_points_including_examples };
21
22 # Note: "use PolicyFactory" *must* appear after "use TestUtils" for the
23 # -extra-test-policies option to work.
24 use Perl::Critic::PolicyFactory ( '-test' => 1 );
25
26 use Test::More;
27
28 #-----------------------------------------------------------------------------
29
30 our $VERSION = '1.116';
31
32 #-----------------------------------------------------------------------------
33
34 use Test::Perl::Critic;
35
36 #-----------------------------------------------------------------------------
37
38 # Fall over if P::C::More isn't installed.
39 use Perl::Critic::Policy::ErrorHandling::RequireUseOfExceptions;
40
41 #-----------------------------------------------------------------------------
42 # Set up PPI caching for speed (used primarily during development)
43
44 if ( $ENV{PERL_CRITIC_CACHE} ) {
45     require PPI::Cache;
46     my $cache_path =
47         File::Spec->catdir(
48             File::Spec->tmpdir,
49             "test-perl-critic-cache-$ENV{USER}",
50         );
51     if ( ! -d $cache_path) {
52         mkdir $cache_path, oct 700;
53     }
54     PPI::Cache->import( path => $cache_path );
55 }
56
57 #-----------------------------------------------------------------------------
58 # Run critic against all of our own files
59
60 my $rcfile = File::Spec->catfile( 'xt', 'author', '42_perlcriticrc-tests' );
61 Test::Perl::Critic->import( -profile => $rcfile );
62
63 all_critic_ok(
64     glob ('t/*.t'),
65     glob ('xt/author/*.t'),
66     'generate_without_optional_dependencies_wrappers.PL',
67 );
68
69 #-----------------------------------------------------------------------------
70
71 # Local Variables:
72 #   mode: cperl
73 #   cperl-indent-level: 4
74 #   fill-column: 78
75 #   indent-tabs-mode: nil
76 #   c-indentation-style: bsd
77 # End:
78 # ex: set ts=8 sts=4 sw=4 tw=78 ft=perl expandtab shiftround :