diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-05-26 15:27:15 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-05-26 15:27:15 +0200 |
commit | 286c91c01e94da742b45fb6cffeb0ae5825519fe (patch) | |
tree | cfba99406be456fcd910b06672c3ece63b36262c | |
parent | aa0d0ccb5db7f5278b8dbeb2115a6e9bc4fb9b25 (diff) | |
download | qutebrowser-286c91c01e94da742b45fb6cffeb0ae5825519fe.tar.gz qutebrowser-286c91c01e94da742b45fb6cffeb0ae5825519fe.zip |
Log exception traceback for init errors
Also improve error handling in test_err_windows
-rw-r--r-- | qutebrowser/utils/error.py | 1 | ||||
-rw-r--r-- | 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) |