]> granicus.if.org Git - python/commitdiff
The test I saw failing this morning just happened to be run at 8am
authorBarry Warsaw <barry@python.org>
Thu, 29 Aug 2002 15:25:04 +0000 (15:25 +0000)
committerBarry Warsaw <barry@python.org>
Thu, 29 Aug 2002 15:25:04 +0000 (15:25 +0000)
localtime, which in -0400 is 12 noon GMT.  The bug boiled down to
broken conversion of 12 PM to hour 12 for the '%I %p' format string.

Added a test for this specific condition: Strptime12AMPMTests.  Fix to
_strptime.py coming momentarily.

Lib/test/test_strptime.py

index 03b7f97821f49429487acd210fc494868b9afb10..94a003d584982172daa73d44c30b9fc902505a21 100644 (file)
@@ -264,12 +264,24 @@ class FxnTests(unittest.TestCase):
         self.failUnless(strp_output[6] == self.time_tuple[6], "triggering of dayofweek() failed; %s != %s" % (strp_output[6], self.time_tuple[6]))
 
 
+class Strptime12AMPMTests(unittest.TestCase):
+    """Test a _strptime regression in '%I %p' at 12 noon (12 PM)"""
+
+    def test_twelve_noon_midnight(self):
+        eq = self.assertEqual
+        eq(time.strptime('12 PM', '%I %p')[3], 12)
+        eq(time.strptime('12 AM', '%I %p')[3], 0)
+        eq(_strptime.strptime('12 PM', '%I %p')[3], 12)
+        eq(_strptime.strptime('12 AM', '%I %p')[3], 0)
+
+
 def test_main():
     suite = unittest.TestSuite()
     suite.addTest(unittest.makeSuite(LocaleTime_Tests))
     suite.addTest(unittest.makeSuite(TimeRETests))
     suite.addTest(unittest.makeSuite(StrptimeTests))
     suite.addTest(unittest.makeSuite(FxnTests))
+    suite.addTest(unittest.makeSuite(Strptime12AMPMTests))
     test_support.run_suite(suite)