Merge pull request #12170 from Pierre-Sassoulas/small-performance-improvments
Small performance/readability improvments when iterating dictionnary with ``keys()``
This commit is contained in:
commit
44895289c7
|
@ -50,6 +50,13 @@ repos:
|
||||||
additional_dependencies: ["tox>=4.9"]
|
additional_dependencies: ["tox>=4.9"]
|
||||||
- repo: local
|
- repo: local
|
||||||
hooks:
|
hooks:
|
||||||
|
- id: pylint
|
||||||
|
name: pylint
|
||||||
|
entry: pylint
|
||||||
|
language: system
|
||||||
|
types: [python]
|
||||||
|
args: ["-rn", "-sn", "--fail-on=I"]
|
||||||
|
stages: [manual]
|
||||||
- id: rst
|
- id: rst
|
||||||
name: rst
|
name: rst
|
||||||
entry: rst-lint --encoding utf-8
|
entry: rst-lint --encoding utf-8
|
||||||
|
|
113
pyproject.toml
113
pyproject.toml
|
@ -165,6 +165,119 @@ lines-after-imports = 2
|
||||||
"src/_pytest/_version.py" = ["I001"]
|
"src/_pytest/_version.py" = ["I001"]
|
||||||
"testing/python/approx.py" = ["B015"]
|
"testing/python/approx.py" = ["B015"]
|
||||||
|
|
||||||
|
[tool.pylint.main]
|
||||||
|
# Maximum number of characters on a single line.
|
||||||
|
max-line-length = 120
|
||||||
|
disable= [
|
||||||
|
"abstract-method",
|
||||||
|
"arguments-differ",
|
||||||
|
"arguments-renamed",
|
||||||
|
"assigning-non-slot",
|
||||||
|
"attribute-defined-outside-init",
|
||||||
|
"bad-classmethod-argument",
|
||||||
|
"bad-mcs-method-argument",
|
||||||
|
"broad-exception-caught",
|
||||||
|
"broad-exception-raised",
|
||||||
|
"cell-var-from-loop",
|
||||||
|
"comparison-of-constants",
|
||||||
|
"comparison-with-callable",
|
||||||
|
"comparison-with-itself",
|
||||||
|
"condition-evals-to-constant",
|
||||||
|
"consider-using-dict-items",
|
||||||
|
"consider-using-enumerate",
|
||||||
|
"consider-using-from-import",
|
||||||
|
"consider-using-f-string",
|
||||||
|
"consider-using-in",
|
||||||
|
"consider-using-sys-exit",
|
||||||
|
"consider-using-ternary",
|
||||||
|
"consider-using-with",
|
||||||
|
"cyclic-import",
|
||||||
|
"disallowed-name",
|
||||||
|
"duplicate-code",
|
||||||
|
"eval-used",
|
||||||
|
"exec-used",
|
||||||
|
"expression-not-assigned",
|
||||||
|
"fixme",
|
||||||
|
"global-statement",
|
||||||
|
"implicit-str-concat",
|
||||||
|
"import-error",
|
||||||
|
"import-outside-toplevel",
|
||||||
|
"inconsistent-return-statements",
|
||||||
|
"invalid-bool-returned",
|
||||||
|
"invalid-name",
|
||||||
|
"invalid-repr-returned",
|
||||||
|
"invalid-str-returned",
|
||||||
|
"keyword-arg-before-vararg",
|
||||||
|
"line-too-long",
|
||||||
|
"method-hidden",
|
||||||
|
"misplaced-bare-raise",
|
||||||
|
"missing-docstring",
|
||||||
|
"missing-timeout",
|
||||||
|
"multiple-statements",
|
||||||
|
"no-else-break",
|
||||||
|
"no-else-continue",
|
||||||
|
"no-else-raise",
|
||||||
|
"no-else-return",
|
||||||
|
"no-member",
|
||||||
|
"no-name-in-module",
|
||||||
|
"no-self-argument",
|
||||||
|
"not-an-iterable",
|
||||||
|
"not-callable",
|
||||||
|
"pointless-exception-statement",
|
||||||
|
"pointless-statement",
|
||||||
|
"pointless-string-statement",
|
||||||
|
"protected-access",
|
||||||
|
"raise-missing-from",
|
||||||
|
"redefined-argument-from-local",
|
||||||
|
"redefined-builtin",
|
||||||
|
"redefined-outer-name",
|
||||||
|
"reimported",
|
||||||
|
"simplifiable-condition",
|
||||||
|
"simplifiable-if-expression",
|
||||||
|
"singleton-comparison",
|
||||||
|
"superfluous-parens",
|
||||||
|
"super-init-not-called",
|
||||||
|
"too-few-public-methods",
|
||||||
|
"too-many-ancestors",
|
||||||
|
"too-many-arguments",
|
||||||
|
"too-many-branches",
|
||||||
|
"too-many-function-args",
|
||||||
|
"too-many-instance-attributes",
|
||||||
|
"too-many-lines",
|
||||||
|
"too-many-locals",
|
||||||
|
"too-many-nested-blocks",
|
||||||
|
"too-many-public-methods",
|
||||||
|
"too-many-return-statements",
|
||||||
|
"too-many-statements",
|
||||||
|
"try-except-raise",
|
||||||
|
"typevar-name-incorrect-variance",
|
||||||
|
"unbalanced-tuple-unpacking",
|
||||||
|
"undefined-loop-variable",
|
||||||
|
"undefined-variable",
|
||||||
|
"unexpected-keyword-arg",
|
||||||
|
"unidiomatic-typecheck",
|
||||||
|
"unnecessary-comprehension",
|
||||||
|
"unnecessary-dunder-call",
|
||||||
|
"unnecessary-lambda",
|
||||||
|
"unnecessary-lambda-assignment",
|
||||||
|
"unpacking-non-sequence",
|
||||||
|
"unspecified-encoding",
|
||||||
|
"unsubscriptable-object",
|
||||||
|
"unused-argument",
|
||||||
|
"unused-import",
|
||||||
|
"unused-variable",
|
||||||
|
"used-before-assignment",
|
||||||
|
"use-dict-literal",
|
||||||
|
"use-implicit-booleaness-not-comparison",
|
||||||
|
"use-implicit-booleaness-not-len",
|
||||||
|
"useless-else-on-loop",
|
||||||
|
"useless-import-alias",
|
||||||
|
"useless-return",
|
||||||
|
"use-maxsplit-arg",
|
||||||
|
"using-constant-test",
|
||||||
|
"wrong-import-order",
|
||||||
|
]
|
||||||
|
|
||||||
[tool.check-wheel-contents]
|
[tool.check-wheel-contents]
|
||||||
# check-wheel-contents is executed by the build-and-inspect-python-package action.
|
# check-wheel-contents is executed by the build-and-inspect-python-package action.
|
||||||
# W009: Wheel contains multiple toplevel library entries
|
# W009: Wheel contains multiple toplevel library entries
|
||||||
|
|
|
@ -143,7 +143,7 @@ class _NodeReporter:
|
||||||
# Filter out attributes not permitted by this test family.
|
# Filter out attributes not permitted by this test family.
|
||||||
# Including custom attributes because they are not valid here.
|
# Including custom attributes because they are not valid here.
|
||||||
temp_attrs = {}
|
temp_attrs = {}
|
||||||
for key in self.attrs.keys():
|
for key in self.attrs:
|
||||||
if key in families[self.family]["testcase"]:
|
if key in families[self.family]["testcase"]:
|
||||||
temp_attrs[key] = self.attrs[key]
|
temp_attrs[key] = self.attrs[key]
|
||||||
self.attrs = temp_attrs
|
self.attrs = temp_attrs
|
||||||
|
|
|
@ -1267,7 +1267,7 @@ class TerminalReporter:
|
||||||
|
|
||||||
def _set_main_color(self) -> None:
|
def _set_main_color(self) -> None:
|
||||||
unknown_types: List[str] = []
|
unknown_types: List[str] = []
|
||||||
for found_type in self.stats.keys():
|
for found_type in self.stats:
|
||||||
if found_type: # setup/teardown reports have an empty key, ignore them
|
if found_type: # setup/teardown reports have an empty key, ignore them
|
||||||
if found_type not in KNOWN_TYPES and found_type not in unknown_types:
|
if found_type not in KNOWN_TYPES and found_type not in unknown_types:
|
||||||
unknown_types.append(found_type)
|
unknown_types.append(found_type)
|
||||||
|
|
Loading…
Reference in New Issue