summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-01-25 00:35:26 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2012-01-25 00:35:26 (GMT)
commite3668e98426e96307b2fb76322080cccd1187835 (patch)
treeaacc64dc63227e3f68bdd94169fd8ceee78720bc
parenta1f948bdec94e1c512bb42c178062c14963a77f4 (diff)
downloadcpython-e3668e98426e96307b2fb76322080cccd1187835.zip
cpython-e3668e98426e96307b2fb76322080cccd1187835.tar.gz
cpython-e3668e98426e96307b2fb76322080cccd1187835.tar.bz2
Make test work under 32-bit systems, and when invoked through Lib/test/regrtest.py
(rather than `-m test.regrtest`)
-rw-r--r--Lib/test/test_import.py25
1 files changed, 16 insertions, 9 deletions
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py
index 2acc155..e4922e3 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):