repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.4.10
+ rev: v0.6.7
hooks:
- id: ruff
name: Run Ruff (lint) on Doc/
continue
if not par[0].get("ids", None):
continue
- name = par[0]["ids"][0]
- if name.startswith("c."):
- name = name[2:]
-
+ name = par[0]["ids"][0].removeprefix("c.")
objtype = par["objtype"]
# Stable ABI annotation.
class SlotList(MyList):
__slots__ = ["foo"]
-class SimpleNewObj(int):
+# Ruff "redefined while unused" false positive here due to `global` variables
+# being assigned (and then restored) from within test methods earlier in the file
+class SimpleNewObj(int): # noqa: F811
def __init__(self, *args, **kwargs):
# raise an error, to make sure this isn't called
raise TypeError("SimpleNewObj.__init__() didn't expect to get called")
self.assertEqual(xlines, [b'Test'])
def testContextProtocol(self):
- f = None
with BZ2File(self.filename, "wb") as f:
f.write(b"xxx")
f = BZ2File(self.filename, "rb")
def testWithOpen(self):
tfn = tempfile.mktemp()
try:
- f = None
with open(tfn, "w", encoding="utf-8") as f:
self.assertFalse(f.closed)
f.write("Booh\n")
self.assertTrue(f.closed)
- f = None
with self.assertRaises(ZeroDivisionError):
with open(tfn, "r", encoding="utf-8") as f:
self.assertFalse(f.closed)
def test_with_open(self):
for bufsize in (0, 100):
- f = None
with self.open(os_helper.TESTFN, "wb", bufsize) as f:
f.write(b"xxx")
self.assertEqual(f.closed, True)
- f = None
try:
with self.open(os_helper.TESTFN, "wb", bufsize) as f:
1/0
def test_getfinalpathname_handles(self):
nt = import_helper.import_module('nt')
ctypes = import_helper.import_module('ctypes')
- import ctypes.wintypes
+ # Ruff false positive -- it thinks we're redefining `ctypes` here
+ import ctypes.wintypes # noqa: F811
kernel = ctypes.WinDLL('Kernel32.dll', use_last_error=True)
kernel.GetCurrentProcess.restype = ctypes.wintypes.HANDLE
def shouldThrow():
ct = EnterThrows()
self.foo = None
- with ct as self.foo:
+ # Ruff complains that we're redefining `self.foo` here,
+ # but the whole point of the test is to check that `self.foo`
+ # is *not* redefined (because `__enter__` raises)
+ with ct as self.foo: # ruff: noqa: F811
pass
self.assertRaises(RuntimeError, shouldThrow)
self.assertEqual(self.foo, None)
self.assertAfterWithGeneratorInvariantsNoError(foo)
def testInlineGeneratorBoundToExistingVariable(self):
- foo = None
with mock_contextmanager_generator() as foo:
self.assertInWithGeneratorInvariants(foo)
self.assertAfterWithGeneratorInvariantsNoError(foo)