[INFO] fetching crate llm-stack-core 0.1.1... [INFO] testing llm-stack-core-0.1.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate llm-stack-core 0.1.1 into /workspace/builds/worker-1-tc1/source [INFO] started tweaking crates.io crate llm-stack-core 0.1.1 [INFO] finished tweaking crates.io crate llm-stack-core 0.1.1 [INFO] tweaked toml for crates.io crate llm-stack-core 0.1.1 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate llm-stack-core 0.1.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate llm-stack-core 0.1.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded referencing v0.29.1 [INFO] [stderr] Downloaded borrow-or-share v0.2.4 [INFO] [stderr] Downloaded fancy-regex v0.14.0 [INFO] [stderr] Downloaded uuid v1.20.0 [INFO] [stderr] Downloaded jsonschema v0.29.1 [INFO] [stderr] Downloaded zerocopy-derive v0.8.38 [INFO] [stderr] Downloaded zerocopy v0.8.38 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4c8cd6c98b220807f77fd15ae743059efbfb15808f1a92a33a22f858b4393ae3 [INFO] running `Command { std: "docker" "start" "-a" "4c8cd6c98b220807f77fd15ae743059efbfb15808f1a92a33a22f858b4393ae3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4c8cd6c98b220807f77fd15ae743059efbfb15808f1a92a33a22f858b4393ae3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4c8cd6c98b220807f77fd15ae743059efbfb15808f1a92a33a22f858b4393ae3", kill_on_drop: false }` [INFO] [stdout] 4c8cd6c98b220807f77fd15ae743059efbfb15808f1a92a33a22f858b4393ae3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8014babf5a3c9f95838afadb2a3b38674679bb9f6eb77cf8a7153b2c3107fb61 [INFO] running `Command { std: "docker" "start" "-a" "8014babf5a3c9f95838afadb2a3b38674679bb9f6eb77cf8a7153b2c3107fb61", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.180 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling zerocopy v0.8.38 [INFO] [stderr] Compiling zmij v1.0.19 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling borrow-or-share v0.2.4 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling vsimd v0.8.0 [INFO] [stderr] Compiling outref v0.5.2 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling uuid v1.20.0 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling uuid-simd v0.8.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling fancy-regex v0.14.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling fluent-uri v0.3.2 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling email_address v0.2.9 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling referencing v0.29.1 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling jsonschema v0.29.1 [INFO] [stderr] Compiling llm-stack-core v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 26s [INFO] running `Command { std: "docker" "inspect" "8014babf5a3c9f95838afadb2a3b38674679bb9f6eb77cf8a7153b2c3107fb61", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8014babf5a3c9f95838afadb2a3b38674679bb9f6eb77cf8a7153b2c3107fb61", kill_on_drop: false }` [INFO] [stdout] 8014babf5a3c9f95838afadb2a3b38674679bb9f6eb77cf8a7153b2c3107fb61 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e23c8fe6cb97696bda2b27902433b710b12417b6546a982026beab2eca5223d0 [INFO] running `Command { std: "docker" "start" "-a" "e23c8fe6cb97696bda2b27902433b710b12417b6546a982026beab2eca5223d0", kill_on_drop: false }` [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling jsonschema v0.29.1 [INFO] [stderr] Compiling llm-stack-core v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 31.62s [INFO] running `Command { std: "docker" "inspect" "e23c8fe6cb97696bda2b27902433b710b12417b6546a982026beab2eca5223d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e23c8fe6cb97696bda2b27902433b710b12417b6546a982026beab2eca5223d0", kill_on_drop: false }` [INFO] [stdout] e23c8fe6cb97696bda2b27902433b710b12417b6546a982026beab2eca5223d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1b8dc05ce87562da004792233830dd93d987fbb8c80e87285c2e534ef9b13675 [INFO] running `Command { std: "docker" "start" "-a" "1b8dc05ce87562da004792233830dd93d987fbb8c80e87285c2e534ef9b13675", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/llm_stack_core-06f6fe6be9c15d10) [INFO] [stdout] [INFO] [stdout] running 362 tests [INFO] [stdout] test chat::tests::test_assistant_constructor ... ok [INFO] [stdout] test chat::tests::test_assistant_constructor_produces_text_only ... ok [INFO] [stdout] test chat::tests::test_assistant_with_reasoning_is_valid_combination ... ok [INFO] [stdout] test chat::tests::test_assistant_tool_calls_is_valid_combination ... ok [INFO] [stdout] test chat::tests::test_chat_message_from_json ... ok [INFO] [stdout] test chat::tests::test_chat_message_json_roundtrip ... ok [INFO] [stdout] test chat::tests::test_chat_message_json_roundtrip_with_tool_result ... ok [INFO] [stdout] test chat::tests::test_chat_message_to_json ... ok [INFO] [stdout] test chat::tests::test_chat_response_empty_content ... ok [INFO] [stdout] test chat::tests::test_chat_response_text_returns_first ... ok [INFO] [stdout] test chat::tests::test_chat_response_metadata ... ok [INFO] [stdout] test chat::tests::test_chat_response_text_none_when_empty ... ok [INFO] [stdout] test chat::tests::test_chat_response_text_none_when_no_text_blocks ... ok [INFO] [stdout] test chat::tests::test_chat_response_tool_calls_empty_when_text_only ... ok [INFO] [stdout] test chat::tests::test_chat_role_all_variants ... ok [INFO] [stdout] test chat::tests::test_chat_role_copy_hash ... ok [INFO] [stdout] test chat::tests::test_chat_role_display ... ok [INFO] [stdout] test chat::tests::test_content_block_image_base64 ... ok [INFO] [stdout] test chat::tests::test_chat_role_serde_roundtrip ... ok [INFO] [stdout] test chat::tests::test_content_block_image_url ... ok [INFO] [stdout] test chat::tests::test_content_block_reasoning ... ok [INFO] [stdout] test chat::tests::test_content_block_serde_image ... ok [INFO] [stdout] test chat::tests::test_content_block_serde_tool_result ... ok [INFO] [stdout] test chat::tests::test_image_source_from_url_invalid ... ok [INFO] [stdout] test chat::tests::test_message_is_empty ... ok [INFO] [stdout] test chat::tests::test_image_source_from_url_normalizes ... ok [INFO] [stdout] test chat::tests::test_image_source_from_url_valid ... ok [INFO] [stdout] test chat::tests::test_message_serde_roundtrip ... ok [INFO] [stdout] test chat::tests::test_content_block_serde_reasoning ... ok [INFO] [stdout] test chat::tests::test_message_text_clone_eq ... ok [INFO] [stdout] test chat::tests::test_content_block_serde_text ... ok [INFO] [stdout] test chat::tests::test_content_block_serde_tool_call ... ok [INFO] [stdout] test chat::tests::test_message_mixed_content ... ok [INFO] [stdout] test chat::tests::test_message_tool_result ... ok [INFO] [stdout] test chat::tests::test_message_tool_use ... ok [INFO] [stdout] test chat::tests::test_stop_reason_display ... ok [INFO] [stdout] test chat::tests::test_stop_reason_all_variants ... ok [INFO] [stdout] test chat::tests::test_stop_reason_eq_hash ... ok [INFO] [stdout] test chat::tests::test_system_constructor_produces_text_only ... ok [INFO] [stdout] test chat::tests::test_tool_error_constructor ... ok [INFO] [stdout] test chat::tests::test_system_constructor ... ok [INFO] [stdout] test chat::tests::test_tool_error_constructor_produces_tool_result_only ... ok [INFO] [stdout] test chat::tests::test_tool_call_json_arguments ... ok [INFO] [stdout] test chat::tests::test_tool_result_constructor ... ok [INFO] [stdout] test chat::tests::test_tool_result_constructor_produces_tool_result_only ... ok [INFO] [stdout] test chat::tests::test_user_constructor ... ok [INFO] [stdout] test chat::tests::test_tool_result_error_flag ... ok [INFO] [stdout] test chat::tests::test_stop_reason_serde_roundtrip ... ok [INFO] [stdout] test chat::tests::test_user_constructor_produces_text_only ... ok [INFO] [stdout] test chat::tests::test_user_with_image_is_valid_combination ... ok [INFO] [stdout] test context::tests::test_available_tokens ... ok [INFO] [stdout] test context::tests::test_available_saturates ... ok [INFO] [stdout] test chat::tests::test_chat_response_serde_roundtrip ... ok [INFO] [stdout] test chat::tests::test_chat_response_tool_calls ... ok [INFO] [stdout] test context::tests::test_clear ... ok [INFO] [stdout] test context::tests::test_compact_all_compactable ... ok [INFO] [stdout] test context::tests::test_compact_none_compactable ... ok [INFO] [stdout] test context::tests::test_compact_then_add_summary ... ok [INFO] [stdout] test context::tests::test_compact_with_protected ... ok [INFO] [stdout] test context::tests::test_context_window_debug ... ok [INFO] [stdout] test context::tests::test_estimate_message_tokens ... ok [INFO] [stdout] test context::tests::test_context_window_is_send_sync ... ok [INFO] [stdout] test context::tests::test_estimate_message_tokens_empty ... ok [INFO] [stdout] test context::tests::test_estimate_tokens_exact_multiple ... ok [INFO] [stdout] test context::tests::test_estimate_tokens_medium ... ok [INFO] [stdout] test context::tests::test_estimate_tokens_minimum ... ok [INFO] [stdout] test context::tests::test_iter ... ok [INFO] [stdout] test context::tests::test_is_protected ... ok [INFO] [stdout] test context::tests::test_estimate_tokens_short ... ok [INFO] [stdout] test context::tests::test_needs_compaction_above_threshold ... ok [INFO] [stdout] test context::tests::test_messages_owned ... ok [INFO] [stdout] test context::tests::test_needs_compaction_at_threshold ... ok [INFO] [stdout] test context::tests::test_needs_compaction_below_threshold ... ok [INFO] [stdout] test context::tests::test_needs_compaction_zero_budget ... ok [INFO] [stdout] test context::tests::test_protect_recent_more_than_len ... ok [INFO] [stdout] test context::tests::test_new_context_window ... ok [INFO] [stdout] test context::tests::test_protect_recent ... ok [INFO] [stdout] test context::tests::test_push_and_len ... ok [INFO] [stdout] test context::tests::test_token_count ... ok [INFO] [stdout] test context::tests::test_total_tokens ... ok [INFO] [stdout] test context::tests::test_unprotect ... ok [INFO] [stdout] test context::tests::test_estimate_tokens_empty ... ok [INFO] [stdout] test context::tests::test_messages ... ok [INFO] [stdout] test error::tests::test_error_display_auth ... ok [INFO] [stdout] test error::tests::test_error_display_http ... ok [INFO] [stdout] test error::tests::test_error_display_provider ... ok [INFO] [stdout] test context::tests::test_protect_index ... ok [INFO] [stdout] test context::tests::test_typical_conversation_flow ... ok [INFO] [stdout] test context::tests::test_update_token_count ... ok [INFO] [stdout] test error::tests::test_error_display_retry_exhausted ... ok [INFO] [stdout] test error::tests::test_error_display_schema_validation ... ok [INFO] [stdout] test error::tests::test_error_display_timeout ... ok [INFO] [stdout] test error::tests::test_error_is_send_sync ... ok [INFO] [stdout] test error::tests::test_error_display_invalid_request ... ok [INFO] [stdout] test error::tests::test_error_display_max_depth_exceeded ... ok [INFO] [stdout] test error::tests::test_error_display_response_format ... ok [INFO] [stdout] test error::tests::test_error_retry_exhausted_source_chain ... ok [INFO] [stdout] test error::tests::test_error_retryable_http ... ok [INFO] [stdout] test error::tests::test_error_max_depth_not_retryable ... ok [INFO] [stdout] test error::tests::test_error_retry_exhausted_nests ... ok [INFO] [stdout] test error::tests::test_error_retryable_provider ... ok [INFO] [stdout] test intercept::tests::approval_tests::approval_allow ... ok [INFO] [stdout] test intercept::tests::approval_tests::approval_debug ... ok [INFO] [stdout] test intercept::tests::approval_tests::approval_modify ... ok [INFO] [stdout] test error::tests::test_error_display_tool_execution ... ok [INFO] [stdout] test intercept::tests::approval_tests::approval_deny ... ok [INFO] [stdout] test intercept::tests::empty_stack_passthrough ... ok [INFO] [stdout] test intercept::tests::execute_with_closure ... ok [INFO] [stdout] test intercept::tests::interceptor_ordering ... ok [INFO] [stdout] test intercept::tests::next_is_copy ... ok [INFO] [stdout] test intercept::tests::multiple_noop_interceptors ... ok [INFO] [stdout] test intercept::tests::noop_interceptor_passthrough ... ok [INFO] [stdout] test error::tests::test_error_source_trait ... ok [INFO] [stdout] test error::tests::test_from_serde_json_error ... ok [INFO] [stdout] test intercept::tests::shared_interceptor ... ok [INFO] [stdout] test intercept::tests::short_circuit_interceptor ... ok [INFO] [stdout] test intercept::tests::stack_len_and_is_empty ... ok [INFO] [stdout] test mcp::tests::test_mcp_tool_execution ... ok [INFO] [stdout] test mcp::tests::test_register_mcp_service ... ok [INFO] [stdout] test intercept::tests::retry_exhausted ... ok [INFO] [stdout] test intercept::tests::timeout_success ... ok [INFO] [stdout] test mcp::tests::test_trait_is_object_safe ... ok [INFO] [stdout] test mcp::tests::test_register_mcp_tools_by_name ... ok [INFO] [stdout] test mock::tests::test_dyn_provider_blanket_impl ... ok [INFO] [stdout] test mock::tests::test_dyn_provider_metadata_matches ... ok [INFO] [stdout] test mock::tests::test_dyn_provider_boxed_storage ... ok [INFO] [stdout] test mock::tests::test_dyn_provider_error_propagation ... ok [INFO] [stdout] test mock::tests::test_dyn_provider_stream_blanket ... ok [INFO] [stdout] test mock::tests::test_mock_concurrent_access ... ok [INFO] [stdout] test mock::tests::test_mock_error_into_llm_error_all_variants ... ok [INFO] [stdout] test intercept::tests::retry_succeeds_after_failures ... ok [INFO] [stdout] test mock::tests::test_mock_generate_error ... ok [INFO] [stdout] test mock::tests::test_mock_generate_multiple_queued ... ok [INFO] [stdout] test mock::tests::test_mock_generate_mixed_queue ... ok [INFO] [stdout] test mock::tests::test_mock_generate_returns_queued ... ok [INFO] [stdout] test mock::tests::test_mock_metadata_returns_configured ... ok [INFO] [stdout] test mock::tests::test_mock_provider_debug ... ok [INFO] [stdout] test mock::tests::test_mock_records_calls ... ok [INFO] [stdout] test mock::tests::test_mock_records_params_accurately ... ok [INFO] [stdout] test mock::tests::test_mock_stream_empty_events ... ok [INFO] [stdout] test provider::tests::test_capability_copy ... ok [INFO] [stdout] test provider::tests::test_capability_hash_set ... ok [INFO] [stdout] test mock::tests::test_provider_is_object_safe ... ok [INFO] [stdout] test mock::tests::test_mock_stream_error ... ok [INFO] [stdout] test provider::tests::test_chat_params_defaults ... ok [INFO] [stdout] test mock::tests::test_mock_stream_returns_events ... ok [INFO] [stdout] test provider::tests::test_chat_params_full ... ok [INFO] [stdout] test provider::tests::test_chat_params_serde_roundtrip_skips_timeout_and_headers ... ok [INFO] [stdout] test provider::tests::test_chat_params_serde_roundtrip_with_metadata ... ok [INFO] [stdout] test provider::tests::test_json_schema_clone_eq ... ok [INFO] [stdout] test provider::tests::test_json_schema_from_raw ... ok [INFO] [stdout] test provider::tests::test_json_schema_serde_roundtrip ... ok [INFO] [stdout] test provider::tests::test_json_schema_from_type_simple ... ok [INFO] [stdout] test intercept::tests::timeout_expires ... ok [INFO] [stdout] test provider::tests::test_capability_serde_roundtrip ... ok [INFO] [stdout] test provider::tests::test_provider_metadata_clone_eq ... ok [INFO] [stdout] test provider::tests::test_provider_metadata_owned_name ... ok [INFO] [stdout] test provider::tests::test_provider_metadata_serde_roundtrip ... ok [INFO] [stdout] test provider::tests::test_tool_choice_all_variants ... ok [INFO] [stdout] test provider::tests::test_tool_choice_serde_roundtrip ... ok [INFO] [stdout] test provider::tests::test_tool_definition_serde_roundtrip ... ok [INFO] [stdout] test registry::tests::test_built_provider_works ... ok [INFO] [stdout] test registry::tests::test_provider_config_builder ... ok [INFO] [stdout] test registry::tests::test_provider_config_extra_types ... ok [INFO] [stdout] test registry::tests::test_registry_providers_list ... ok [INFO] [stdout] test registry::tests::test_registry_register_and_build ... ok [INFO] [stdout] test registry::tests::test_registry_replace_factory ... ok [INFO] [stdout] test registry::tests::test_registry_unknown_provider ... ok [INFO] [stdout] test registry::tests::test_registry_unregister ... ok [INFO] [stdout] test stream::tests::test_chat_stream_collect ... ok [INFO] [stdout] test stream::tests::test_chat_stream_error_mid_stream ... ok [INFO] [stdout] test stream::tests::test_chat_stream_is_send ... ok [INFO] [stdout] test stream::tests::test_stream_event_done ... ok [INFO] [stdout] test stream::tests::test_stream_event_reasoning_delta_eq ... ok [INFO] [stdout] test stream::tests::test_stream_event_text_delta_eq ... ok [INFO] [stdout] test stream::tests::test_stream_event_tool_call_complete ... ok [INFO] [stdout] test stream::tests::test_stream_event_tool_call_delta ... ok [INFO] [stdout] test stream::tests::test_stream_event_tool_call_start ... ok [INFO] [stdout] test stream::tests::test_stream_event_usage ... ok [INFO] [stdout] test structured::tests::test_collect_stream_object_empty_stream ... ok [INFO] [stdout] test context::tests::test_new_invalid_reserved - should panic ... ok [INFO] [stdout] test context::tests::test_new_reserved_exceeds_max - should panic ... ok [INFO] [stdout] test structured::tests::test_collect_stream_object_invalid_json ... ok [INFO] [stdout] test structured::tests::test_collect_stream_object_mid_stream_error ... ok [INFO] [stdout] test provider::tests::test_json_schema_validate_invalid_schema ... ok [INFO] [stdout] test structured::tests::test_generate_object_config_default ... ok [INFO] [stdout] test structured::tests::test_generate_object_invalid_json ... ok [INFO] [stdout] test structured::tests::test_generate_object_no_text_content ... ok [INFO] [stdout] test mock::tests::test_mock_generate_empty_queue_panics - should panic ... ok [INFO] [stdout] test structured::tests::test_generate_object_result_debug ... ok [INFO] [stdout] test provider::tests::test_json_schema_validate_valid ... ok [INFO] [stdout] test structured::tests::test_generate_object_retry_appends_feedback ... ok [INFO] [stdout] test provider::tests::test_json_schema_validate_wrong_type ... ok [INFO] [stdout] test structured::tests::test_collect_stream_object_happy_path ... ok [INFO] [stdout] test structured::tests::test_generate_object_happy_path ... ok [INFO] [stdout] test structured::tests::test_generate_object_provider_error_propagates ... ok [INFO] [stdout] test provider::tests::test_json_schema_validate_missing_field ... ok [INFO] [stdout] test structured::tests::test_generate_object_schema_violation ... ok [INFO] [stdout] test structured::tests::test_generate_object_retry_exhausted ... ok [INFO] [stdout] test structured::tests::test_generate_object_retry_succeeds_on_second_attempt ... ok [INFO] [stdout] test structured::tests::test_collect_stream_object_schema_violation ... ok [INFO] [stdout] test structured::tests::test_generate_object_sets_structured_output ... ok [INFO] [stdout] test structured::tests::test_generate_object_system_prompt_appends ... ok [INFO] [stdout] test structured::tests::test_inject_schema_prompt_new ... ok [INFO] [stdout] test structured::tests::test_partial_object_debug ... ok [INFO] [stdout] test structured::tests::test_generate_object_system_prompt_fallback ... ok [INFO] [stdout] test structured::tests::test_generate_object_wrong_type ... ok [INFO] [stdout] test structured::tests::test_generate_object_zero_attempts_errors ... ok [INFO] [stdout] test structured::tests::test_inject_schema_prompt_appends ... ok [INFO] [stdout] test structured::tests::test_stream_object_async_end_to_end ... ok [INFO] [stdout] test structured::tests::test_stream_object_async_sets_structured_output ... ok [INFO] [stdout] test test_helpers::tests::test_collect_stream_empty ... ok [INFO] [stdout] test test_helpers::tests::test_mock_for_helper ... ok [INFO] [stdout] test test_helpers::tests::test_sample_response_is_valid ... ok [INFO] [stdout] test test_helpers::tests::test_collect_stream_happy ... ok [INFO] [stdout] test test_helpers::tests::test_collect_stream_results_with_errors ... ok [INFO] [stdout] test test_helpers::tests::test_helper_messages ... ok [INFO] [stdout] test test_helpers::tests::test_mock_for_custom_name ... ok [INFO] [stdout] test test_helpers::tests::test_sample_tool_response ... ok [INFO] [stdout] test test_helpers::tests::test_sample_usage_fields ... ok [INFO] [stdout] test tool::depth::tests::test_custom_context_depth ... ok [INFO] [stdout] test tool::depth::tests::test_depth_increments ... ok [INFO] [stdout] test tool::tests::test_compute_tool_calls_signature_multiple ... ok [INFO] [stdout] test tool::depth::tests::test_unit_loop_depth ... ok [INFO] [stdout] test tool::depth::tests::test_unit_with_depth_ignores_value ... ok [INFO] [stdout] test tool::tests::test_compute_tool_calls_signature_single ... ok [INFO] [stdout] test tool::tests::test_fn_tool_handler ... ok [INFO] [stdout] test tool::tests::test_loop_action_equality ... ok [INFO] [stdout] test tool::tests::test_loop_detection_config_default ... ok [INFO] [stdout] test tool::tests::test_loop_detection_state_detects_loop ... ok [INFO] [stdout] test tool::tests::test_loop_detection_state_reset ... ok [INFO] [stdout] test tool::tests::test_loop_detection_state_no_loop ... ok [INFO] [stdout] test tool::tests::test_registry_debug ... ok [INFO] [stdout] test tool::tests::test_compute_tool_calls_signature_empty ... ok [INFO] [stdout] test tool::tests::test_registry_definitions ... ok [INFO] [stdout] test tool::loop_channel::tests::test_tool_loop_channel_backpressure ... ok [INFO] [stdout] test tool::tests::test_registry_empty ... ok [INFO] [stdout] test tool::tests::test_registry_execute_all_parallel ... ok [INFO] [stdout] test tool::loop_channel::tests::test_tool_loop_channel_basic ... ok [INFO] [stdout] test tool::tests::test_registry_execute_all_sequential ... ok [INFO] [stdout] test tool::tests::test_registry_execute_all_with_failure ... ok [INFO] [stdout] test tool::tests::test_registry_execute_handler_error ... ok [INFO] [stdout] test tool::tests::test_registry_execute_schema_validation_failure ... ok [INFO] [stdout] test tool::loop_channel::tests::test_tool_loop_channel_consumer_drop ... ok [INFO] [stdout] test tool::tests::test_registry_execute_missing_required_field ... ok [INFO] [stdout] test tool::tests::test_registry_register_and_get ... ok [INFO] [stdout] test tool::tests::test_registry_execute_unknown_tool ... ok [INFO] [stdout] test tool::tests::test_stop_context_debug ... ok [INFO] [stdout] test tool::tests::test_registry_execute_valid ... ok [INFO] [stdout] test tool::tests::test_registry_is_send_sync ... ok [INFO] [stdout] test tool::tests::test_registry_overwrite_duplicate ... ok [INFO] [stdout] test tool::tests::test_stop_decision_debug ... ok [INFO] [stdout] test tool::tests::test_stop_decision_equality ... ok [INFO] [stdout] test tool::tests::test_termination_reason_clone ... ok [INFO] [stdout] test tool::tests::test_termination_reason_loop_detected ... ok [INFO] [stdout] test tool::tests::test_termination_reason_max_iterations ... ok [INFO] [stdout] test tool::tests::test_termination_reason_stop_condition_with_reason ... ok [INFO] [stdout] test tool::tests::test_tool_handler_definition ... ok [INFO] [stdout] test tool::tests::test_termination_reason_complete ... ok [INFO] [stdout] test tool::tests::test_tool_handler_error ... ok [INFO] [stdout] test tool::tests::test_tool_handler_is_object_safe ... ok [INFO] [stdout] test tool::tests::test_termination_reason_debug ... ok [INFO] [stdout] test tool::tests::test_termination_reason_stop_condition_without_reason ... ok [INFO] [stdout] test tool::tests::test_tool_loop_approval_deny ... ok [INFO] [stdout] test tool::tests::test_tool_handler_execute ... ok [INFO] [stdout] test tool::tests::test_tool_error_display ... ok [INFO] [stdout] test tool::tests::test_tool_loop_config_debug_with_loop_detection ... ok [INFO] [stdout] test tool::tests::test_tool_loop_config_debug_with_stop_when ... ok [INFO] [stdout] test tool::tests::test_tool_loop_config_debug_without_event ... ok [INFO] [stdout] test tool::tests::test_tool_loop_approval_modify ... ok [INFO] [stdout] test tool::tests::test_tool_loop_config_debug_without_stop_when ... ok [INFO] [stdout] test tool::tests::test_tool_loop_config_debug_with_event ... ok [INFO] [stdout] test tool::tests::test_tool_loop_detects_loop_warn ... ok [INFO] [stdout] test tool::tests::test_tool_loop_detects_loop_inject_warning ... ok [INFO] [stdout] test tool::tests::test_tool_loop_event_clone ... ok [INFO] [stdout] test tool::tests::test_tool_loop_event_debug ... ok [INFO] [stdout] test tool::tests::test_tool_loop_emits_iteration_start ... ok [INFO] [stdout] test tool::tests::test_tool_loop_event_duration_is_positive ... ok [INFO] [stdout] test tool::tests::test_tool_loop_detects_loop_stop ... ok [INFO] [stdout] test tool::tests::test_tool_loop_emits_tool_execution_events ... ok [INFO] [stdout] test tool::tests::test_tool_loop_events_with_parallel_execution ... ok [INFO] [stdout] test tool::tests::test_tool_loop_multiple_iterations ... ok [INFO] [stdout] test tool::tests::test_tool_loop_no_false_positive_different_args ... ok [INFO] [stdout] test tool::tests::test_tool_loop_max_iterations_exceeded ... ok [INFO] [stdout] test tool::tests::test_tool_loop_no_timeout_completes_normally ... ok [INFO] [stdout] test tool::tests::test_tool_loop_no_tool_calls ... ok [INFO] [stdout] test tool::tests::test_tool_loop_one_iteration ... ok [INFO] [stdout] test tool::tests::test_tool_loop_parallel_execution ... ok [INFO] [stdout] test tool::tests::test_tool_loop_returns_termination_reason_complete ... ok [INFO] [stdout] test tool::tests::test_tool_loop_returns_termination_reason_stop_condition ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stop_continues_when_condition_not_met ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stop_context_has_last_results ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stop_on_first_response ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stop_on_specific_tool ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stream_detects_loop_stop ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stop_after_tool_call_limit ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stream_emits_events ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stream_stop_early ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stream_max_iterations ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stream_timeout ... ok [INFO] [stdout] test tool::tests::test_tool_loop_timeout_returns_immediately ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stream_one_iteration ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stream_stop_after_tool_execution ... ok [INFO] [stdout] test tool::tests::test_tool_retry_config_debug ... ok [INFO] [stdout] test tool::tests::test_tool_retry_config_default ... ok [INFO] [stdout] test tool::tests::test_tool_loop_unknown_tool_sends_error_result ... ok [INFO] [stdout] test tool::tests::test_tool_loop_usage_accumulation ... ok [INFO] [stdout] test tool::tests::test_tool_result_full_message ... ok [INFO] [stdout] test tool::tests::test_tool_loop_stream_no_tools ... ok [INFO] [stdout] test tool::tests::test_tool_retry_config_partial_eq ... ok [INFO] [stdout] test tool::tests::test_tool_retry_predicate_prevents_retry ... ok [INFO] [stdout] test usage::tests::test_cost_add_assign ... ok [INFO] [stdout] test tool::tests::test_usage_add_assign ... ok [INFO] [stdout] test tool::tests::test_usage_add_assign_both_none ... ok [INFO] [stdout] test usage::tests::test_compute_token_cost_large_values ... ok [INFO] [stdout] test usage::tests::test_cost_add_basic ... ok [INFO] [stdout] test usage::tests::test_cost_checked_add ... ok [INFO] [stdout] test usage::tests::test_cost_clone_eq ... ok [INFO] [stdout] test usage::tests::test_cost_default_is_zero ... ok [INFO] [stdout] test usage::tests::test_cost_deserialization_without_total ... ok [INFO] [stdout] test usage::tests::test_cost_checked_add_overflow ... ok [INFO] [stdout] test usage::tests::test_cost_deserialization_overflow_fails ... ok [INFO] [stdout] test usage::tests::test_cost_deserialization_recomputes_total ... ok [INFO] [stdout] test usage::tests::test_cost_add_saturates ... ok [INFO] [stdout] test usage::tests::test_cost_display ... ok [INFO] [stdout] test usage::tests::test_cost_display_sub_cent ... ok [INFO] [stdout] test usage::tests::test_cost_display_zero ... ok [INFO] [stdout] test usage::tests::test_cost_new_enforces_invariant ... ok [INFO] [stdout] test usage::tests::test_cost_new_overflow_returns_none ... ok [INFO] [stdout] test usage::tests::test_cost_serde_roundtrip ... ok [INFO] [stdout] test usage::tests::test_cost_total_usd_sub_cent ... ok [INFO] [stdout] test usage::tests::test_cost_total_usd_zero ... ok [INFO] [stdout] test usage::tests::test_model_pricing_cache_without_pricing ... ok [INFO] [stdout] test usage::tests::test_model_pricing_clone_eq ... ok [INFO] [stdout] test usage::tests::test_model_pricing_compute_cost ... ok [INFO] [stdout] test usage::tests::test_model_pricing_with_cache_tokens ... ok [INFO] [stdout] test usage::tests::test_model_pricing_zero_tokens ... ok [INFO] [stdout] test usage::tests::test_usage_add_assign ... ok [INFO] [stdout] test usage::tests::test_usage_add_basic ... ok [INFO] [stdout] test usage::tests::test_usage_add_both_none ... ok [INFO] [stdout] test usage::tests::test_usage_add_saturates ... ok [INFO] [stdout] test usage::tests::test_usage_clone_eq ... ok [INFO] [stdout] test usage::tests::test_usage_debug_format ... ok [INFO] [stdout] test usage::tests::test_cost_total_usd_exact ... ok [INFO] [stdout] test usage::tests::test_usage_optional_fields_none ... ok [INFO] [stdout] test usage::tests::test_usage_optional_fields_some ... ok [INFO] [stdout] test usage::tests::test_usage_serde_roundtrip ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_clone ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_context_utilization ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_context_utilization_no_limit ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_context_utilization_zero_limit ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_cost ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_default ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_is_near_limit ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_is_near_limit_no_limit ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_new ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_reset ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_record ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_set_context_limit ... ok [INFO] [stdout] test usage::tests::test_usage_tracker_with_context_limit ... ok [INFO] [stdout] test tool::tests::test_tool_retry_succeeds_after_failures ... ok [INFO] [stdout] test tool::tests::test_tool_retry_exhausted ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 362 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Doc-tests llm_stack_core [INFO] [stdout] [INFO] [stdout] running 54 tests [INFO] [stdout] test src/context.rs - context::ContextWindow::needs_compaction (line 168) ... ok [INFO] [stdout] test src/chat.rs - chat::ChatMessage::from_json (line 188) ... ok [INFO] [stdout] test src/context.rs - context (line 18) ... ok [INFO] [stdout] test src/intercept.rs - intercept (line 42) ... ignored [INFO] [stdout] test src/intercept.rs - intercept::Interceptor (line 92) ... ignored [INFO] [stdout] test src/intercept.rs - intercept::InterceptorStack (line 228) ... ignored [INFO] [stdout] test src/intercept.rs - intercept::interceptors::Retry (line 529) ... ignored [INFO] [stdout] test src/intercept.rs - intercept::interceptors::Timeout (line 621) ... ignored [INFO] [stdout] test src/intercept.rs - intercept::tool_interceptors::Approval (line 819) ... ignored [INFO] [stdout] test src/lib.rs - (line 28) - compile ... ok [INFO] [stdout] test src/chat.rs - chat::ChatMessage::from_json_owned (line 210) ... ok [INFO] [stdout] test src/mcp.rs - mcp (line 19) ... ignored [INFO] [stdout] test src/mcp.rs - mcp (line 87) ... ignored [INFO] [stdout] test src/provider.rs - provider::DynProvider (line 85) - compile ... ok [INFO] [stdout] test src/error.rs - error (line 14) ... ok [INFO] [stdout] test src/provider.rs - provider::JsonSchema (line 351) ... ok [INFO] [stdout] test src/registry.rs - registry (line 12) - compile ... ok [INFO] [stdout] test src/registry.rs - registry (line 33) ... ignored [INFO] [stdout] test src/provider.rs - provider::ToolRetryConfig (line 258) ... ok [INFO] [stdout] test src/registry.rs - registry::ProviderRegistry::register (line 219) ... ignored [INFO] [stdout] test src/error.rs - error::LlmError::is_retryable (line 138) ... ok [INFO] [stdout] test src/stream.rs - stream (line 10) - compile ... ok [INFO] [stdout] test src/tool/config.rs - tool::config::TerminationReason (line 368) - compile ... ok [INFO] [stdout] test src/tool/config.rs - tool::config::LoopDetectionConfig (line 57) ... ok [INFO] [stdout] test src/tool/config.rs - tool::config::ToolLoopConfig::loop_detection (line 246) ... ok [INFO] [stdout] test src/tool/config.rs - tool::config::ToolLoopConfig::stop_when (line 221) - compile ... ok [INFO] [stdout] test src/chat.rs - chat::ChatResponse::into_tool_calls (line 386) ... ok [INFO] [stdout] test src/tool/config.rs - tool::config::ToolLoopConfig::max_depth (line 291) ... ok [INFO] [stdout] test src/structured.rs - structured (line 11) - compile ... ok [INFO] [stdout] test src/chat.rs - chat::ChatMessage (line 76) ... ok [INFO] [stdout] test src/tool/config.rs - tool::config::ToolLoopConfig::timeout (line 266) ... ok [INFO] [stdout] test src/chat.rs - chat (line 14) ... ok [INFO] [stdout] test src/provider.rs - provider::ChatParams (line 175) ... ok [INFO] [stdout] test src/tool/depth.rs - tool::depth::LoopDepth (line 43) ... ok [INFO] [stdout] test src/tool/depth.rs - tool::depth::LoopDepth (line 55) ... ok [INFO] [stdout] test src/tool/config.rs - tool::config::ToolLoopEvent (line 116) - compile ... ok [INFO] [stdout] test src/tool/mod.rs - tool (line 21) - compile ... ok [INFO] [stdout] test src/tool/loop_channel.rs - tool::loop_channel::tool_loop_channel (line 46) - compile ... ok [INFO] [stdout] test src/tool/helpers.rs - tool::helpers::tool_fn_with_ctx (line 66) ... ok [INFO] [stdout] test src/tool/handler.rs - tool::handler::ToolHandler (line 27) ... ok [INFO] [stdout] test src/tool/depth.rs - tool::depth (line 9) ... ok [INFO] [stdout] test src/tool/depth.rs - tool::depth::() (line 95) ... ok [INFO] [stdout] test src/tool/mod.rs - tool (line 66) - compile ... ok [INFO] [stdout] test src/tool/registry.rs - tool::registry::ToolRegistry (line 30) ... ignored [INFO] [stdout] test src/tool/registry.rs - tool::registry::ToolRegistry::with_interceptors (line 214) ... ignored [INFO] [stdout] test src/usage.rs - usage::Cost (line 94) ... ok [INFO] [stdout] test src/usage.rs - usage::ModelPricing (line 392) ... ok [INFO] [stdout] test src/tool/helpers.rs - tool::helpers::tool_fn (line 21) ... ok [INFO] [stdout] test src/tool/output.rs - tool::output::ToolOutput (line 11) ... ok [INFO] [stdout] test src/tool/registry.rs - tool::registry::ToolRegistry::without (line 151) ... ok [INFO] [stdout] test src/usage.rs - usage::UsageTracker (line 231) ... ok [INFO] [stdout] test src/usage.rs - usage::UsageTracker::is_near_limit (line 352) ... ok [INFO] [stdout] test src/chat.rs - chat::ChatMessage::to_json (line 170) ... ok [INFO] [stdout] test src/tool/registry.rs - tool::registry::ToolRegistry::only (line 182) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 42 passed; 0 failed; 12 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.72s; merged doctests compilation took 1.62s [INFO] running `Command { std: "docker" "inspect" "1b8dc05ce87562da004792233830dd93d987fbb8c80e87285c2e534ef9b13675", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b8dc05ce87562da004792233830dd93d987fbb8c80e87285c2e534ef9b13675", kill_on_drop: false }` [INFO] [stdout] 1b8dc05ce87562da004792233830dd93d987fbb8c80e87285c2e534ef9b13675