Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/bub/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ def _instrument_bub() -> None:
from loguru import logger

logger.remove()
logger.add(sys.stderr, colorize=True)
logger.add(sys.stderr, colorize=True, diagnose=False)

try:
import logfire
from logfire.integrations.loguru import LogfireHandler

logfire.configure()
logger.add(LogfireHandler(), format="{message}")
logger.add(LogfireHandler(), format="{message}", diagnose=False)
except Exception as exc:
logger.debug("logfire instrumentation disabled: {}", exc)

Expand Down
14 changes: 14 additions & 0 deletions tests/test_cli_help.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import annotations

import pytest
from loguru import logger

from bub.builtin.tools import show_help

Expand All @@ -14,3 +15,16 @@ async def test_help_lists_correct_tool_names() -> None:

assert ",bash_output" not in help_text
assert ",kill_bash" not in help_text


def test_cli_instrumentation_disables_local_variable_diagnostics(monkeypatch: pytest.MonkeyPatch) -> None:
from bub.__main__ import _instrument_bub

sink_options: list[dict[str, object]] = []
monkeypatch.setattr(logger, "remove", lambda: None)
monkeypatch.setattr(logger, "add", lambda _sink, **options: sink_options.append(options))

_instrument_bub()

assert sink_options
assert all(options.get("diagnose") is False for options in sink_options)
Loading