summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorArmin Rigo <arigo@tunes.org>2005-11-07 07:15:48 (GMT)
committerArmin Rigo <arigo@tunes.org>2005-11-07 07:15:48 (GMT)
commitf4afb215262eabfbad00eeb7997b7e9522911eb3 (patch)
treea2d63ced0873743bbf5f1e634cd8eeb808e9dc7e /Lib
parent9a2dcf8ac1ef89d03c2978e7b1ef4b36cc2fa9f8 (diff)
downloadcpython-f4afb215262eabfbad00eeb7997b7e9522911eb3.zip
cpython-f4afb215262eabfbad00eeb7997b7e9522911eb3.tar.gz
cpython-f4afb215262eabfbad00eeb7997b7e9522911eb3.tar.bz2
similar to SF bug 847019: a quick check in the time() constructor, which
accepts strings only for unpickling reasons. This check prevents the honest mistake of passing a string like '2:59.0' to time() and getting an insane object.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_datetime.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/Lib/test/test_datetime.py b/Lib/test/test_datetime.py
index 9abfb87..27f42c6 100644
--- a/Lib/test/test_datetime.py
+++ b/Lib/test/test_datetime.py
@@ -1830,6 +1830,13 @@ class TestTime(HarmlessMixedComparison):
self.assertEqual(dt1.isoformat(), dt2.isoformat())
self.assertEqual(dt2.newmeth(-7), dt1.hour + dt1.second - 7)
+ def test_backdoor_resistance(self):
+ # see TestDate.test_backdoor_resistance().
+ base = '2:59.0'
+ for hour_byte in ' ', '9', chr(24), '\xff':
+ self.assertRaises(TypeError, self.theclass,
+ hour_byte + base[1:])
+
# A mixin for classes with a tzinfo= argument. Subclasses must define
# theclass as a class atribute, and theclass(1, 1, 1, tzinfo=whatever)
# must be legit (which is true for time and datetime).