Changeset 391 for python/trunk/Lib/test/test_time.py
- Timestamp:
- Mar 19, 2014, 11:31:01 PM (11 years ago)
- Location:
- python/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
python/trunk
-
Property svn:mergeinfo
set to
/python/vendor/Python-2.7.6 merged eligible /python/vendor/current merged eligible
-
Property svn:mergeinfo
set to
-
python/trunk/Lib/test/test_time.py
r2 r391 2 2 import time 3 3 import unittest 4 import sys 4 5 5 6 … … 19 20 20 21 def test_conversions(self): 21 self.assert _(time.ctime(self.t)22 self.assertTrue(time.ctime(self.t) 22 23 == time.asctime(time.localtime(self.t))) 23 self.assert _(long(time.mktime(time.localtime(self.t)))24 self.assertTrue(long(time.mktime(time.localtime(self.t))) 24 25 == long(self.t)) 25 26 … … 38 39 self.fail('conversion specifier: %r failed.' % format) 39 40 41 # Issue #10762: Guard against invalid/non-supported format string 42 # so that Python don't crash (Windows crashes when the format string 43 # input to [w]strftime is not kosher. 44 if sys.platform.startswith('win'): 45 with self.assertRaises(ValueError): 46 time.strftime('%f') 47 40 48 def test_strftime_bounds_checking(self): 41 49 # Make sure that strftime() checks the bounds of the various parts … … 88 96 self.assertRaises(ValueError, time.strftime, '', 89 97 (1900, 1, 1, 0, 0, 0, 0, 367, -1)) 90 # Check daylight savings flag [-1, 1]91 self.assertRaises(ValueError, time.strftime, '',92 (1900, 1, 1, 0, 0, 0, 0, 1, -2))93 self.assertRaises(ValueError, time.strftime, '',94 (1900, 1, 1, 0, 0, 0, 0, 1, 2))95 98 96 99 def test_default_values_for_zero(self): … … 100 103 expected = "2000 01 01 00 00 00 1 001" 101 104 result = time.strftime("%Y %m %d %H %M %S %w %j", (0,)*9) 102 self.assertEqual s(expected, result)105 self.assertEqual(expected, result) 103 106 104 107 def test_strptime(self): 105 108 # Should be able to go round-trip from strftime to strptime without 106 # throwing an exception.109 # raising an exception. 107 110 tt = time.gmtime(self.t) 108 111 for directive in ('a', 'A', 'b', 'B', 'c', 'd', 'H', 'I', … … 120 123 time.asctime(time.gmtime(self.t)) 121 124 self.assertRaises(TypeError, time.asctime, 0) 122 125 self.assertRaises(TypeError, time.asctime, ()) 126 # XXX: Posix compiant asctime should refuse to convert 127 # year > 9999, but Linux implementation does not. 128 # self.assertRaises(ValueError, time.asctime, 129 # (12345, 1, 0, 0, 0, 0, 0, 0, 0)) 130 # XXX: For now, just make sure we don't have a crash: 131 try: 132 time.asctime((12345, 1, 1, 0, 0, 0, 0, 1, 0)) 133 except ValueError: 134 pass 135 136 @unittest.skipIf(not hasattr(time, "tzset"), 137 "time module has no attribute tzset") 123 138 def test_tzset(self): 124 if not hasattr(time, "tzset"):125 return # Can't test this; don't want the test suite to fail126 139 127 140 from os import environ … … 149 162 environ['TZ'] = utc 150 163 time.tzset() 151 self. failUnlessEqual(164 self.assertEqual( 152 165 time.gmtime(xmas2002), time.localtime(xmas2002) 153 166 ) 154 self. failUnlessEqual(time.daylight, 0)155 self. failUnlessEqual(time.timezone, 0)156 self. failUnlessEqual(time.localtime(xmas2002).tm_isdst, 0)167 self.assertEqual(time.daylight, 0) 168 self.assertEqual(time.timezone, 0) 169 self.assertEqual(time.localtime(xmas2002).tm_isdst, 0) 157 170 158 171 # Make sure we can switch to US/Eastern 159 172 environ['TZ'] = eastern 160 173 time.tzset() 161 self. failIfEqual(time.gmtime(xmas2002), time.localtime(xmas2002))162 self. failUnlessEqual(time.tzname, ('EST', 'EDT'))163 self. failUnlessEqual(len(time.tzname), 2)164 self. failUnlessEqual(time.daylight, 1)165 self. failUnlessEqual(time.timezone, 18000)166 self. failUnlessEqual(time.altzone, 14400)167 self. failUnlessEqual(time.localtime(xmas2002).tm_isdst, 0)168 self. failUnlessEqual(len(time.tzname), 2)174 self.assertNotEqual(time.gmtime(xmas2002), time.localtime(xmas2002)) 175 self.assertEqual(time.tzname, ('EST', 'EDT')) 176 self.assertEqual(len(time.tzname), 2) 177 self.assertEqual(time.daylight, 1) 178 self.assertEqual(time.timezone, 18000) 179 self.assertEqual(time.altzone, 14400) 180 self.assertEqual(time.localtime(xmas2002).tm_isdst, 0) 181 self.assertEqual(len(time.tzname), 2) 169 182 170 183 # Now go to the southern hemisphere. 171 184 environ['TZ'] = victoria 172 185 time.tzset() 173 self.failIfEqual(time.gmtime(xmas2002), time.localtime(xmas2002)) 174 self.failUnless(time.tzname[0] == 'AEST', str(time.tzname[0])) 175 self.failUnless(time.tzname[1] == 'AEDT', str(time.tzname[1])) 176 self.failUnlessEqual(len(time.tzname), 2) 177 self.failUnlessEqual(time.daylight, 1) 178 self.failUnlessEqual(time.timezone, -36000) 179 self.failUnlessEqual(time.altzone, -39600) 180 self.failUnlessEqual(time.localtime(xmas2002).tm_isdst, 1) 186 self.assertNotEqual(time.gmtime(xmas2002), time.localtime(xmas2002)) 187 188 # Issue #11886: Australian Eastern Standard Time (UTC+10) is called 189 # "EST" (as Eastern Standard Time, UTC-5) instead of "AEST" on some 190 # operating systems (e.g. FreeBSD), which is wrong. See for example 191 # this bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=93810 192 self.assertIn(time.tzname[0], ('AEST' 'EST'), time.tzname[0]) 193 self.assertTrue(time.tzname[1] == 'AEDT', str(time.tzname[1])) 194 self.assertEqual(len(time.tzname), 2) 195 self.assertEqual(time.daylight, 1) 196 self.assertEqual(time.timezone, -36000) 197 self.assertEqual(time.altzone, -39600) 198 self.assertEqual(time.localtime(xmas2002).tm_isdst, 1) 181 199 182 200 finally: … … 210 228 t0 = time.mktime(gt0) 211 229 t1 = time.mktime(gt1) 212 self.assert _(0 <= (t1-t0) < 0.2)230 self.assertTrue(0 <= (t1-t0) < 0.2) 213 231 214 232 def test_localtime_without_arg(self): … … 217 235 t0 = time.mktime(lt0) 218 236 t1 = time.mktime(lt1) 219 self.assert_(0 <= (t1-t0) < 0.2) 237 self.assertTrue(0 <= (t1-t0) < 0.2) 238 239 def test_mktime(self): 240 # Issue #1726687 241 for t in (-2, -1, 0, 1): 242 try: 243 tt = time.localtime(t) 244 except (OverflowError, ValueError): 245 pass 246 else: 247 self.assertEqual(time.mktime(tt), t) 248 220 249 221 250 def test_main():
Note:
See TracChangeset
for help on using the changeset viewer.