Home / Function/ test_multiple_yields_in_retry_loop() — langchain Function Reference

test_multiple_yields_in_retry_loop() — langchain Function Reference

Architecture documentation for the test_multiple_yields_in_retry_loop() function in test_composition.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  8cd8adfa_9aed_73da_ef5d_72815e41a863["test_multiple_yields_in_retry_loop()"]
  f1e766c6_5a64_9e6c_f2a8_d41c64f6f142["TestChainModelCallHandlers"]
  8cd8adfa_9aed_73da_ef5d_72815e41a863 -->|defined in| f1e766c6_5a64_9e6c_f2a8_d41c64f6f142
  3988450e_19ed_2280_0a85_e9520f7f556b["create_test_request()"]
  8cd8adfa_9aed_73da_ef5d_72815e41a863 -->|calls| 3988450e_19ed_2280_0a85_e9520f7f556b
  style 8cd8adfa_9aed_73da_ef5d_72815e41a863 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_composition.py lines 312–349

    def test_multiple_yields_in_retry_loop(self) -> None:
        """Test handler that retries multiple times."""
        call_count = {"value": 0}

        def outer_counts_calls(
            request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
        ) -> ModelResponse:
            call_count["value"] += 1
            return handler(request)

        def inner_retries(
            request: ModelRequest, handler: Callable[[ModelRequest], ModelResponse]
        ) -> ModelResponse:
            try:
                return handler(request)
            except ValueError:
                # Retry once on error
                return handler(request)

        composed = _chain_model_call_handlers([outer_counts_calls, inner_retries])
        assert composed is not None

        attempt = {"value": 0}

        def mock_base_handler(req: ModelRequest) -> ModelResponse:
            attempt["value"] += 1
            if attempt["value"] == 1:
                msg = "fail"
                raise ValueError(msg)
            return ModelResponse(result=[AIMessage(content="ok")], structured_response=None)

        result = composed(create_test_request(), mock_base_handler)

        # Outer called once, inner retried so base handler called twice
        assert call_count["value"] == 1
        assert attempt["value"] == 2
        assert isinstance(result, _ComposedExtendedModelResponse)
        assert result.model_response.result[0].content == "ok"

Domain

Subdomains

Frequently Asked Questions

What does test_multiple_yields_in_retry_loop() do?
test_multiple_yields_in_retry_loop() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_composition.py.
Where is test_multiple_yields_in_retry_loop() defined?
test_multiple_yields_in_retry_loop() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/core/test_composition.py at line 312.
What does test_multiple_yields_in_retry_loop() call?
test_multiple_yields_in_retry_loop() calls 1 function(s): create_test_request.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free