| 789 | |
| 790 | def test_subclass_compatibility(tmp_path: Path) -> None: |
| 791 | class MyFileLock(FileLock): |
| 792 | def __init__( |
| 793 | self, |
| 794 | lock_file: str | os.PathLike[str], |
| 795 | timeout: float = -1, |
| 796 | mode: int = 0o644, |
| 797 | thread_local: bool = True, |
| 798 | my_param: int = 0, |
| 799 | **kwargs: dict[str, Any], # ruff:ignore[unused-method-argument] # matches the base constructor signature; extras are dropped |
| 800 | ) -> None: |
| 801 | super().__init__(lock_file, timeout, mode, thread_local, is_singleton=True) |
| 802 | self.blocking = True |
| 803 | self.my_param = my_param |
| 804 | |
| 805 | lock_path = tmp_path / "a" |
| 806 | MyFileLock(str(lock_path), my_param=1) |
no outgoing calls