Commit b21f83fc authored by Vincent Pelletier's avatar Vincent Pelletier

BusinessTemplate_getPythonSourceCodeMessageList: Retry in case of pylint internal failure.

Pylint, at least our current version (still 1.4.4 as some more recent
versions are apparently much slower), may choke on some imports on the
first validation since Zope was started, only to later succeed. Hypothesis
is that it fails to analyse some imported modules, leaving empty shells
behind in some cache, making a second test avoid the error.
Here is one such error:
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 86, in cache_generator
    for result in generator:
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 327, in wrapped
    for res in _func(node, context, **kwargs):
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 351, in wrapper
    for node in func(*args, **kwargs):
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/inference.py", line 190, in infer_callfunc
    for callee in self.func.infer(context):
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 86, in cache_generator
    for result in generator:
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 327, in wrapped
    for res in _func(node, context, **kwargs):
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 351, in wrapper
    for node in func(*args, **kwargs):
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/inference.py", line 247, in infer_getattr
    for obj in owner.igetattr(self.attrname, context):
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/bases.py", line 187, in igetattr
    context.push((self._proxied, name))
  File "eggs/astroid-1.3.8-py2.7.egg/astroid/raw_building.py", line 360, in _set_proxied
    return _CONST_PROXY[const.value.__class__]
KeyError: <type 'CompiledFFI'>
parent 8990ee68
Pipeline #23861 failed with stage
in 0 seconds