[Zope3-checkins] CVS: Zope3/src/datetime/tests - test_datetime.py:1.31

Tim Peters tim.one@comcast.net
Thu, 6 Feb 2003 11:41:35 -0500


Update of /cvs-repository/Zope3/src/datetime/tests
In directory cvs.zope.org:/tmp/cvs-serv20280/src/datetime/tests

Modified Files:
	test_datetime.py 
Log Message:
SF bug 680864:  test_datetime fails for non-unix epoch
Apparently MAC OS 9 doesn't have POSIX-conforming timestamps.  A test
fails as a result, but at least for this specific test it's easy enough
to get the POSIX epoch out of it.


=== Zope3/src/datetime/tests/test_datetime.py 1.30 => 1.31 ===
--- Zope3/src/datetime/tests/test_datetime.py:1.30	Wed Feb  5 17:30:06 2003
+++ Zope3/src/datetime/tests/test_datetime.py	Thu Feb  6 11:41:33 2003
@@ -2257,18 +2257,17 @@
         self.assertRaises(TypeError, meth)
 
         # Try to make sure tz= actually does some conversion.
-        timestamp = 1000000000  #  2001-09-09 01:46:40 UTC, give or take
-        utc = FixedOffset(0, "utc", 0)
-        expected = datetime(2001, 9, 9, 1, 46, 40)
-        got = datetime.utcfromtimestamp(timestamp)
-        # We don't support leap seconds, but maybe the platfrom insists
-        # on using them, so don't demand exact equality).
-        self.failUnless(abs(got - expected) < timedelta(minutes=1))
-
-        est = FixedOffset(-5*60, "est", 0)
-        expected -= timedelta(hours=5)
-        got = datetime.fromtimestamp(timestamp, est).replace(tzinfo=None)
-        self.failUnless(abs(got - expected) < timedelta(minutes=1))
+        timestamp = 1000000000
+        utcdatetime = datetime.utcfromtimestamp(timestamp)
+        # In POSIX (epoch 1970), that's 2001-09-09 01:46:40 UTC, give or take.
+        # But on some flavor of Mac, it's nowhere near that.  So we can't have
+        # any idea here what time that actually is, we can only test that
+        # relative changes match.
+        utcoffset = timedelta(hours=-15, minutes=39) # arbitrary, but not zero
+        tz = FixedOffset(utcoffset, "tz", 0)
+        expected = utcdatetime + utcoffset
+        got = datetime.fromtimestamp(timestamp, tz)
+        self.assertEqual(expected, got.replace(tzinfo=None))
 
     def test_tzinfo_utcnow(self):
         meth = self.theclass.utcnow