diff options
| author | Justin Blanchard <UncombedCoconut@gmail.com> | 2019-08-29 03:36:15 -0400 |
|---|---|---|
| committer | Serhiy Storchaka <storchaka@gmail.com> | 2019-08-29 10:36:15 +0300 |
| commit | 122376df550b71dd3bec0513c7483cc1714212fa (patch) | |
| tree | 5f52d8443c43ab36004a25a3e8c957b9df7c218d /Lib/test/datetimetester.py | |
| parent | e64f948e762a6b9fd02e2902ccf42438df6fcb61 (diff) | |
| download | cpython-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.py | 27 |
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. |
