fix test_importall to not stop on skipped plugins and fix the uncovered failure of genscript: standalone.py template is now safely importable
--HG-- branch : trunk
This commit is contained in:
parent
4a568f43fe
commit
76e49b57bf
|
@ -8,18 +8,10 @@ import base64
|
|||
import zlib
|
||||
import imp
|
||||
|
||||
if sys.version_info >= (3,0):
|
||||
exec("def do_exec(co, loc): exec(co, loc)\n")
|
||||
import pickle
|
||||
sources = sources.encode("ascii") # ensure bytes
|
||||
sources = pickle.loads(zlib.decompress(base64.decodebytes(sources)))
|
||||
else:
|
||||
import cPickle as pickle
|
||||
exec("def do_exec(co, loc): exec co in loc\n")
|
||||
sources = pickle.loads(zlib.decompress(base64.decodestring(sources)))
|
||||
|
||||
class DictImporter(object):
|
||||
sources = sources
|
||||
def __init__(self, sources):
|
||||
self.sources = sources
|
||||
|
||||
def find_module(self, fullname, path=None):
|
||||
if fullname in self.sources:
|
||||
return self
|
||||
|
@ -53,12 +45,19 @@ class DictImporter(object):
|
|||
res = self.sources.get(name+'.__init__')
|
||||
return res
|
||||
|
||||
|
||||
|
||||
importer = DictImporter()
|
||||
|
||||
sys.meta_path.append(importer)
|
||||
|
||||
if __name__ == "__main__":
|
||||
if sys.version_info >= (3,0):
|
||||
exec("def do_exec(co, loc): exec(co, loc)\n")
|
||||
import pickle
|
||||
sources = sources.encode("ascii") # ensure bytes
|
||||
sources = pickle.loads(zlib.decompress(base64.decodebytes(sources)))
|
||||
else:
|
||||
import cPickle as pickle
|
||||
exec("def do_exec(co, loc): exec co in loc\n")
|
||||
sources = pickle.loads(zlib.decompress(base64.decodestring(sources)))
|
||||
|
||||
importer = DictImporter(sources)
|
||||
sys.meta_path.append(importer)
|
||||
|
||||
import py
|
||||
py.cmdline.pytest()
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import py
|
||||
import types
|
||||
import sys
|
||||
from py._test.outcome import Skipped
|
||||
|
||||
def checksubpackage(name):
|
||||
obj = getattr(py, name)
|
||||
|
@ -29,7 +30,6 @@ def test_importall():
|
|||
nodirs = [
|
||||
base.join('_path', 'gateway',),
|
||||
base.join('_code', 'oldmagic.py'),
|
||||
base.join('_compat', 'testing'),
|
||||
]
|
||||
if sys.version_info >= (3,0):
|
||||
nodirs.append(base.join('_code', '_assertionold.py'))
|
||||
|
@ -50,7 +50,10 @@ def test_importall():
|
|||
else:
|
||||
relpath = relpath.replace(base.sep, '.')
|
||||
modpath = 'py.%s' % relpath
|
||||
check_import(modpath)
|
||||
try:
|
||||
check_import(modpath)
|
||||
except Skipped:
|
||||
pass
|
||||
|
||||
def check_import(modpath):
|
||||
py.builtin.print_("checking import", modpath)
|
||||
|
|
Loading…
Reference in New Issue