From e3668e98426e96307b2fb76322080cccd1187835 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 | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py index 2acc155f138..e4922e3c8a2 100644 --- a/Lib/test/test_import.py +++ b/Lib/test/test_import.py @@ -280,15 +280,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" - self.addCleanup(remove_files, TESTFN) - compiled = source + ('c' if __debug__ else 'o') - 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 = source + ('c' if __debug__ else 'o') + 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):