Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 7 additions & 12 deletions src/_pytest/_code/code.py
Original file line number Diff line number Diff line change
Expand Up @@ -241,25 +241,20 @@ def getsource(self, astcache=None):

def ishidden(self):
""" return True if the current frame has a var __tracebackhide__
resolving to True
resolving to True.

If __tracebackhide__ is a callable, it gets called with the
ExceptionInfo instance and can decide whether to hide the traceback.

mostly for internal use
"""
try:
tbh = self.frame.f_locals["__tracebackhide__"]
except KeyError:
try:
tbh = self.frame.f_globals["__tracebackhide__"]
except KeyError:
return False

if callable(tbh):
f = self.frame
tbh = f.f_locals.get(
"__tracebackhide__", f.f_globals.get("__tracebackhide__", False)
)
if tbh and callable(tbh):
return tbh(None if self._excinfo is None else self._excinfo())
else:
return tbh
return tbh

def __str__(self):
try:
Expand Down