You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
system-tests/t/tap-tests-docker/perlcriticrc

110 lines
3.0 KiB

# HEADER: generated by Dockerfile from jenkins-tap-test-jessie!
# NOTE: When switching the output format we also need to adjust perlcritic_tap
# accordingly:
verbose = at l%l:c%c [severity %s] %p = %m (with Sipwise overrides from <https://gerrit.mgm.sipwise.com/gitweb?p=system-tests.git;a=blob;f=t/tap-tests-docker/perlcriticrc>) near '%r'\n
severity = 4
program-extensions = .pl .t
##
## Tune and upgrade checks
##
[BuiltinFunctions::ProhibitStringySplit]
severity = 4
# Use Module::Runtime for includes
[BuiltinFunctions::ProhibitStringyEval]
allow_includes = 1
[CodeLayout::ProhibitQuotedWordLists]
severity = 4
# Not active, severity 3
[ControlStructures::ProhibitCascadingIfElse]
max_elsif = 15
[Documentation::RequirePodSections]
severity = 4
# Let's keep this simple for now.
lib_sections = NAME | DESCRIPTION | LICENSE | AUTHOR
script_sections = NAME | SYNOPSIS | DESCRIPTION | LICENSE | AUTHOR
# Not active, severity 1
[InputOutput::RequireCheckedSyscalls]
functions = :builtins
exclude_functions = print
[TestingAndDebugging::RequireUseStrict]
equivalent_modules = strictures Sipwise::Base HTML::FormHandler::Moose Mojo::Base
[TestingAndDebugging::RequireUseWarnings]
equivalent_modules = strictures Sipwise::Base HTML::FormHandler::Moose Mojo::Base
[Variables::RequireInitializationForLocalVars]
severity = 4
[ValuesAndExpressions::ProhibitImplicitNewlines]
severity = 4
[ValuesAndExpressions::RequireUpperCaseHeredocTerminator]
severity = 4
##
## Exclusions
##
[-ControlStructures::ProhibitPostfixControls]
[-ControlStructures::ProhibitUnlessBlocks]
# XXX: Too many false positives.
[-ControlStructures::ProhibitUnreachableCode]
# XXX: Might want to use while development is going on.
[-ControlStructures::ProhibitYadaOperator]
# XXX: Perhaps. Enable per project.
[-InputOutput::RequireBriefOpen]
# Wrong. This recommends using the unsafe <>/<ARGV> operator.
[-InputOutput::ProhibitExplicitStdin]
# Depends on existing APIs, might break too much code. Enable per project.
[-Modules::ProhibitAutomaticExportation]
# XXX: Nice, but might trip on some code? Ideally enabled per project.
[-Modules::ProhibitMultiplePackages]
# XXX: Nice, but might trip on too much code? Ideally enabled per project.
[-Objects::ProhibitIndirectSyntax]
[-RegularExpressions::RequireDotMatchAnything]
[-RegularExpressions::RequireLineBoundaryMatching]
# Too many hits, and annoying for small projects, should be enabled for big
# and clean projects.
[-Subroutines::RequireFinalReturn]
# XXX: Nice, but might trip on too much code? Ideally enabled per project.
[-Subroutines::RequireArgUnpacking]
# Too annoying, and forces to use English.
[-Variables::ProhibitPunctuationVars]
# XXX: ngcp-panel depends on this, ideally enabled per project.
[-Variables::RequireNegativeIndices]
# Requires using the non-core Readonly module.
[-ValuesAndExpressions::ProhibitConstantPragma]
[-ValuesAndExpressions::ProhibitEmptyQuotes]
[-ValuesAndExpressions::ProhibitNoisyQuotes]
# Too annoying.
[-ValuesAndExpressions::ProhibitMagicNumbers]
# Too annoying.
[-ValuesAndExpressions::RequireNumberSeparators]