From 05f29b7a3aabc89000cce21d7bfec368f9ba5a26 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Wed, 25 Jan 2012 01:35:26 +0100 Subject: [PATCH] Make test work under 32-bit systems, and when invoked through Lib/test/regrtest.py (rather than `-m test.regrtest`) --- Lib/test/test_import.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py index 33277d7a670..95b90b8b308 100644 --- a/Lib/test/test_import.py +++ b/Lib/test/test_import.py @@ -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):