123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- #!/usr/bin/perl
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
- # the Free Software Foundation; either version 2 of the License, or
- # (at your option) any later version.
- #
- # This program is distributed in the hope that it will be useful,
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- # GNU General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <https://www.gnu.org/licenses/>.
- use strict;
- use warnings;
- use Test::More;
- use Test::Dpkg qw(:needs);
- test_needs_author();
- test_needs_module('Test::Perl::Critic');
- test_needs_srcdir_switch();
- my @policies = qw(
- BuiltinFunctions::ProhibitBooleanGrep
- BuiltinFunctions::ProhibitLvalueSubstr
- BuiltinFunctions::ProhibitReverseSortBlock
- BuiltinFunctions::ProhibitSleepViaSelect
- BuiltinFunctions::ProhibitStringySplit
- BuiltinFunctions::ProhibitUniversalCan
- BuiltinFunctions::ProhibitUniversalIsa
- BuiltinFunctions::ProhibitUselessTopic
- BuiltinFunctions::ProhibitVoidGrep
- BuiltinFunctions::ProhibitVoidMap
- BuiltinFunctions::RequireBlockGrep
- BuiltinFunctions::RequireBlockMap
- BuiltinFunctions::RequireGlobFunction
- BuiltinFunctions::RequireSimpleSortBlock
- ClassHierarchies::ProhibitAutoloading
- ClassHierarchies::ProhibitExplicitISA
- ClassHierarchies::ProhibitOneArgBless
- CodeLayout::ProhibitHardTabs
- CodeLayout::ProhibitQuotedWordLists
- CodeLayout::ProhibitTrailingWhitespace
- CodeLayout::RequireConsistentNewlines
- ControlStructures::ProhibitCStyleForLoops
- ControlStructures::ProhibitLabelsWithSpecialBlockNames
- ControlStructures::ProhibitMutatingListFunctions
- ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions
- ControlStructures::ProhibitUntilBlocks
- Documentation::RequirePackageMatchesPodName
- InputOutput::ProhibitBarewordFileHandles
- InputOutput::ProhibitInteractiveTest
- InputOutput::ProhibitJoinedReadline
- InputOutput::ProhibitOneArgSelect
- InputOutput::ProhibitReadlineInForLoop
- InputOutput::ProhibitTwoArgOpen
- InputOutput::RequireBracedFileHandleWithPrint
- InputOutput::RequireCheckedOpen
- InputOutput::RequireEncodingWithUTF8Layer
- Miscellanea::ProhibitFormats
- Miscellanea::ProhibitUnrestrictedNoCritic
- Miscellanea::ProhibitUselessNoCritic
- Modules::ProhibitConditionalUseStatements
- Modules::ProhibitEvilModules
- Modules::RequireBarewordIncludes
- Modules::RequireEndWithOne
- Modules::RequireExplicitPackage
- Modules::RequireFilenameMatchesPackage
- NamingConventions::Capitalization
- Objects::ProhibitIndirectSyntax
- RegularExpressions::ProhibitSingleCharAlternation
- RegularExpressions::ProhibitUnusedCapture
- RegularExpressions::ProhibitUnusualDelimiters
- RegularExpressions::ProhibitUselessTopic
- RegularExpressions::RequireBracesForMultiline
- RegularExpressions::RequireExtendedFormatting
- Subroutines::ProhibitExplicitReturnUndef
- Subroutines::ProhibitNestedSubs
- Subroutines::ProhibitReturnSort
- Subroutines::ProhibitUnusedPrivateSubroutines
- Subroutines::ProtectPrivateSubs
- TestingAndDebugging::ProhibitNoStrict
- TestingAndDebugging::ProhibitNoWarnings
- TestingAndDebugging::RequireTestLabels
- TestingAndDebugging::RequireUseStrict
- TestingAndDebugging::RequireUseWarnings
- ValuesAndExpressions::ProhibitCommaSeparatedStatements
- ValuesAndExpressions::ProhibitComplexVersion
- ValuesAndExpressions::ProhibitInterpolationOfLiterals
- ValuesAndExpressions::ProhibitLongChainsOfMethodCalls
- ValuesAndExpressions::ProhibitMismatchedOperators
- ValuesAndExpressions::ProhibitMixedBooleanOperators
- ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters
- ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator
- ValuesAndExpressions::ProhibitVersionStrings
- ValuesAndExpressions::RequireConstantVersion
- ValuesAndExpressions::RequireQuotedHeredocTerminator
- ValuesAndExpressions::RequireUpperCaseHeredocTerminator
- Variables::ProhibitAugmentedAssignmentInDeclaration
- Variables::ProhibitConditionalDeclarations
- Variables::ProhibitLocalVars
- Variables::ProhibitMatchVars
- Variables::ProhibitPackageVars
- Variables::ProhibitPerl4PackageNames
- Variables::ProhibitUnusedVariables
- Variables::ProtectPrivateVars
- Variables::RequireLexicalLoopIterators
- Variables::RequireNegativeIndices
- );
- Test::Perl::Critic->import(
- -profile => 't/critic/perlcriticrc',
- -verbose => 8,
- -include => \@policies,
- -only => 1,
- );
- my @files = Test::Dpkg::all_perl_files();
- plan tests => scalar @files;
- for my $file (@files) {
- critic_ok($file);
- }
|