Ref #23643 -- Added plain text report of exception chain.
This commit is contained in:
parent
c954931abd
commit
59383f1e3a
|
@ -889,10 +889,15 @@ In template {{ template_info.name }}, error at line {{ template_info.line }}
|
||||||
{% else %}
|
{% else %}
|
||||||
{{ source_line.0 }} : {{ source_line.1 }}
|
{{ source_line.0 }} : {{ source_line.1 }}
|
||||||
{% endifequal %}{% endfor %}{% endif %}
|
{% endifequal %}{% endfor %}{% endif %}
|
||||||
Traceback:
|
Traceback:{% for frame in frames %}
|
||||||
{% for frame in frames %}File "{{ frame.filename|escape }}" in {{ frame.function|escape }}
|
{% ifchanged frame.exc_cause %}{% if frame.exc_cause %}{% if frame.exc_cause_explicit %}
|
||||||
{% if frame.context_line %} {{ frame.lineno }}. {{ frame.context_line|escape }}{% endif %}
|
The above exception ({{ frame.exc_cause }}) was the direct cause of the following exception:
|
||||||
{% endfor %}
|
{% else %}
|
||||||
|
During handling of the above exception ({{ frame.exc_cause }}), another exception occurred:
|
||||||
|
{% endif %}{% endif %}{% endifchanged %}
|
||||||
|
File "{{ frame.filename|escape }}" in {{ frame.function|escape }}
|
||||||
|
{% if frame.context_line %} {{ frame.lineno }}. {{ frame.context_line|escape }}{% endif %}{% endfor %}
|
||||||
|
|
||||||
Exception Type: {{ exception_type|escape }}{% if request %} at {{ request.path_info|escape }}{% endif %}
|
Exception Type: {{ exception_type|escape }}{% if request %} at {{ request.path_info|escape }}{% endif %}
|
||||||
Exception Value: {{ exception_value|force_escape }}
|
Exception Value: {{ exception_value|force_escape }}
|
||||||
</textarea>
|
</textarea>
|
||||||
|
|
|
@ -32,10 +32,13 @@ class Py3ExceptionReporterTests(TestCase):
|
||||||
|
|
||||||
explicit_exc = 'The above exception ({0}) was the direct cause of the following exception:'
|
explicit_exc = 'The above exception ({0}) was the direct cause of the following exception:'
|
||||||
implicit_exc = 'During handling of the above exception ({0}), another exception occurred:'
|
implicit_exc = 'During handling of the above exception ({0}), another exception occurred:'
|
||||||
|
|
||||||
reporter = ExceptionReporter(request, exc_type, exc_value, tb)
|
reporter = ExceptionReporter(request, exc_type, exc_value, tb)
|
||||||
html = reporter.get_traceback_html()
|
html = reporter.get_traceback_html()
|
||||||
self.assertIn(explicit_exc.format("Top level"), html)
|
# Both messages are twice on page -- one rendered as html,
|
||||||
self.assertIn(implicit_exc.format("Second exception"), html)
|
# one as plain text (for pastebin)
|
||||||
|
self.assertEqual(2, html.count(explicit_exc.format("Top level")))
|
||||||
|
self.assertEqual(2, html.count(implicit_exc.format("Second exception")))
|
||||||
|
|
||||||
text = reporter.get_traceback_text()
|
text = reporter.get_traceback_text()
|
||||||
self.assertIn(explicit_exc.format("Top level"), text)
|
self.assertIn(explicit_exc.format("Top level"), text)
|
||||||
|
|
Loading…
Reference in New Issue