mekosotto commited on
Commit
fb3eff2
·
1 Parent(s): b38c6b3

fix(test): attach caplog handler to non-propagating explainer logger

Browse files

Without this, the regression-detection branch in the live integration
test was silently dead — caplog never received explainer log records
(propagate=False on src.core.logger.get_logger), so every template
fallback hit pytest.fail instead of pytest.skip.

Files changed (1) hide show
  1. tests/llm/test_explainer.py +9 -2
tests/llm/test_explainer.py CHANGED
@@ -275,8 +275,15 @@ class TestLiveOpenRouterLLM:
275
  import logging
276
  from src.llm import explainer as ex
277
 
278
- with caplog.at_level(logging.INFO, logger="src.llm.explainer"):
279
- result = ex.explain(_payload(), modality="bbb")
 
 
 
 
 
 
 
280
 
281
  # Flaky-network safety net: only skip when we have evidence the
282
  # template fallback fired due to transient infra (rate-limit,
 
275
  import logging
276
  from src.llm import explainer as ex
277
 
278
+ # The explainer's logger has propagate=False (see src/core/logger.py),
279
+ # so caplog's root-level handler never sees its records. Attach the
280
+ # caplog handler directly to bypass propagation.
281
+ ex.logger.addHandler(caplog.handler)
282
+ try:
283
+ with caplog.at_level(logging.INFO, logger="src.llm.explainer"):
284
+ result = ex.explain(_payload(), modality="bbb")
285
+ finally:
286
+ ex.logger.removeHandler(caplog.handler)
287
 
288
  # Flaky-network safety net: only skip when we have evidence the
289
  # template fallback fired due to transient infra (rate-limit,