Author: Brian Kearns <bdkea...@gmail.com>
Branch: 
Changeset: r62727:74d32ef99de4
Date: 2013-03-24 22:02 -0400
http://bitbucket.org/pypy/pypy/changeset/74d32ef99de4/

Log:    test and fix for time.accept2dyear behavior (thanks chrish42)

diff --git a/pypy/module/rctime/interp_time.py 
b/pypy/module/rctime/interp_time.py
--- a/pypy/module/rctime/interp_time.py
+++ b/pypy/module/rctime/interp_time.py
@@ -432,10 +432,10 @@
             glob_buf.c_tm_zone = lltype.nullptr(rffi.CCHARP.TO)
             rffi.setintfield(glob_buf, 'c_tm_gmtoff', 0)
 
-    w_accept2dyear = _get_module_object(space, "accept2dyear")
-    accept2dyear = space.int_w(w_accept2dyear)
+    if y < 1900:
+        w_accept2dyear = _get_module_object(space, "accept2dyear")
+        accept2dyear = space.int_w(w_accept2dyear)
 
-    if y < 1900:
         if not accept2dyear:
             raise OperationError(space.w_ValueError,
                 space.wrap("year >= 1900 required"))
diff --git a/pypy/module/rctime/test/test_rctime.py 
b/pypy/module/rctime/test/test_rctime.py
--- a/pypy/module/rctime/test/test_rctime.py
+++ b/pypy/module/rctime/test/test_rctime.py
@@ -139,6 +139,16 @@
         ltime = rctime.localtime()
         assert rctime.asctime(tuple(ltime)) == rctime.asctime(ltime)
 
+    def test_accept2dyear_access(self):
+        import time as rctime
+
+        accept2dyear = rctime.accept2dyear
+        del rctime.accept2dyear
+        try:
+            assert rctime.asctime((12345,) + (0,) * 8).split()[-1] == '12345'
+        finally:
+            rctime.accept2dyear = accept2dyear
+
     def test_struct_time(self):
         import time as rctime
         raises(TypeError, rctime.struct_time)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to