test(responses): bound azure shell tool live call at 90s and skip on provider timeout (#32424)

* ci(responses): bound azure shell tool e2e call and enforce per-test timeout

The azure variant of test_responses_api_shell_tool always makes a live
Azure call (its skip outcome means no VCR cassette is ever persisted).
When Azure held the connection instead of answering, the call sat on
litellm's 6000s responses deadline until CircleCI killed the whole job
via no_output_timeout after 15m of silence (job 2013288).

Bound the e2e call at 90s and skip on litellm.Timeout, matching the
existing InternalServerError and BadRequestError skips, and give the
llm_responses_api_testing job the same pytest-timeout guard the
llm_translation_testing job already uses so no single hung test can
consume the 15m no-output window again.

* test(responses): drop job-level pytest timeout, keep shell tool 90s bound
This commit is contained in:
Mateo Wang 2026-07-07 21:58:14 -07:00 • committed by GitHub
parent 404ec7fc2e
commit 06a43d11c4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -765,7 +765,10 @@ class BaseResponsesAPITest(ABC):
max_output_tokens=256,
tools=tools,
tool_choice="auto",
timeout=90,
)
except litellm.Timeout:
pytest.skip("Provider did not answer the shell tool request within 90s")
except litellm.InternalServerError:
pytest.skip("Skipping test due to litellm.InternalServerError")
except litellm.BadRequestError as e: