bpo-46556: emit DeprecationWarning from pathlib.Path.__enter__() (GH-30971)

In Python 3.9, Path.__exit__() was made a no-op and has never been documented.

Co-authored-by: Brett Cannon <brett@python.org>
This commit is contained in:
Barney Gale 2022-02-08 21:01:37 +00:00 committed by GitHub
parent 81c72044a1
commit 06e1701ad3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 12 deletions

View file

@ -1850,8 +1850,10 @@ class _BasePathTest(object):
it = p.iterdir()
it2 = p.iterdir()
next(it2)
with p:
pass
# bpo-46556: path context managers are deprecated in Python 3.11.
with self.assertWarns(DeprecationWarning):
with p:
pass
# Using a path as a context manager is a no-op, thus the following
# operations should still succeed after the context manage exits.
next(it)
@ -1859,8 +1861,9 @@ class _BasePathTest(object):
p.exists()
p.resolve()
p.absolute()
with p:
pass
with self.assertWarns(DeprecationWarning):
with p:
pass
def test_chmod(self):
p = self.cls(BASE) / 'fileA'