diff options
author | Philipp Albrecht <palbrecht@mailbox.org> | 2023-07-14 10:01:37 +0200 |
---|---|---|
committer | Philipp Albrecht <palbrecht@mailbox.org> | 2023-07-20 15:09:48 +0200 |
commit | e3a58e84c6dbe9b177ba4aa2d2e22b73849d265d (patch) | |
tree | b267befc85ec88908eafa66d0bc8be2a5489ba82 | |
parent | f91ace96223cac8161c16dd061907e138fe85111 (diff) | |
download | qutebrowser-e3a58e84c6dbe9b177ba4aa2d2e22b73849d265d.tar.gz qutebrowser-e3a58e84c6dbe9b177ba4aa2d2e22b73849d265d.zip |
Don't crash on --logfilter
-rw-r--r-- | qutebrowser/misc/earlyinit.py | 3 | ||||
-rw-r--r-- | qutebrowser/utils/log.py | 2 | ||||
-rw-r--r-- | tests/end2end/test_invocations.py | 13 | ||||
-rw-r--r-- | tests/unit/utils/test_qtlog.py | 4 |
4 files changed, 17 insertions, 5 deletions
diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py index a0265d653..bf6da7b74 100644 --- a/qutebrowser/misc/earlyinit.py +++ b/qutebrowser/misc/earlyinit.py @@ -295,8 +295,9 @@ def init_log(args): Args: args: The argparse namespace. """ - from qutebrowser.utils import log + from qutebrowser.utils import log, qtlog log.init_log(args) + qtlog.init(args) log.init.debug("Log initialized.") log.init.debug(str(machinery.INFO)) diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py index 0188f594e..ece0bd5e0 100644 --- a/qutebrowser/utils/log.py +++ b/qutebrowser/utils/log.py @@ -31,7 +31,6 @@ import argparse from typing import (TYPE_CHECKING, Any, Iterator, Mapping, MutableSequence, Optional, Set, Tuple, Union, TextIO, Literal, cast) -from qutebrowser.utils import qtlog # Optional imports try: import colorama @@ -205,7 +204,6 @@ def init_log(args: argparse.Namespace) -> None: root.setLevel(logging.NOTSET) logging.captureWarnings(True) _init_py_warnings() - qtlog.init(args) _log_inited = True diff --git a/tests/end2end/test_invocations.py b/tests/end2end/test_invocations.py index 56524a031..caa86dfbb 100644 --- a/tests/end2end/test_invocations.py +++ b/tests/end2end/test_invocations.py @@ -25,6 +25,7 @@ import importlib import re import json import platform +from contextlib import nullcontext as does_not_raise import pytest from qutebrowser.qt.core import QProcess, QPoint @@ -916,3 +917,15 @@ def test_sandboxing( status = dict(line.split("\t") for line in lines) assert status == expected_status + + +@pytest.mark.not_frozen +def test_logfilter_arg_does_not_crash(request, quteproc_new): + args = ['--temp-basedir', '--debug', '--logfilter', 'commands, init, ipc, webview'] + + with does_not_raise(): + quteproc_new.start(args=args + _base_args(request.config)) + + # Waiting for quit to make sure no other warning is emitted + quteproc_new.send_cmd(':quit') + quteproc_new.wait_for_quit() diff --git a/tests/unit/utils/test_qtlog.py b/tests/unit/utils/test_qtlog.py index 099a7a33f..3dd62b9a9 100644 --- a/tests/unit/utils/test_qtlog.py +++ b/tests/unit/utils/test_qtlog.py @@ -24,7 +24,7 @@ import logging import pytest from qutebrowser import qutebrowser -from qutebrowser.utils import log, qtlog +from qutebrowser.utils import qtlog from qutebrowser.qt import core as qtcore @@ -45,7 +45,7 @@ class TestQtMessageHandler: def init_args(self): parser = qutebrowser.get_argparser() args = parser.parse_args([]) - log.init_log(args) + qtlog.init(args) def test_empty_message(self, caplog): """Make sure there's no crash with an empty message.""" |