From 5c6c93c76dd8d40f0df94d1e7f4d9e573489c7a2 Mon Sep 17 00:00:00 2001 From: Erik Bernhardson Date: Tue, 13 Dec 2016 09:47:25 -0800 Subject: [PATCH] Adjust phan to allow for making progress strengthening analysis With phan set to only report critical errors it will be quite hard to cleanup the code base to the point where we are running stronger analysis. Instead of setting minimimum severity to critical, set minimum severity to low and suppress all existing issues. This will allow developers to choose an issue type from the list, fix it, and update the config.php to report on the issue in the future. Change-Id: I2771a4ff37f43cca215b939ed7d82f137d72cea6 --- tests/phan/config.php | 82 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 72 insertions(+), 10 deletions(-) diff --git a/tests/phan/config.php b/tests/phan/config.php index 7d4cfb95e0..1f141437fb 100644 --- a/tests/phan/config.php +++ b/tests/phan/config.php @@ -95,6 +95,8 @@ return [ 'maintenance/language/', // External class 'includes/libs/jsminplus.php', + // separate repositories + 'skins/' ], /** @@ -165,8 +167,10 @@ return [ */ 'analyze_signature_compatibility' => true, - // Only emit critical issues - "minimum_severity" => 10, + // Emit all issues. They are then supressed via + // suppress_issue_types, rather than a minimum + // severity. + "minimum_severity" => 0, /** * If true, missing properties will be created when @@ -289,14 +293,72 @@ return [ * to this black-list to inhibit them from being reported. */ 'suppress_issue_types' => [ - // MediaWiki has so much deprecated class usage it's a bit hopeless to - // fix this immediately - 'PhanDeprecatedClass', - 'PhanDeprecatedFunction', - 'PhanDeprecatedProperty', - // There are arround 1400 usages of undeclared properties. - // php is ok with that but it's a code smell. - 'PhanUndeclaredProperty', + // approximate error count: 8 + "PhanDeprecatedClass", + // approximate error count: 441 + "PhanDeprecatedFunction", + // approximate error count: 24 + "PhanDeprecatedProperty", + // approximate error count: 12 + "PhanParamReqAfterOpt", + // approximate error count: 748 + "PhanParamSignatureMismatch", + // approximate error count: 7 + "PhanParamSignatureMismatchInternal", + // approximate error count: 1 + "PhanParamSpecial1", + // approximate error count: 2 + "PhanParamTooFew", + // approximate error count: 308 + "PhanParamTooMany", + // approximate error count: 3 + "PhanParamTooManyInternal", + // approximate error count: 1 + "PhanRedefineFunction", + // approximate error count: 1 + "PhanRedefineFunctionInternal", + // approximate error count: 2 + "PhanTraitParentReference", + // approximate error count: 4 + "PhanTypeArraySuspicious", + // approximate error count: 4 + "PhanTypeComparisonFromArray", + // approximate error count: 1 + "PhanTypeInvalidLeftOperand", + // approximate error count: 3 + "PhanTypeInvalidRightOperand", + // approximate error count: 563 + "PhanTypeMismatchArgument", + // approximate error count: 39 + "PhanTypeMismatchArgumentInternal", + // approximate error count: 4 + "PhanTypeMismatchDefault", + // approximate error count: 16 + "PhanTypeMismatchForeach", + // approximate error count: 63 + "PhanTypeMismatchProperty", + // approximate error count: 95 + "PhanTypeMismatchReturn", + // approximate error count: 16 + "PhanTypeMissingReturn", + // approximate error count: 5 + "PhanTypeNonVarPassByRef", + // approximate error count: 3 + "PhanTypeVoidAssignment", + // approximate error count: 27 + "PhanUndeclaredConstant", + // approximate error count: 185 + "PhanUndeclaredMethod", + // approximate error count: 1342 + "PhanUndeclaredProperty", + // approximate error count: 9 + "PhanUndeclaredStaticMethod", + // approximate error count: 15 + "PhanUndeclaredTypeParameter", + // approximate error count: 1 + "PhanUndeclaredTypeProperty", + // approximate error count: 79 + "PhanUndeclaredVariable", ], /** -- 2.20.1