Merge pull request #11961 Add some autofixable refactor rules from pylint

This commit is contained in:
Pierre Sassoulas 2024-02-11 19:52:29 +01:00 committed by GitHub
commit 526b971221
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 15 additions and 8 deletions

View File

@ -104,6 +104,9 @@ select = [
"W", # pycodestyle "W", # pycodestyle
"PIE", # flake8-pie "PIE", # flake8-pie
"PGH004", # pygrep-hooks - Use specific rule codes when using noqa "PGH004", # pygrep-hooks - Use specific rule codes when using noqa
"PLE", # pylint error
"PLW", # pylint warning
"PLR1714", # Consider merging multiple comparisons
] ]
ignore = [ ignore = [
# bugbear ignore # bugbear ignore
@ -135,6 +138,11 @@ ignore = [
"D415", # First line should end with a period, question mark, or exclamation point "D415", # First line should end with a period, question mark, or exclamation point
# ruff ignore # ruff ignore
"RUF012", # Mutable class attributes should be annotated with `typing.ClassVar` "RUF012", # Mutable class attributes should be annotated with `typing.ClassVar`
# pylint ignore
"PLW0603", # Using the global statement
"PLW0120", # remove the else and dedent its contents
"PLW2901", # for loop variable overwritten by assignment target
"PLR5501", # Use `elif` instead of `else` then `if`
] ]
[tool.ruff.lint.pycodestyle] [tool.ruff.lint.pycodestyle]

View File

@ -289,7 +289,7 @@ def get_user_id() -> int | None:
# mypy follows the version and platform checking expectation of PEP 484: # mypy follows the version and platform checking expectation of PEP 484:
# https://mypy.readthedocs.io/en/stable/common_issues.html?highlight=platform#python-version-and-system-platform-checks # https://mypy.readthedocs.io/en/stable/common_issues.html?highlight=platform#python-version-and-system-platform-checks
# Containment checks are too complex for mypy v1.5.0 and cause failure. # Containment checks are too complex for mypy v1.5.0 and cause failure.
if sys.platform == "win32" or sys.platform == "emscripten": if sys.platform in {"win32", "emscripten"}:
# win32 does not have a getuid() function. # win32 does not have a getuid() function.
# Emscripten has a return 0 stub. # Emscripten has a return 0 stub.
return None return None

View File

@ -624,7 +624,7 @@ class LogXML:
def update_testcase_duration(self, report: TestReport) -> None: def update_testcase_duration(self, report: TestReport) -> None:
"""Accumulate total duration for nodeid from given report and update """Accumulate total duration for nodeid from given report and update
the Junit.testcase with the new total if already created.""" the Junit.testcase with the new total if already created."""
if self.report_duration == "total" or report.when == self.report_duration: if self.report_duration in {"total", report.when}:
reporter = self.node_reporter(report) reporter = self.node_reporter(report)
reporter.duration += getattr(report, "duration", 0.0) reporter.duration += getattr(report, "duration", 0.0)

View File

@ -1786,11 +1786,10 @@ class Function(PyobjMixin, nodes.Item):
if len(ntraceback) > 2: if len(ntraceback) > 2:
ntraceback = Traceback( ntraceback = Traceback(
( (
entry ntraceback[0],
if i == 0 or i == len(ntraceback) - 1 *(t.with_repr_style("short") for t in ntraceback[1:-1]),
else entry.with_repr_style("short") ntraceback[-1],
) )
for i, entry in enumerate(ntraceback)
) )
return ntraceback return ntraceback

View File

@ -381,7 +381,7 @@ class TerminalReporter:
if self.config.getoption("setupshow", False): if self.config.getoption("setupshow", False):
return False return False
cfg: str = self.config.getini("console_output_style") cfg: str = self.config.getini("console_output_style")
if cfg == "progress" or cfg == "progress-even-when-capture-no": if cfg in {"progress", "progress-even-when-capture-no"}:
return "progress" return "progress"
elif cfg == "count": elif cfg == "count":
return "count" return "count"

View File

@ -429,7 +429,7 @@ class TestAssertionRewrite:
def f2() -> None: def f2() -> None:
x = 1 x = 1
assert x == 1 or x == 2 assert x == 1 or x == 2 # noqa: PLR1714
getmsg(f2, must_pass=True) getmsg(f2, must_pass=True)