Port remaining test fixes, and fix test_importlib too.

This commit is contained in:
Antoine Pitrou 2012-01-25 03:00:57 +01:00
parent 05f29b7a3a
commit dd21f68963
2 changed files with 14 additions and 1 deletions

View File

@ -4,6 +4,7 @@ from .. import abc
from .. import util
from . import util as source_util
import errno
import imp
import marshal
import os
@ -136,7 +137,14 @@ class SimpleTest(unittest.TestCase):
compiled = imp.cache_from_source(source)
with open(source, 'w') as f:
f.write("x = 5")
os.utime(source, (2 ** 33, 2 ** 33))
try:
os.utime(source, (2 ** 33, 2 ** 33))
except OverflowError:
self.skipTest("cannot set modification time to large integer")
except OSError as e:
if e.errno != getattr(errno, 'EOVERFLOW', None):
raise
self.skipTest("cannot set modification time to large integer ({})".format(e))
loader = _bootstrap._SourceFileLoader('_temp', mapping['_temp'])
mod = loader.load_module('_temp')
# Sanity checks.

View File

@ -11,6 +11,7 @@ import stat
import sys
import unittest
import textwrap
import errno
from test.support import (
EnvironmentVarGuard, TESTFN, check_warnings, forget, is_jython,
@ -323,6 +324,10 @@ class ImportTests(unittest.TestCase):
os.utime(source, (2 ** 33, 2 ** 33))
except OverflowError:
self.skipTest("cannot set modification time to large integer")
except OSError as e:
if e.errno != getattr(errno, 'EOVERFLOW', None):
raise
self.skipTest("cannot set modification time to large integer ({})".format(e))
__import__(TESTFN)
# The pyc file was created.
os.stat(compiled)