summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug2895_improve_leap_assert2
-rw-r--r--src/leap/common/check.py9
2 files changed, 7 insertions, 4 deletions
diff --git a/changes/bug2895_improve_leap_assert b/changes/bug2895_improve_leap_assert
new file mode 100644
index 0000000..8caea7e
--- /dev/null
+++ b/changes/bug2895_improve_leap_assert
@@ -0,0 +1,2 @@
+ o Improve leap_assert so that it only prints the traceback from the
+ leap_assert call up. Closes #2895 \ No newline at end of file
diff --git a/src/leap/common/check.py b/src/leap/common/check.py
index a2d39a6..e6b0b52 100644
--- a/src/leap/common/check.py
+++ b/src/leap/common/check.py
@@ -18,7 +18,6 @@
Set of functions to help checking situations
"""
-import inspect
import logging
import traceback
@@ -39,9 +38,11 @@ def leap_assert(condition, message=""):
if not condition:
logger.error("Bug: %s" % (message,))
try:
- frame = inspect.currentframe()
- stack_trace = traceback.format_stack(frame)
- logger.error(''.join(stack_trace))
+ for formatted_line in traceback.format_list(
+ traceback.extract_stack()[:-1]):
+ for line in formatted_line.split("\n"):
+ if len(line.strip()) > 0:
+ logger.error(line)
except Exception as e:
logger.error("Bug in leap_assert: %r" % (e,))
assert condition, message