]> granicus.if.org Git - python/commitdiff
Make test work under 32-bit systems, and when invoked through Lib/test/regrtest.py
authorAntoine Pitrou <solipsis@pitrou.net>
Wed, 25 Jan 2012 00:35:26 +0000 (01:35 +0100)
committerAntoine Pitrou <solipsis@pitrou.net>
Wed, 25 Jan 2012 00:35:26 +0000 (01:35 +0100)
(rather than `-m test.regrtest`)

Lib/test/test_import.py

index 33277d7a6704a99519104fe2f203eb2a90cb027a..95b90b8b308868625200da6a3503827d54d9a7bd 100644 (file)
@@ -313,14 +313,22 @@ class ImportTests(unittest.TestCase):
     def test_timestamp_overflow(self):
         # A modification timestamp larger than 2**32 should not be a problem
         # when importing a module (issue #11235).
-        source = TESTFN + ".py"
-        compiled = imp.cache_from_source(source)
-        with open(source, 'w') as f:
-            pass
-        os.utime(source, (2 ** 33, 2 ** 33))
-        __import__(TESTFN)
-        # The pyc file was created.
-        os.stat(compiled)
+        sys.path.insert(0, os.curdir)
+        try:
+            source = TESTFN + ".py"
+            compiled = imp.cache_from_source(source)
+            with open(source, 'w') as f:
+                pass
+            try:
+                os.utime(source, (2 ** 33, 2 ** 33))
+            except OverflowError:
+                self.skipTest("cannot set modification time to large integer")
+            __import__(TESTFN)
+            # The pyc file was created.
+            os.stat(compiled)
+        finally:
+            del sys.path[0]
+            remove_files(TESTFN)
 
 
 class PycRewritingTests(unittest.TestCase):