From: Tim Peters Date: Wed, 27 Oct 2004 02:33:15 +0000 (+0000) Subject: Paper over bug 1054615 by passing sane values to os.utime(). X-Git-Tag: v2.4b2~39 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f1af9c089634b84c1dbbdabed35cd2d43cf6ff04;p=python Paper over bug 1054615 by passing sane values to os.utime(). 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. --- diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py index 681209590c..0a614aea08 100644 --- a/Lib/test/test_traceback.py +++ b/Lib/test/test_traceback.py @@ -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.