summaryrefslogtreecommitdiff
path: root/Lib/test/datetimetester.py
diff options
context:
space:
mode:
authorJustin Blanchard <UncombedCoconut@gmail.com>2019-08-29 03:36:15 -0400
committerSerhiy Storchaka <storchaka@gmail.com>2019-08-29 10:36:15 +0300
commit122376df550b71dd3bec0513c7483cc1714212fa (patch)
tree5f52d8443c43ab36004a25a3e8c957b9df7c218d /Lib/test/datetimetester.py
parente64f948e762a6b9fd02e2902ccf42438df6fcb61 (diff)
downloadcpython-git-122376df550b71dd3bec0513c7483cc1714212fa.tar.gz
bpo-37372: Fix error unpickling datetime.time objects from Python 2 with seconds>=24. (GH-14307)
Diffstat (limited to 'Lib/test/datetimetester.py')
-rw-r--r--Lib/test/datetimetester.py27
1 files changed, 18 insertions, 9 deletions
diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py
index 58004870a0..b440e5ab5f 100644
--- a/Lib/test/datetimetester.py
+++ b/Lib/test/datetimetester.py
@@ -3324,16 +3324,25 @@ class TestTime(HarmlessMixedComparison, unittest.TestCase):
def test_compat_unpickle(self):
tests = [
- b"cdatetime\ntime\n(S'\\x14;\\x10\\x00\\x10\\x00'\ntR.",
- b'cdatetime\ntime\n(U\x06\x14;\x10\x00\x10\x00tR.',
- b'\x80\x02cdatetime\ntime\nU\x06\x14;\x10\x00\x10\x00\x85R.',
+ (b"cdatetime\ntime\n(S'\\x14;\\x10\\x00\\x10\\x00'\ntR.",
+ (20, 59, 16, 64**2)),
+ (b'cdatetime\ntime\n(U\x06\x14;\x10\x00\x10\x00tR.',
+ (20, 59, 16, 64**2)),
+ (b'\x80\x02cdatetime\ntime\nU\x06\x14;\x10\x00\x10\x00\x85R.',
+ (20, 59, 16, 64**2)),
+ (b"cdatetime\ntime\n(S'\\x14;\\x19\\x00\\x10\\x00'\ntR.",
+ (20, 59, 25, 64**2)),
+ (b'cdatetime\ntime\n(U\x06\x14;\x19\x00\x10\x00tR.',
+ (20, 59, 25, 64**2)),
+ (b'\x80\x02cdatetime\ntime\nU\x06\x14;\x19\x00\x10\x00\x85R.',
+ (20, 59, 25, 64**2)),
]
- args = 20, 59, 16, 64**2
- expected = self.theclass(*args)
- for data in tests:
- for loads in pickle_loads:
- derived = loads(data, encoding='latin1')
- self.assertEqual(derived, expected)
+ for i, (data, args) in enumerate(tests):
+ with self.subTest(i=i):
+ expected = self.theclass(*args)
+ for loads in pickle_loads:
+ derived = loads(data, encoding='latin1')
+ self.assertEqual(derived, expected)
def test_bool(self):
# time is always True.