[INFO] fetching crate modelrelay 5.12.0... [INFO] testing modelrelay-5.12.0 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1 [INFO] extracting crate modelrelay 5.12.0 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate modelrelay 5.12.0 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate modelrelay 5.12.0 [INFO] tweaked toml for crates.io crate modelrelay 5.12.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate modelrelay 5.12.0 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate modelrelay 5.12.0 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded deadpool v0.12.3 [INFO] [stderr] Downloaded json-patch v4.1.0 [INFO] [stderr] Downloaded wiremock v0.6.5 [INFO] [stderr] Downloaded typify-macro v0.5.0 [INFO] [stderr] Downloaded serde_tokenstream v0.2.2 [INFO] [stderr] Downloaded jsonptr v0.7.1 [INFO] [stderr] Downloaded typify v0.5.0 [INFO] [stderr] Downloaded regress v0.10.5 [INFO] [stderr] Downloaded typify-impl v0.5.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3bbe13fc8f42706f137c88296c50986816adcd11c4bfd583f9ad3289f53d70e1 [INFO] running `Command { std: "docker" "start" "-a" "3bbe13fc8f42706f137c88296c50986816adcd11c4bfd583f9ad3289f53d70e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3bbe13fc8f42706f137c88296c50986816adcd11c4bfd583f9ad3289f53d70e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3bbe13fc8f42706f137c88296c50986816adcd11c4bfd583f9ad3289f53d70e1", kill_on_drop: false }` [INFO] [stdout] 3bbe13fc8f42706f137c88296c50986816adcd11c4bfd583f9ad3289f53d70e1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 37113e35d8f9805132d7f3e40fd84454f434fc691ef9a5d793f8180d76b1cdde [INFO] running `Command { std: "docker" "start" "-a" "37113e35d8f9805132d7f3e40fd84454f434fc691ef9a5d793f8180d76b1cdde", kill_on_drop: false }` [INFO] [stderr] Compiling zmij v1.0.12 [INFO] [stderr] Compiling find-msvc-tools v0.1.7 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling schemars v0.8.22 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling rustls-pki-types v1.13.2 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling cc v1.2.52 [INFO] [stderr] Compiling webpki-roots v1.0.5 [INFO] [stderr] Compiling schemars_derive v0.8.22 [INFO] [stderr] Compiling regress v0.10.5 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling jsonptr v0.7.1 [INFO] [stderr] Compiling json-patch v4.1.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling serde_tokenstream v0.2.2 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rustls-webpki v0.103.8 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling typify-impl v0.5.0 [INFO] [stderr] Compiling typify-macro v0.5.0 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling typify v0.5.0 [INFO] [stderr] Compiling modelrelay v5.12.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.99s [INFO] running `Command { std: "docker" "inspect" "37113e35d8f9805132d7f3e40fd84454f434fc691ef9a5d793f8180d76b1cdde", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "37113e35d8f9805132d7f3e40fd84454f434fc691ef9a5d793f8180d76b1cdde", kill_on_drop: false }` [INFO] [stdout] 37113e35d8f9805132d7f3e40fd84454f434fc691ef9a5d793f8180d76b1cdde [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] acdf6bdb3a892f49c53ccd437cc688ab0c916b487aa4f40f26ca7f560ac932f7 [INFO] running `Command { std: "docker" "start" "-a" "acdf6bdb3a892f49c53ccd437cc688ab0c916b487aa4f40f26ca7f560ac932f7", kill_on_drop: false }` [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling modelrelay v5.12.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `with_bash_env_source` is never used [INFO] [stdout] --> src/local_bash_tools.rs:232:8 [INFO] [stdout] | [INFO] [stdout] 232 | pub fn with_bash_env_source(source: F) -> LocalBashOption [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 46.44s [INFO] running `Command { std: "docker" "inspect" "acdf6bdb3a892f49c53ccd437cc688ab0c916b487aa4f40f26ca7f560ac932f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "acdf6bdb3a892f49c53ccd437cc688ab0c916b487aa4f40f26ca7f560ac932f7", kill_on_drop: false }` [INFO] [stdout] acdf6bdb3a892f49c53ccd437cc688ab0c916b487aa4f40f26ca7f560ac932f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] ec30fa0e7632b3b94d5d3f821c74a40cf03d7615c75b522926c35d35afa32ffc [INFO] running `Command { std: "docker" "start" "-a" "ec30fa0e7632b3b94d5d3f821c74a40cf03d7615c75b522926c35d35afa32ffc", kill_on_drop: false }` [INFO] [stderr] warning: function `with_bash_env_source` is never used [INFO] [stderr] --> src/local_bash_tools.rs:232:8 [INFO] [stderr] | [INFO] [stderr] 232 | pub fn with_bash_env_source(source: F) -> LocalBashOption [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `modelrelay` (lib test) generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/modelrelay-e535c5e88904d3ea) [INFO] [stdout] [INFO] [stdout] running 141 tests [INFO] [stdout] test bash_policy::tests::policy_blocks_eval_by_default ... ok [INFO] [stdout] test bash_policy::tests::policy_allows_env_prefixed_command ... ok [INFO] [stdout] test bash_policy::tests::policy_blocks_subshell_by_default ... ok [INFO] [stdout] test bash_policy::tests::policy_blocks_pipe_to_shell ... ok [INFO] [stdout] test bash_tokenizer::tests::tokenize_detects_dangerous_redirect ... ok [INFO] [stdout] test bash_tokenizer::tests::tokenize_detects_subshell_in_double_quotes ... ok [INFO] [stdout] test bash_tokenizer::tests::tokenize_detects_bash_dash_c_subshell ... ok [INFO] [stdout] test bash_tokenizer::tests::tokenize_detects_subshell_and_eval ... ok [INFO] [stdout] test bash_tokenizer::tests::tokenize_detects_pipe_chain ... ok [INFO] [stdout] test bash_tokenizer::tests::tokenize_handles_quoted_command ... ok [INFO] [stdout] test bash_tokenizer::tests::tokenize_normalizes_primary_command ... ok [INFO] [stdout] test client::tests::client_new_requires_auth ... ok [INFO] [stdout] test client::tests::client_new_accepts_access_token ... ok [INFO] [stdout] test client::tests::client_new_accepts_api_key ... ok [INFO] [stdout] test client::tests::api_key_parse_rejects_invalid ... ok [INFO] [stdout] test client::tests::client_with_key_creates_builder ... ok [INFO] [stdout] test client::tests::client_from_api_key_creates_builder ... ok [INFO] [stdout] test convenience::tests::test_agent_options_builder ... ok [INFO] [stdout] test convenience::tests::test_chat_options_builder ... ok [INFO] [stdout] test convenience::tests::test_get_all_tool_calls_empty ... ok [INFO] [stdout] test core::tests::consumes_ndjson_lines ... ok [INFO] [stdout] test client::tests::client_from_secret_key_creates_builder ... ok [INFO] [stdout] test core::tests::returns_error_on_invalid_json ... ok [INFO] [stdout] test generated::extensions::tests::message_role_display ... ok [INFO] [stdout] test core::tests::parses_tool_use_events ... ok [INFO] [stdout] test generated::tests::validation::generated_customer_deserializes ... ok [INFO] [stdout] test generated::tests::validation::generated_api_error_deserializes ... ok [INFO] [stdout] test core::tests::filters_keepalive_events ... ok [INFO] [stdout] test bash_policy::tests::policy_allows_explicit_opt_out ... ok [INFO] [stdout] test bash_tokenizer::tests::tokenize_skips_leading_env_assignments ... ok [INFO] [stdout] test generated::tests::validation::generated_types_roundtrip ... ok [INFO] [stdout] test http::tests::backoff_respects_max_and_jitter ... ok [INFO] [stdout] test http::tests::retry_post_toggle_honored ... ok [INFO] [stdout] test http::tests::response_options_disable_retry_sets_single_attempt ... ok [INFO] [stdout] test generated::tests::validation::generated_project_deserializes ... ok [INFO] [stdout] test client::tests::client_with_token_creates_builder ... ok [INFO] [stdout] test generated::tests::validation::generated_tier_deserializes ... ok [INFO] [stdout] test identifiers::tests::tier_code_deserializes_from_string ... ok [INFO] [stdout] test identifiers::tests::provider_id_from_string ... ok [INFO] [stdout] test identifiers::tests::provider_id_serializes_as_string ... ok [INFO] [stdout] test client::tests::client_for_customer_rejects_empty ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_allow_command ... ok [INFO] [stdout] test core::tests::handles_incomplete_buffer ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_allow_all ... ok [INFO] [stdout] test identifiers::tests::tier_code_validates_pattern ... ok [INFO] [stdout] test core::tests::parses_single_tool_call_field ... ok [INFO] [stdout] test generated::extensions::tests::message_role_as_str ... ok [INFO] [stdout] test http::tests::header_list_accepts_valid_entries ... ok [INFO] [stdout] test errors::tests::validation_error_formats_with_field ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_default_deny ... ok [INFO] [stdout] test errors::tests::api_error_keeps_status_and_body ... ok [INFO] [stdout] test core::tests::returns_error_on_missing_type_field ... ok [INFO] [stdout] test local_fs_tools::tests::test_fs_read_file_max_bytes ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_policy_blocks_chains_by_default ... ok [INFO] [stdout] test local_fs_tools::tests::test_fs_read_file_hard_cap ... ok [INFO] [stdout] test local_tools_common::tests::test_error_display_root_not_directory ... ok [INFO] [stdout] test local_fs_tools::tests::test_fs_list_files_max_entries ... ok [INFO] [stdout] test local_fs_tools::tests::test_fs_list_files_path_traversal ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_empty_command_rejected ... ok [INFO] [stdout] test local_tools_common::tests::test_filter_env_allowlist_filters_correctly ... ok [INFO] [stdout] test local_tools_common::tests::test_error_display_root_required ... ok [INFO] [stdout] test local_tools_common::tests::test_error_display_invalid_config ... ok [INFO] [stdout] test local_tools_common::tests::test_error_display_root_not_found ... ok [INFO] [stdout] test local_tools_common::tests::test_resolve_root_empty_path ... ok [INFO] [stdout] test local_tools_common::tests::test_filter_env_inherit_all ... ok [INFO] [stdout] test local_tools_common::tests::test_filter_env_empty_mode ... ok [INFO] [stdout] test local_tools_common::tests::test_filter_env_allowlist_preserves_values ... ok [INFO] [stdout] test local_tools_common::tests::test_resolve_root_nonexistent_path ... ok [INFO] [stdout] test local_tools_common::tests::test_resolve_root_file_not_directory ... ok [INFO] [stdout] test plugins::tests::parse_markdown_frontmatter_tools ... ok [INFO] [stdout] test local_tools_common::tests::test_resolve_root_resolves_symlinks ... ok [INFO] [stdout] test local_tools_common::tests::test_resolve_root_valid_directory ... ok [INFO] [stdout] test local_fs_tools::tests::test_fs_search_max_matches_and_ignores ... ok [INFO] [stdout] test structured::tests::test_default_retry_handler ... ok [INFO] [stdout] test plugins::tests::dynamic_workflow_tool_scoping ... ok [INFO] [stdout] test structured::tests::test_output_format_from_type ... ok [INFO] [stdout] test structured::tests::test_output_format_custom_name ... ok [INFO] [stdout] test structured::tests::test_structured_error_kind_display ... ok [INFO] [stdout] test telemetry::tests::stream_metrics_capture_first_token_and_usage ... ok [INFO] [stdout] test token_providers::tests::token_cache_not_reusable_when_empty ... ok [INFO] [stdout] test telemetry::tests::first_token_error_only_fires_once ... ok [INFO] [stdout] test plugins::tests::to_workflow_dynamic_builds_workflow_from_plan ... ok [INFO] [stdout] test token_providers::tests::token_cache_not_reusable_when_expired ... ok [INFO] [stdout] test token_providers::tests::token_cache_reusable_when_fresh ... ok [INFO] [stdout] test tools::tests::test_create_retry_messages ... ok [INFO] [stdout] test tools::tests::test_execute_not_retryable_for_other_errors ... ok [INFO] [stdout] test tools::tests::test_execute_sets_is_retryable_for_json_parse_error ... ok [INFO] [stdout] test tools::tests::test_execute_sets_is_retryable_for_validation_error ... ok [INFO] [stdout] test tools::tests::test_execute_with_retry_no_errors ... ok [INFO] [stdout] test tools::tests::test_execute_with_retry_preserves_successful_results ... ok [INFO] [stdout] test tools::tests::test_execute_with_retry_respects_max_retries ... ok [INFO] [stdout] test tools::tests::test_execute_with_retry_retries_on_parse_error ... ok [INFO] [stdout] test tools::tests::test_get_retryable_errors ... ok [INFO] [stdout] test tools::tests::test_format_tool_error_for_model_not_retryable ... ok [INFO] [stdout] test tools::tests::test_format_tool_error_for_model_retryable ... ok [INFO] [stdout] test tools::tests::test_function_tool_creation ... ok [INFO] [stdout] test tools::tests::test_has_retryable_errors ... ok [INFO] [stdout] test tools::tests::test_parse_and_validate_tool_args_success ... ok [INFO] [stdout] test tools::tests::test_parse_tool_args_empty_arguments ... ok [INFO] [stdout] test tools::tests::test_parse_tool_args_invalid_json ... ok [INFO] [stdout] test tools::tests::test_parse_tool_args_success ... ok [INFO] [stdout] test tools::tests::test_parse_tool_args_with_defaults ... ok [INFO] [stdout] test tools::tests::test_parse_user_ask_args ... ok [INFO] [stdout] test tools::tests::test_serialize_user_ask_result ... ok [INFO] [stdout] test tools::tests::test_tool_args_error_display ... ok [INFO] [stdout] test tools::tests::test_tool_call_accumulator ... ok [INFO] [stdout] test local_tools_common::tests::test_filter_env_allowlist_empty_allowlist ... ok [INFO] [stdout] test plugins::tests::to_workflow_dynamic_requires_agent_descriptions ... ok [INFO] [stdout] test tools::tests::test_tool_registry_execute_all ... ok [INFO] [stdout] test tools::tests::test_tool_registry_execute_handler_error ... ok [INFO] [stdout] test tools::tests::test_tool_registry_execute_unknown_tool ... ok [INFO] [stdout] test tools::tests::test_parse_and_validate_tool_args_validation_failure ... ok [INFO] [stdout] test tools::tests::test_parse_tool_args_missing_required_field ... ok [INFO] [stdout] test tools::tests::test_tool_result_message ... ok [INFO] [stdout] test tools::tests::test_tool_registry_results_to_messages ... ok [INFO] [stdout] test tools::tests::test_tool_registry_execute_success ... ok [INFO] [stdout] test tools::tests::test_tool_registry_has_and_registered_tools ... ok [INFO] [stdout] test tools::tests::test_unknown_tool_error_display ... ok [INFO] [stdout] test types::tests::model_round_trip_and_trim ... ok [INFO] [stdout] test types::tests::response_text_empty_output ... ok [INFO] [stdout] test types::tests::response_text_ignores_non_assistant_messages ... ok [INFO] [stdout] test types::tests::response_text_preserves_order_across_assistant_output_items ... ok [INFO] [stdout] test types::tests::response_text_preserves_order_across_multiple_text_parts ... ok [INFO] [stdout] test types::tests::response_text_tool_call_only_messages_yield_empty ... ok [INFO] [stdout] test types::tests::responses_request_validation_guards_required_fields ... ok [INFO] [stdout] test types::tests::stop_reason_round_trips_and_allows_other ... ok [INFO] [stdout] test token_providers::tests::token_cache_not_reusable_within_skew ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_policy_blocks_pipe_to_shell ... ok [INFO] [stdout] test tools::tests::test_typed_tool_parse_call_name_mismatch ... ok [INFO] [stdout] test tools::tests::test_tool_registry_execute_malformed_json ... ok [INFO] [stdout] test tools::tests::test_tool_registry_unregister ... ok [INFO] [stdout] test tools::tests::test_typed_tool_parse_call_missing_function ... ok [INFO] [stdout] test tools::tests::test_typed_tool_parse_call_success ... ok [INFO] [stdout] test plugins::tests::to_workflow_dynamic_rejects_unknown_plan_agents ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_deny_command_precedence ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_high_output_no_deadlock ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_output_truncation ... ok [INFO] [stdout] test http::tests::header_list_panics_on_empty_key - should panic ... ok [INFO] [stdout] test http::tests::header_list_panics_on_empty_value - should panic ... ok [INFO] [stdout] test http::tests::header_list_panics_on_whitespace_only - should panic ... ok [INFO] [stdout] test local_bash_tools::tests::test_bash_timeout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 141 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stderr] Running tests/http_client.rs (/opt/rustwide/target/debug/deps/http_client-d5297a916f685f95) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test responses_handles_api_error_response ... ok [INFO] [stdout] test responses_includes_optional_parameters ... ok [INFO] [stdout] test responses_retries_on_server_error ... ok [INFO] [stdout] test responses_streams_ndjson_events ... ok [INFO] [stdout] test responses_text_allows_customer_id_without_model ... ok [INFO] [stdout] test state_handles_list_and_delete ... ok [INFO] [stdout] test responses_text_errors_on_empty_output ... ok [INFO] [stdout] test responses_stream_deltas_emits_completion_only_content ... ok [INFO] [stdout] test state_handles_create_rejects_large_ttl ... ok [INFO] [stdout] test responses_text_requires_model_without_customer_id ... ok [INFO] [stdout] test responses_streams_structured_json ... ok [INFO] [stdout] test responses_stream_rejects_non_ndjson_content_type ... ok [INFO] [stdout] test state_handles_create_posts_payload ... ok [INFO] [stdout] test runs_submit_tool_results_posts_payload ... ok [INFO] [stdout] test responses_text_happy_path ... ok [INFO] [stdout] test responses_sends_correct_request_and_parses_response ... ok [INFO] [stdout] test responses_stream_ttft_timeout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-56f276d80acbe995) [INFO] [stdout] [INFO] [stderr] Running tests/stream_timeouts.rs (/opt/rustwide/target/debug/deps/stream_timeouts-e8b5bee7608f4d9f) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test stream_ttft_timeout ... ok [INFO] [stdout] test stream_idle_timeout ... ok [INFO] [stdout] test stream_total_timeout ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/tools_conformance.rs (/opt/rustwide/target/debug/deps/tools_conformance-0da8a688176d22b0) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test tools_conformance_local_fs ... ok [INFO] [stderr] Running tests/workflow_constants.rs (/opt/rustwide/target/debug/deps/workflow_constants-2c20daffc2e836c1) [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test llm_text_output_matches_platform ... ok [INFO] [stderr] Doc-tests modelrelay [INFO] [stdout] test llm_text_output_starts_with_output ... ok [INFO] [stdout] test llm_user_message_text_matches_platform ... ok [INFO] [stdout] test llm_text_output_valid_rfc6901_format ... ok [INFO] [stdout] test llm_user_message_text_no_request_prefix ... ok [INFO] [stdout] test llm_user_message_text_starts_with_input ... ok [INFO] [stdout] test llm_user_message_text_valid_rfc6901_format ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 45 tests [INFO] [stdout] test src/client.rs - client::Client (line 67) ... ignored [INFO] [stdout] test src/client.rs - client::Client::from_token_provider (line 248) ... ignored [INFO] [stdout] test src/client.rs - client::Client::tiers (line 332) ... ignored [INFO] [stdout] test src/convenience.rs - convenience::Client::agent (line 194) ... ignored [INFO] [stdout] test src/convenience.rs - convenience::Client::ask (line 159) ... ignored [INFO] [stdout] test src/convenience.rs - convenience::Client::chat (line 122) ... ignored [INFO] [stdout] test src/identifiers.rs - identifiers (line 8) ... ignored [INFO] [stdout] test src/images.rs - images::ImagesClient (line 19) ... ignored [INFO] [stdout] test src/images.rs - images::ImagesClient::get (line 82) ... ignored [INFO] [stdout] test src/images.rs - images::ImagesClient::pin (line 117) ... ignored [INFO] [stdout] test src/images.rs - images::ImagesClient::unpin (line 150) ... ignored [INFO] [stdout] test src/lib.rs - generated (line 15) ... ignored [INFO] [stdout] test src/local_bash_tools.rs - local_bash_tools::LocalBashToolPack (line 173) ... ignored [INFO] [stdout] test src/local_bash_tools.rs - local_bash_tools::LocalBashToolPack::tool_definitions (line 283) ... ignored [INFO] [stdout] test src/responses.rs - responses::ResponseBuilder::continue_from (line 329) ... ignored [INFO] [stdout] test src/responses.rs - responses::ResponseBuilder::tool_results (line 307) ... ignored [INFO] [stdout] test src/sessions.rs - sessions (line 9) ... ignored [INFO] [stdout] test src/sessions.rs - sessions::SessionsClient::add_message (line 231) ... ignored [INFO] [stdout] test src/sessions.rs - sessions::SessionsClient::create (line 75) ... ignored [INFO] [stdout] test src/sessions.rs - sessions::SessionsClient::delete (line 199) ... ignored [INFO] [stdout] test src/sessions.rs - sessions::SessionsClient::get (line 166) ... ignored [INFO] [stdout] test src/sessions.rs - sessions::SessionsClient::list (line 105) ... ignored [INFO] [stdout] test src/structured.rs - structured (line 9) ... ignored [INFO] [stdout] test src/structured.rs - structured::output_format_from_type (line 415) ... ignored [INFO] [stdout] test src/token_providers.rs - token_providers (line 10) ... ignored [INFO] [stdout] test src/tools.rs - tools::ToolBuilder (line 884) ... ignored [INFO] [stdout] test src/tools.rs - tools::ToolBuilder::add_async (line 990) ... ignored [INFO] [stdout] test src/tools.rs - tools::ToolBuilder::add_sync (line 938) ... ignored [INFO] [stdout] test src/tools.rs - tools::ToolRegistry (line 534) ... ignored [INFO] [stdout] test src/tools.rs - tools::ToolSchema (line 849) ... ignored [INFO] [stdout] test src/tools.rs - tools::ValidateArgs (line 380) ... ignored [INFO] [stdout] test src/tools.rs - tools::execute_with_retry (line 1165) ... ignored [INFO] [stdout] test src/tools.rs - tools::function_tool_from_type (line 745) ... ignored [INFO] [stdout] test src/tools.rs - tools::parse_and_validate_tool_args (line 433) ... ignored [INFO] [stdout] test src/tools.rs - tools::parse_tool_args (line 328) ... ignored [INFO] [stdout] test src/tools.rs - tools::tool_handler (line 703) ... ignored [INFO] [stdout] test src/workflow/events.rs - workflow::events::RunEventV0 (line 324) ... ignored [INFO] [stdout] test src/workflow/ids.rs - workflow::ids (line 16) ... ignored [INFO] [stdout] test src/workflow_intent_builder.rs - workflow_intent_builder::chain (line 274) ... ignored [INFO] [stdout] test src/workflow_intent_builder.rs - workflow_intent_builder::parallel (line 321) ... ignored [INFO] [stdout] test src/client.rs - client::ClientBuilder (line 1132) - compile ... ok [INFO] [stdout] test src/client.rs - client::Client::with_key (line 173) - compile ... ok [INFO] [stdout] test src/client.rs - client::Client::with_token (line 224) - compile ... ok [INFO] [stdout] test src/client.rs - client::Client::from_api_key (line 206) - compile ... ok [INFO] [stdout] test src/client.rs - client::Client::from_secret_key (line 189) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 40 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "ec30fa0e7632b3b94d5d3f821c74a40cf03d7615c75b522926c35d35afa32ffc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec30fa0e7632b3b94d5d3f821c74a40cf03d7615c75b522926c35d35afa32ffc", kill_on_drop: false }` [INFO] [stdout] ec30fa0e7632b3b94d5d3f821c74a40cf03d7615c75b522926c35d35afa32ffc