chore(deps): update pre-commit hooks (#5745)

* chore(deps): update pre-commit hooks

updates:
- [github.com/pre-commit/mirrors-clang-format: v20.1.5 → v20.1.7](https://github.com/pre-commit/mirrors-clang-format/compare/v20.1.5...v20.1.7)
- [github.com/astral-sh/ruff-pre-commit: v0.11.12 → v0.12.2](https://github.com/astral-sh/ruff-pre-commit/compare/v0.11.12...v0.12.2)
- [github.com/pre-commit/mirrors-mypy: v1.16.0 → v1.16.1](https://github.com/pre-commit/mirrors-mypy/compare/v1.16.0...v1.16.1)
- [github.com/python-jsonschema/check-jsonschema: 0.33.0 → 0.33.2](https://github.com/python-jsonschema/check-jsonschema/compare/0.33.0...0.33.2)

* chore: fix new ruff check warnings

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* style: pre-commit fixes

---------

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
pre-commit-ci[bot]
2025-07-11 15:36:38 -07:00
committed by GitHub
parent 66d394f259
commit cc69a3789c
5 changed files with 27 additions and 16 deletions

View File

@@ -25,22 +25,22 @@ repos:
# Clang format the codebase automatically # Clang format the codebase automatically
- repo: https://github.com/pre-commit/mirrors-clang-format - repo: https://github.com/pre-commit/mirrors-clang-format
rev: "v20.1.5" rev: "v20.1.7"
hooks: hooks:
- id: clang-format - id: clang-format
types_or: [c++, c, cuda] types_or: [c++, c, cuda]
# Ruff, the Python auto-correcting linter/formatter written in Rust # Ruff, the Python auto-correcting linter/formatter written in Rust
- repo: https://github.com/astral-sh/ruff-pre-commit - repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.11.12 rev: v0.12.2
hooks: hooks:
- id: ruff - id: ruff-check
args: ["--fix", "--show-fixes"] args: ["--fix", "--show-fixes"]
- id: ruff-format - id: ruff-format
# Check static types with mypy # Check static types with mypy
- repo: https://github.com/pre-commit/mirrors-mypy - repo: https://github.com/pre-commit/mirrors-mypy
rev: "v1.16.0" rev: "v1.16.1"
hooks: hooks:
- id: mypy - id: mypy
args: [] args: []
@@ -142,7 +142,7 @@ repos:
# Check schemas on some of our YAML files # Check schemas on some of our YAML files
- repo: https://github.com/python-jsonschema/check-jsonschema - repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.33.0 rev: 0.33.2
hooks: hooks:
- id: check-readthedocs - id: check-readthedocs
- id: check-github-workflows - id: check-github-workflows

View File

@@ -143,9 +143,6 @@ messages_control.disable = [
"consider-using-f-string", # triggers in _version.py incorrectly "consider-using-f-string", # triggers in _version.py incorrectly
] ]
[tool.ruff]
src = ["src"]
[tool.ruff.lint] [tool.ruff.lint]
extend-select = [ extend-select = [
"B", # flake8-bugbear "B", # flake8-bugbear
@@ -166,17 +163,21 @@ extend-select = [
"YTT", # flake8-2020 "YTT", # flake8-2020
] ]
ignore = [ ignore = [
"PLR", # Design related pylint "PLR", # Design related pylint
"PT011", # Too broad with raises in pytest "PT011", # Too broad with raises in pytest
"SIM118", # iter(x) is not always the same as iter(x.keys()) "SIM118", # iter(x) is not always the same as iter(x.keys())
"PLC0415", # We import in functions for various reasons
] ]
unfixable = ["T20"]
isort.known-first-party = ["env", "pybind11_cross_module_tests", "pybind11_tests"] isort.known-first-party = ["env", "pybind11_cross_module_tests", "pybind11_tests"]
isort.required-imports = ["from __future__ import annotations"] isort.required-imports = ["from __future__ import annotations"]
[tool.ruff.lint.per-file-ignores] [tool.ruff.lint.per-file-ignores]
"tests/**" = ["EM", "N", "E721"] "tests/**" = [
"EM",
"N",
"E721",
]
"tests/test_call_policies.py" = ["PLC1901"] "tests/test_call_policies.py" = ["PLC1901"]
[tool.repo-review] [tool.repo-review]

View File

@@ -77,6 +77,8 @@ class Output:
def __str__(self): def __str__(self):
return self.string return self.string
__hash__ = None
def __eq__(self, other): def __eq__(self, other):
# Ignore constructor/destructor output which is prefixed with "###" # Ignore constructor/destructor output which is prefixed with "###"
a = [ a = [
@@ -94,6 +96,8 @@ class Output:
class Unordered(Output): class Unordered(Output):
"""Custom comparison for output without strict line ordering""" """Custom comparison for output without strict line ordering"""
__hash__ = None
def __eq__(self, other): def __eq__(self, other):
a = _split_and_sort(self.string) a = _split_and_sort(self.string)
b = _split_and_sort(other) b = _split_and_sort(other)
@@ -116,6 +120,8 @@ class Capture:
def __exit__(self, *args): def __exit__(self, *args):
self.out, self.err = self.capfd.readouterr() self.out, self.err = self.capfd.readouterr()
__hash__ = None
def __eq__(self, other): def __eq__(self, other):
a = Output(self.out) a = Output(self.out)
b = other b = other
@@ -155,6 +161,8 @@ class SanitizedString:
self.string = self.sanitizer(thing) self.string = self.sanitizer(thing)
return self return self
__hash__ = None
def __eq__(self, other): def __eq__(self, other):
a = self.string a = self.string
b = _strip_and_dedent(other) b = _strip_and_dedent(other)

View File

@@ -135,8 +135,9 @@ def test_cannot_disown_use_count_ne_1(pass_f, rtrn_f):
assert str(exc_info.value) == ("Cannot disown use_count != 1 (load_as_unique_ptr).") assert str(exc_info.value) == ("Cannot disown use_count != 1 (load_as_unique_ptr).")
def test_unique_ptr_roundtrip(num_round_trips=1000): def test_unique_ptr_roundtrip():
# Multiple roundtrips to stress-test instance registration/deregistration. # Multiple roundtrips to stress-test instance registration/deregistration.
num_round_trips = 1000
recycled = m.atyp("passenger") recycled = m.atyp("passenger")
for _ in range(num_round_trips): for _ in range(num_round_trips):
id_orig = id(recycled) id_orig = id(recycled)
@@ -164,8 +165,9 @@ def test_rtrn_unique_ptr_cref():
assert obj0 is obj1 assert obj0 is obj1
def test_unique_ptr_cref_roundtrip(num_round_trips=1000): def test_unique_ptr_cref_roundtrip():
# Multiple roundtrips to stress-test implementation. # Multiple roundtrips to stress-test implementation.
num_round_trips = 1000
orig = m.atyp("passenger") orig = m.atyp("passenger")
mtxt_orig = m.get_mtxt(orig) mtxt_orig = m.get_mtxt(orig)
recycled = orig recycled = orig

View File

@@ -19,7 +19,7 @@ from pybind11_tests import warnings_ as m
def test_warning_simple( def test_warning_simple(
expected_category, expected_message, expected_value, module_function expected_category, expected_message, expected_value, module_function
): ):
with pytest.warns(Warning) as excinfo: with pytest.warns(Warning, match="This is") as excinfo:
value = module_function() value = module_function()
assert issubclass(excinfo[0].category, expected_category) assert issubclass(excinfo[0].category, expected_category)