Merge remote-tracking branch 'upstream/master' into merge-master-into-features
# Conflicts: # AUTHORS # CHANGELOG.rst # _pytest/pytester.py
This commit is contained in:
@@ -14,6 +14,7 @@ from _pytest.compat import (
|
||||
getfslineno, get_real_func,
|
||||
is_generator, isclass, getimfunc,
|
||||
getlocation, getfuncargnames,
|
||||
safe_getattr,
|
||||
)
|
||||
|
||||
def pytest_sessionstart(session):
|
||||
@@ -124,8 +125,6 @@ def getfixturemarker(obj):
|
||||
exceptions."""
|
||||
try:
|
||||
return getattr(obj, "_pytestfixturefunction", None)
|
||||
except KeyboardInterrupt:
|
||||
raise
|
||||
except Exception:
|
||||
# some objects raise errors like request (from flask import request)
|
||||
# we don't expect them to be fixture functions
|
||||
@@ -1068,7 +1067,9 @@ class FixtureManager(object):
|
||||
self._holderobjseen.add(holderobj)
|
||||
autousenames = []
|
||||
for name in dir(holderobj):
|
||||
obj = getattr(holderobj, name, None)
|
||||
# The attribute can be an arbitrary descriptor, so the attribute
|
||||
# access below can raise. safe_getatt() ignores such exceptions.
|
||||
obj = safe_getattr(holderobj, name, None)
|
||||
# fixture functions have a pytest_funcarg__ prefix (pre-2.3 style)
|
||||
# or are "@pytest.fixture" marked
|
||||
marker = getfixturemarker(obj)
|
||||
|
||||
Reference in New Issue
Block a user