mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-06 08:16:43 +00:00
Mutation testing surfaced three factory functions whose tests ran against them but asserted nothing that a mutation could break, so every planted bug survived. - litellm/llms/litellm_proxy/skills/code_execution.py: the OpenAI and Anthropic tool schemas were unpinned (the Anthropic one was not reached by any test at all) and the handler's default fallbacks were unchecked - litellm/containers/endpoint_factory.py: the endpoints.json contract, the generated sync/async function set and the response-type mapping were unpinned - litellm/llms/openai_like/dynamic_config.py: the generated Responses API config class had no coverage of auth header, URL resolution or the store override The openai_like tests clear _responses_config_cache around each test. Without that, the module-level cache hands back a class built before the mutation and the tests pass against mutated code. Verified by re-running mutmut per scope: llms/litellm_proxy 45.2% -> 62.8% (70 mutants newly killed) containers 36.8% -> 84.3% (45 mutants newly killed) llms/openai_like 55.7% -> 66.9% (34 mutants newly killed) |
||
|---|---|---|
| .. | ||
| chat | ||
| skills | ||
| test_sandbox_executor.py | ||
| test_skills_ownership.py | ||