1use strict;
2use warnings;
3use Test::More;
4
5eval {
6    require Perl::Critic;
7    Perl::Critic->VERSION(1.105);
8
9    require Test::Perl::Critic;
10    Test::Perl::Critic->VERSION(1.02);
11    Test::Perl::Critic->import(
12        -profile => \(join q{}, <DATA>)
13    );
14};
15note $@ if $@;
16plan skip_all => "Perl::Critic 1.105+ or Test::Perl::Critic 1.02+ is not installed." if $@;
17
18all_critic_ok('lib', 'script', 'bin');
19
20__END__
21
22only=1
23
24# -------------------------------------------------------------------------
25# Not important.
26
27[BuiltinFunctions::ProhibitSleepViaSelect]
28[BuiltinFunctions::RequireGlobFunction]
29[ClassHierarchies::ProhibitOneArgBless]
30
31# -------------------------------------------------------------------------
32# Bug detection
33[InputOutput::ProhibitBarewordFileHandles]
34[Modules::RequireFilenameMatchesPackage]
35[Subroutines::ProhibitNestedSubs]
36[Subroutines::ProhibitReturnSort]
37[TestingAndDebugging::RequireUseStrict]
38[Variables::ProhibitConditionalDeclarations]
39[Variables::RequireLexicalLoopIterators]
40
41[TestingAndDebugging::ProhibitNoStrict]
42allow=refs
43
44# -------------------------------------------------------------------------
45# Security issue detection
46[InputOutput::RequireEncodingWithUTF8Layer]
47[Modules::ProhibitEvilModules]
48[InputOutput::ProhibitTwoArgOpen]
49
50