summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_pathlib.py
diff options
context:
space:
mode:
authorBarney Gale <barney.gale@gmail.com>2023-05-23 22:31:59 (GMT)
committerGitHub <noreply@github.com>2023-05-23 22:31:59 (GMT)
commit6b1510cf11c16c8e4381810c15ceeda6f89e79f4 (patch)
tree12b9d8063d5c285204780980e9391bd23285f755 /Lib/test/test_pathlib.py
parente0b3078705b271ff278dfbc788c2b061c92a9aa3 (diff)
downloadcpython-6b1510cf11c16c8e4381810c15ceeda6f89e79f4.zip
cpython-6b1510cf11c16c8e4381810c15ceeda6f89e79f4.tar.gz
cpython-6b1510cf11c16c8e4381810c15ceeda6f89e79f4.tar.bz2
GH-83863: Drop support for using `pathlib.Path` objects as context managers (GH-104807)
In Python 3.8 and prior, `pathlib.Path.__exit__()` marked a path as closed; some subsequent attempts to perform I/O would raise an IOError. This functionality was never documented, and had the effect of making `Path` objects mutable, contrary to PEP 428. In Python 3.9 we made `__exit__()` a no-op, and in 3.11 `__enter__()` began raising deprecation warnings. Here we remove both methods.
Diffstat (limited to 'Lib/test/test_pathlib.py')
-rw-r--r--Lib/test/test_pathlib.py20
1 files changed, 0 insertions, 20 deletions
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
index ab2c2b2..8b68cdc 100644
--- a/Lib/test/test_pathlib.py
+++ b/Lib/test/test_pathlib.py
@@ -2080,26 +2080,6 @@ class _BasePathTest(object):
finally:
os.chdir(old_cwd)
- def test_with(self):
- p = self.cls(BASE)
- it = p.iterdir()
- it2 = p.iterdir()
- next(it2)
- # 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)
- next(it2)
- p.exists()
- p.resolve()
- p.absolute()
- with self.assertWarns(DeprecationWarning):
- with p:
- pass
-
@os_helper.skip_unless_working_chmod
def test_chmod(self):
p = self.cls(BASE) / 'fileA'