style: apply Black formatting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
jungraekim-gif 2026-06-09 09:35:25 +08:00
parent fd0c469a25
commit de23e18552
2 changed files with 8 additions and 13 deletions

View file

@ -2094,9 +2094,7 @@ def client(original_function): # noqa: PLR0915
# Injecting litellm.num_retries here for router calls causes misleading
# "LiteLLM Retried: N times" in error messages even when zero retries
# occurred (e.g. TimeoutErrorRetries=0 in retry_policy).
_is_router_or_proxy_call = "model_group" in (
kwargs.get("metadata") or {}
)
_is_router_or_proxy_call = "model_group" in (kwargs.get("metadata") or {})
if not _is_router_or_proxy_call:
setattr(
e, "num_retries", num_retries

View file

@ -20,11 +20,11 @@ from litellm import Router
from litellm.exceptions import Timeout, InternalServerError
from litellm.types.router import RetryPolicy
# ---------------------------------------------------------------------------
# Helpers
# ---------------------------------------------------------------------------
def _make_timeout(message="Connection timed out"):
return Timeout(
message=message,
@ -61,6 +61,7 @@ def _make_router(retry_policy: dict) -> Router:
# exceptions.py: is-not-None check
# ---------------------------------------------------------------------------
class TestExceptionStrFormat:
def test_zero_num_retries_is_displayed(self):
"""num_retries=0 should appear in __str__, not be silently suppressed."""
@ -94,6 +95,7 @@ class TestExceptionStrFormat:
# router.py: TimeoutErrorRetries=0 stamps 0 on exception
# ---------------------------------------------------------------------------
@pytest.mark.asyncio
async def test_timeout_zero_retries_stamps_zero_on_exception():
"""
@ -118,9 +120,7 @@ async def test_timeout_zero_retries_stamps_zero_on_exception():
f"Expected num_retries=0, got {raised.num_retries}. "
"TimeoutErrorRetries=0 should stamp 0 retries, not litellm.num_retries."
)
assert raised.max_retries == 0, (
f"Expected max_retries=0, got {raised.max_retries}."
)
assert raised.max_retries == 0, f"Expected max_retries=0, got {raised.max_retries}."
@pytest.mark.asyncio
@ -141,12 +141,8 @@ async def test_internal_server_error_three_retries_stamps_correctly():
)
raised = exc_info.value
assert raised.num_retries == 3, (
f"Expected num_retries=3, got {raised.num_retries}."
)
assert raised.max_retries == 3, (
f"Expected max_retries=3, got {raised.max_retries}."
)
assert raised.num_retries == 3, f"Expected num_retries=3, got {raised.num_retries}."
assert raised.max_retries == 3, f"Expected max_retries=3, got {raised.max_retries}."
assert mock_call.call_count == 4 # 1 initial + 3 retries
@ -154,6 +150,7 @@ async def test_internal_server_error_three_retries_stamps_correctly():
# utils.py: decorator does not inject litellm.num_retries for router calls
# ---------------------------------------------------------------------------
@pytest.mark.asyncio
async def test_decorator_does_not_inject_global_num_retries_for_router_calls():
"""