# HG changeset patch -- Bitbucket.org # Project py-trunk # URL http://bitbucket.org/hpk42/py-trunk/overview # User holger krekel <hol...@merlinux.eu> # Date 1274278943 -7200 # Node ID 40db2834509658ebb5c7c5881e7cc115fc14a1e3 # Parent 1940650af8d4761e9b36bb49bc99b57064fc2941 fix issue95 - treat a failing pytest_genscript import as non-critical, give a hint.
--- a/testing/plugin/test_pytest_genscript.py +++ b/testing/plugin/test_pytest_genscript.py @@ -37,3 +37,4 @@ def test_rundist(testdir, pytestconfig, result.stdout.fnmatch_lines([ "*1 passed*", ]) + --- a/py/_test/pluginmanager.py +++ b/py/_test/pluginmanager.py @@ -140,6 +140,13 @@ class PluginManager(object): except py.test.skip.Exception: e = py.std.sys.exc_info()[1] self._hints.append("skipped plugin %r: %s" %((modname, e.msg))) + except ImportError: + e = py.std.sys.exc_info()[1] + if "zlib" in str(e) and modname == "pytest_genscript": + self._hints.append("skipped plugin %r: failed to import %r" %( + (modname, str(e)))) + else: + raise else: check_old_use(mod, modname) self.register(mod) --- a/testing/test_pluginmanager.py +++ b/testing/test_pluginmanager.py @@ -489,3 +489,29 @@ class TestHookRelay: res = mcm.hello(arg=3) assert res == 4 +def test_pluginmanager_import_error_zlib(testdir): + p = testdir.makepyfile(""" + try: + import builtins + except ImportError: + import __builtin__ as builtins + oldimport = builtins.__import__ + + def import_(name, *args): + #print "import", name, "start" + if name == "zlib": + raise ImportError("zlib") + mod = oldimport(name, *args) + #print "import", name, "successful" + return mod + + if __name__ == "__main__": + builtins.__import__ = import_ + import py + py.test.cmdline.main(["--traceconfig"]) + """) + result = testdir.runpython(p) + result.stdout.fnmatch_lines([ + "*skipped plugin*genscript*import*zlib*", + ]) + _______________________________________________ py-svn mailing list py-svn@codespeak.net http://codespeak.net/mailman/listinfo/py-svn