summaryrefslogtreecommitdiffstats
path: root/t/critic-core.ini
diff options
context:
space:
mode:
authorDylan Hardison <dylan@mozilla.com>2016-01-27 23:37:21 +0100
committerDylan Hardison <dylan@mozilla.com>2016-01-27 23:39:00 +0100
commita0f345b36eda134a8483be13fe75307f20809c54 (patch)
tree88fa276993693c43d931f79a98218a3232dcb4a3 /t/critic-core.ini
parent39d8526e3b986f42cce3d476319051238d5424e7 (diff)
downloadbugzilla-a0f345b36eda134a8483be13fe75307f20809c54.tar.gz
bugzilla-a0f345b36eda134a8483be13fe75307f20809c54.tar.xz
Bug 555438 - Improve the Bugzilla code base using Perl::Critic
r=dkl,a=dylan
Diffstat (limited to 't/critic-core.ini')
-rw-r--r--t/critic-core.ini79
1 files changed, 79 insertions, 0 deletions
diff --git a/t/critic-core.ini b/t/critic-core.ini
new file mode 100644
index 000000000..258913d1c
--- /dev/null
+++ b/t/critic-core.ini
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This Source Code Form is "Incompatible With Secondary Licenses", as
+# defined by the Mozilla Public License, v. 2.0.
+
+# This is the Perl::Critic policy file for Bugzilla.
+#
+# The general rule here is to only add one rule at a time to this file,
+# and generally only in situations where we will not generate many false
+# positives (requiring spammy # no critic entries) and where we will not
+# generate cargo cult behaviour in contributors.
+
+# start with very low requirements, should me moved to 4 soon
+severity = 5
+
+# Policies that are currently not implemented in the code
+# these should be fixed and removed from here one by one
+[-Subroutines::ProhibitExplicitReturnUndef]
+[-ValuesAndExpressions::ProhibitLeadingZeros]
+[-InputOutput::ProhibitTwoArgOpen]
+[-InputOutput::ProhibitBarewordFileHandles]
+[Variables::RequireLexicalLoopIterators]
+[-BuiltinFunctions::RequireGlobFunction]
+[-Variables::ProhibitConditionalDeclarations]
+[-Subroutines::ProhibitReturnSort]
+[-TestingAndDebugging::ProhibitNoStrict]
+[Subroutines::ProhibitSubroutinePrototypes]
+[-Subroutines::ProhibitNestedSubs]
+[-ControlStructures::ProhibitMutatingListFunctions]
+[-InputOutput::ProhibitInteractiveTest]
+
+
+
+######################################################################
+# Disabling critic sucks, configure a better policy
+
+[Miscellanea::ProhibitUnrestrictedNoCritic]
+severity = 5
+
+[Miscellanea::ProhibitUselessNoCritic]
+severity = 5
+
+
+
+
+
+######################################################################
+# Temporarily downgraded as the noise obscures more important tests
+[Subroutines::RequireFinalReturn]
+severity = 3
+
+[Subroutines::RequireArgUnpacking]
+severity = 3
+
+[Subroutines::ProhibitBuiltinHomonyms]
+severity = 3
+
+[Modules::ProhibitAutomaticExportation]
+severity = 3
+
+
+
+
+
+######################################################################
+# Policies that Bugzilla disagrees with or tolerates as worth the risk
+
+[-BuiltinFunctions::ProhibitStringyEval]
+#[-ClassHierarchies::ProhibitExplicitISA]
+[-CodeLayout::ProhibitHardTabs]
+#[-ControlStructures::ProhibitUnlessBlocks]
+#[-Subroutines::ProhibitExplicitReturnUndef]
+#[-TestingAndDebugging::ProhibitNoStrict]
+#[-TestingAndDebugging::ProhibitNoWarnings]
+#[-ValuesAndExpressions::ProhibitConstantPragma]
+#[-ValuesAndExpressions::ProhibitMixedBooleanOperators]
+#[-Variables::ProhibitPunctuationVars]