diff options
author | Barney Gale <barney.gale@gmail.com> | 2023-12-22 17:49:09 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-22 17:49:09 (GMT) |
commit | ff5e131df5f374f72579b970856dc5646e8b836c (patch) | |
tree | 0f8497d15de8f9e3df09ca043ad586ff0bcf1365 | |
parent | 4a3d2419bb5b7cd862e3d909f53a2ef0a09cdcee (diff) | |
download | cpython-ff5e131df5f374f72579b970856dc5646e8b836c.zip cpython-ff5e131df5f374f72579b970856dc5646e8b836c.tar.gz cpython-ff5e131df5f374f72579b970856dc5646e8b836c.tar.bz2 |
GH-112855: Slightly improve tests for `pathlib.PurePath` pickling (#113243)
Add a few more simple test cases, like non-anchored paths. Remove misplaced
and indirect test that pickling doesn't change the `stat()` value.
-rw-r--r-- | Lib/test/test_pathlib/test_pathlib.py | 18 | ||||
-rw-r--r-- | Lib/test/test_pathlib/test_pathlib_abc.py | 8 |
2 files changed, 10 insertions, 16 deletions
diff --git a/Lib/test/test_pathlib/test_pathlib.py b/Lib/test/test_pathlib/test_pathlib.py index d55ccd9..a448f6a 100644 --- a/Lib/test/test_pathlib/test_pathlib.py +++ b/Lib/test/test_pathlib/test_pathlib.py @@ -60,14 +60,16 @@ class PurePathTest(test_pathlib_abc.DummyPurePathTest): def test_pickling_common(self): P = self.cls - p = P('/a/b') - for proto in range(0, pickle.HIGHEST_PROTOCOL + 1): - dumped = pickle.dumps(p, proto) - pp = pickle.loads(dumped) - self.assertIs(pp.__class__, p.__class__) - self.assertEqual(pp, p) - self.assertEqual(hash(pp), hash(p)) - self.assertEqual(str(pp), str(p)) + for pathstr in ('a', 'a/', 'a/b', 'a/b/c', '/', '/a/b', '/a/b/c', 'a/b/c/'): + with self.subTest(pathstr=pathstr): + p = P(pathstr) + for proto in range(0, pickle.HIGHEST_PROTOCOL + 1): + dumped = pickle.dumps(p, proto) + pp = pickle.loads(dumped) + self.assertIs(pp.__class__, p.__class__) + self.assertEqual(pp, p) + self.assertEqual(hash(pp), hash(p)) + self.assertEqual(str(pp), str(p)) def test_repr_common(self): for pathstr in ('a', 'a/b', 'a/b/c', '/', '/a/b', '/a/b/c'): diff --git a/Lib/test/test_pathlib/test_pathlib_abc.py b/Lib/test/test_pathlib/test_pathlib_abc.py index 6748def..42575a5 100644 --- a/Lib/test/test_pathlib/test_pathlib_abc.py +++ b/Lib/test/test_pathlib/test_pathlib_abc.py @@ -3,7 +3,6 @@ import io import os import errno import pathlib -import pickle import posixpath import stat import unittest @@ -1644,13 +1643,6 @@ class DummyPathTest(DummyPurePathTest): self.assertIs((P / 'fileA\udfff').is_char_device(), False) self.assertIs((P / 'fileA\x00').is_char_device(), False) - def test_pickling_common(self): - p = self.cls(self.base, 'fileA') - for proto in range(0, pickle.HIGHEST_PROTOCOL + 1): - dumped = pickle.dumps(p, proto) - pp = pickle.loads(dumped) - self.assertEqual(pp.stat(), p.stat()) - def test_parts_interning(self): P = self.cls p = P('/usr/bin/foo') |