litellm/tests/litellm_utils_tests
Dantuluri Surya Narayana Raju 42ee47d5ac fix(utils): prevent content growth in shorten_message_to_fit_limit when half_length is 0
When the trimming ratio is aggressive enough that new_length < 2,
half_length becomes 0.  Python's -0 == 0 identity means:

    content[-0:]  ==  content[0:]  ==  entire string

so the 'trimmed' result was '' + '..' + full_content — two characters
LONGER than the original on every iteration.  The loop never converged
and hit MAX_TOKEN_TRIMMING_ATTEMPTS without ever shrinking the content,
causing the caller to receive an untrimmed (or larger) message and then
get a context_length_exceeded error from the provider.

Fix: when half_length == 0, fall back to a simple head-truncation
(content[:new_length]) which always produces a strictly shorter result.

Adds regression test asserting content length is monotonically
non-increasing across all trimming iterations.
2026-05-17 20:16:54 +05:30
..
base_token_counter_test.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
conftest.py test(vcr): classify cache verdicts, detect live calls, surface cost leaks 2026-05-13 00:31:47 +00:00
log.txt Allow passing thinking param to litellm proxy via client sdk + Code QA Refactor on get_optional_params (get correct values) (#9386) 2025-04-07 21:04:11 -07:00
test_aiohttp_handler.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_anthropic_token_counter.py [Test] Anthropic: Replace Legacy Claude-4-Sonnet Alias With Haiku 4.5 2026-05-01 19:10:27 -07:00
test_aws_secret_manager.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_azure_ai_anthropic_token_counter.py fix: fix ci/cd + handle oidc jwt tokens 2026-03-30 16:12:58 -07:00
test_bedrock_token_counter.py [Fix] Tests: Align Bedrock count-tokens endpoint assertions with URL-encoded model id 2026-05-01 15:22:40 -07:00
test_cyberark.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_get_secret.py (Feat) Add x-litellm-overhead-duration-ms and "x-litellm-response-duration-ms" in response from LiteLLM (#7899) 2025-01-21 20:27:55 -08:00
test_hashicorp.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_health_check.py chore(ci): modernize model references in tests and configs (#27856) 2026-05-15 15:44:28 -07:00
test_litellm_overhead.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_logging_callback_manager.py feat(logging): add retry settings for generic API logger (#26645) 2026-04-28 08:38:17 -07:00
test_proxy_budget_reset.py fix: reset org and tag budgets (#27326) 2026-05-09 19:15:32 -04:00
test_secret_manager.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
test_utils.py fix(utils): prevent content growth in shorten_message_to_fit_limit when half_length is 0 2026-05-17 20:16:54 +05:30
test_validate_tool_choice.py style: run black formatter on files from main merge 2026-04-17 13:02:59 -07:00
vertex_key.json test: update to new vertex ai keys 2026-03-28 20:19:05 -07:00