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):