]> granicus.if.org Git - python/commitdiff
Paper over bug 1054615 by passing sane values to os.utime().
authorTim Peters <tim.peters@gmail.com>
Wed, 27 Oct 2004 02:33:15 +0000 (02:33 +0000)
committerTim Peters <tim.peters@gmail.com>
Wed, 27 Oct 2004 02:33:15 +0000 (02:33 +0000)
The underlying bug still exists, but also existed in 2.3.4:
import.c's load_source_module() returns NULL if
PyOS_GetLastModificationTime() returns -1, but
PyOS_GetLastModificationTime() doesn't set any exception when it returns
-1, and neither does load_source_module() when it gets back -1.  This
leads to "SystemError: NULL result without error in PyObject_Call"
on an import that fails in this way.

Lib/test/test_traceback.py

index 681209590c22a91b7b0f9aa8ce8ad52607b749a9..0a614aea08ff34efb8e505937ebe06de09654df3 100644 (file)
@@ -41,7 +41,8 @@ class TracebackCases(unittest.TestCase):
         self.assert_(err[1].strip() == "[x for x in x] = x")
 
     def test_bug737473(self):
-        import sys, os, tempfile
+        import sys, os, tempfile, time
+
         savedpath = sys.path[:]
         testdir = tempfile.mkdtemp()
         try:
@@ -51,8 +52,10 @@ class TracebackCases(unittest.TestCase):
 def test():
     raise ValueError"""
 
+            # XXX Unclear why we're doing this next bit.
             if hasattr(os, 'utime'):
-                os.utime(testfile, (0, 0))
+                past = time.time() - 3
+                os.utime(testfile, (past, past))
             else:
                 import time
                 time.sleep(3) # not to stay in same mtime.