-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Closed
Description
Hi,
We've noticed an issue when using py.test on modules which have a dependency on python-ldap.
The stack trace is:
09:45:24 /usr/lib/python2.7/site-packages/py/_path/common.py:332: in visit
09:45:24 for x in Visitor(fil, rec, ignore, bf, sort).gen(self):
09:45:24 /usr/lib/python2.7/site-packages/py/_path/common.py:368: in gen
09:45:24 if p.check(dir=1) and (rec is None or rec(p))])
09:45:24 /usr/lib/python2.7/site-packages/_pytest/main.py:672: in _recurse
09:45:24 ihook = self.gethookproxy(path)
09:45:24 /usr/lib/python2.7/site-packages/_pytest/main.py:575: in gethookproxy
09:45:24 my_conftestmodules = pm._getconftestmodules(fspath)
09:45:24 /usr/lib/python2.7/site-packages/_pytest/config.py:315: in _getconftestmodules
09:45:24 mod = self._importconftest(conftestpath)
09:45:24 /usr/lib/python2.7/site-packages/_pytest/config.py:340: in _importconftest
09:45:24 raise ConftestImportFailure(conftestpath, sys.exc_info())
09:45:24 E ConftestImportFailure: SyntaxError('invalid syntax', ('<string>', 1, 1, '@py_builtins'))
09:45:24 E File "/usr/lib/python2.7/site-packages/_pytest/assertion/rewrite.py", line 207, in load_module
09:45:24 E py.builtin.exec_(co, mod.__dict__)
09:45:24 E File "/usr/lib/python2.7/site-packages/py/_builtin.py", line 221, in exec_
09:45:24 E exec2(obj, globals, locals)
09:45:24 E File "<string>", line 7, in exec2
09:45:24 E File "/home/jenkins/workspace/cloud-explorer/software/nexus/cloud_explorer/python/sl/test_explorer/explorer_unit_test/conftest.py", line 6, in <module>
09:45:24 E from sl.explorer import upgrade
09:45:24 E File "/usr/lib/python2.7/site-packages/_pytest/assertion/rewrite.py", line 207, in load_module
09:45:24 E py.builtin.exec_(co, mod.__dict__)
09:45:24 E File "/usr/lib/python2.7/site-packages/py/_builtin.py", line 221, in exec_
09:45:24 E exec2(obj, globals, locals)
09:45:24 E File "<string>", line 7, in exec2
09:45:24 E File "/home/jenkins/workspace/cloud-explorer/software/nexus/cloud_explorer/python/sl/explorer/upgrade.py", line 9, in <module>
09:45:24 E import ldap
09:45:24 E File "/usr/lib64/python2.7/site-packages/ldap/__init__.py", line 85, in <module>
09:45:24 E from functions import open,initialize,init,get_option,set_option,escape_str
09:45:24 E File "/usr/lib/python2.7/site-packages/_pytest/assertion/rewrite.py", line 207, in load_module
09:45:24 E py.builtin.exec_(co, mod.__dict__)
09:45:24 E File "/usr/lib/python2.7/site-packages/py/_builtin.py", line 221, in exec_
09:45:24 E exec2(obj, globals, locals)
09:45:24 E File "<string>", line 7, in exec2
09:45:24 E File "/usr/lib64/python2.7/site-packages/ldap/functions.py", line 36, in <module>
09:45:24 E from ldap.ldapobject import LDAPObject
09:45:24 E File "/usr/lib/python2.7/site-packages/_pytest/assertion/rewrite.py", line 207, in load_module
09:45:24 E py.builtin.exec_(co, mod.__dict__)
09:45:24 E File "/usr/lib/python2.7/site-packages/py/_builtin.py", line 221, in exec_
09:45:24 E exec2(obj, globals, locals)
09:45:24 E File "<string>", line 7, in exec2
09:45:24 E File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 37, in <module>
09:45:24 E from ldap.schema import SCHEMA_ATTRS
09:45:24 E File "/usr/lib64/python2.7/site-packages/ldap/schema/__init__.py", line 11, in <module>
09:45:24 E from ldap.schema.subentry import SubSchema,SCHEMA_ATTRS,SCHEMA_CLASS_MAPPING,SCHEMA_ATTR_MAPPING,urlfetch
09:45:24 E File "/usr/lib/python2.7/site-packages/_pytest/assertion/rewrite.py", line 207, in load_module
09:45:24 E py.builtin.exec_(co, mod.__dict__)
09:45:24 E File "/usr/lib/python2.7/site-packages/py/_builtin.py", line 221, in exec_
09:45:24 E exec2(obj, globals, locals)
09:45:24 E File "<string>", line 7, in exec2
09:45:24 E File "/usr/lib64/python2.7/site-packages/ldap/schema/subentry.py", line 19, in <module>
09:45:24 E o = eval(_name)
This is running on a Fedora 20 machine with py.test 3.0.1 and python-ldap version 2.4.17. Although I can repeat the same on a fedora 23 machine running py.test 3.0.1/ 3.0.0 and python ldap 2.4.17/27
I can't seem to recreate this with a simple minimal example. Just having a test which references a conftest which imports ldap doesn't seem to work - so something strange must be happening, but I don't know what else to try.
(edited by @The-Compiler to add code symbols around the stacktrace)
Metadata
Metadata
Assignees
Labels
No labels