From 286c91c01e94da742b45fb6cffeb0ae5825519fe Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 26 May 2020 15:27:15 +0200 Subject: Log exception traceback for init errors Also improve error handling in test_err_windows --- qutebrowser/utils/error.py | 1 + tests/unit/utils/test_error.py | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/qutebrowser/utils/error.py b/qutebrowser/utils/error.py index cfc3c3f5a..4cba06a10 100644 --- a/qutebrowser/utils/error.py +++ b/qutebrowser/utils/error.py @@ -63,6 +63,7 @@ def handle_fatal_exc(exc: BaseException, ] log.misc.exception('\n'.join(lines)) else: + log.misc.exception("Fatal exception:") if pre_text: msg_text = '{}: {}'.format(pre_text, exc) else: diff --git a/tests/unit/utils/test_error.py b/tests/unit/utils/test_error.py index 82ca3ec55..a1a7ea6de 100644 --- a/tests/unit/utils/test_error.py +++ b/tests/unit/utils/test_error.py @@ -73,10 +73,11 @@ def test_no_err_windows(caplog, exc, name, exc_text): ('foo', 'bar', 'foo: exception\n\nbar'), ('', 'bar', 'exception\n\nbar'), ], ids=repr) -def test_err_windows(qtbot, qapp, pre_text, post_text, expected): +def test_err_windows(qtbot, qapp, pre_text, post_text, expected, caplog): def err_window_check(): w = qapp.activeModalWidget() + assert w is not None try: qtbot.add_widget(w) if not utils.is_mac: @@ -87,7 +88,9 @@ def test_err_windows(qtbot, qapp, pre_text, post_text, expected): finally: w.close() - QTimer.singleShot(0, err_window_check) - error.handle_fatal_exc(ValueError("exception"), 'title', - pre_text=pre_text, post_text=post_text, - no_err_windows=False) + QTimer.singleShot(10, err_window_check) + + with caplog.at_level(logging.ERROR): + error.handle_fatal_exc(ValueError("exception"), 'title', + pre_text=pre_text, post_text=post_text, + no_err_windows=False) -- cgit v1.2.3-54-g00ecf