[INFO] fetching crate zeroclaw-tool-call-parser 0.8.5...
[INFO] testing zeroclaw-tool-call-parser-0.8.5 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate zeroclaw-tool-call-parser 0.8.5 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate zeroclaw-tool-call-parser 0.8.5
[INFO] finished tweaking crates.io crate zeroclaw-tool-call-parser 0.8.5
[INFO] tweaked toml for crates.io crate zeroclaw-tool-call-parser 0.8.5 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate zeroclaw-tool-call-parser 0.8.5 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate zeroclaw-tool-call-parser 0.8.5 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded regex v1.12.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250
[INFO] running `Command { std: "docker" "start" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling log v0.4.30
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling zeroclaw-api v0.8.5
[INFO] [stderr]    Compiling zeroclaw-log v0.8.5
[INFO] [stderr]    Compiling zeroclaw-tool-call-parser v0.8.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 16s
[INFO] running `Command { std: "docker" "inspect" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling zeroclaw-tool-call-parser v0.8.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 8.77s
[INFO] running `Command { std: "docker" "inspect" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/zeroclaw_tool_call_parser-fa81fbcff89f6194)
[INFO] [stdout] 
[INFO] [stdout] running 190 tests
[INFO] [stdout] test tests::build_native_assistant_history_from_parsed_calls_omits_reasoning_content_when_none ... ok
[INFO] [stdout] test tests::canonical_tool_call_after_a_rejected_tools_declaration_still_parses ... ok
[INFO] [stdout] test tests::build_native_assistant_history_from_parsed_calls_includes_reasoning_content ... ok
[INFO] [stdout] test tests::build_native_assistant_history_returns_none_for_empty_calls_with_reasoning ... ok
[INFO] [stdout] test tests::build_native_assistant_history_emits_tool_calls_when_non_empty ... ok
[INFO] [stdout] test tests::classify_tool_protocol_envelope_preserves_plain_user_json ... ok
[INFO] [stdout] test tests::build_native_assistant_history_returns_none_for_empty_calls ... ok
[INFO] [stdout] test tests::classify_tool_protocol_envelope_flags_internal_json_variants ... ok
[INFO] [stdout] test tests::classify_tool_protocol_envelope_preserves_top_level_arrays_without_protocol_marker ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_flags_json_fenced_tool_protocol ... ok
[INFO] [stdout] test tests::classify_tool_protocol_envelope_preserves_top_level_schema_array ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_flags_malformed_nonempty_tool_calls_array ... ok
[INFO] [stdout] test tests::bare_legacy_invoke_without_tools_still_parses ... ok
[INFO] [stdout] test tests::classify_tool_protocol_envelope_preserves_tool_call_examples ... ok
[INFO] [stdout] test tests::contains_tool_protocol_tag_call_flags_embedded_tool_call_fences ... ok
[INFO] [stdout] test tests::default_param_for_tool_coverage ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_flags_malformed_tool_result_envelope ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_flags_standalone_tool_call_fence ... ok
[INFO] [stdout] test tests::classify_tool_protocol_envelope_flags_standalone_tool_fences ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_ignores_json_fenced_business_tool_calls ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_ignores_malformed_business_tool_calls_without_call_id ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_ignores_malformed_tool_call_id_only_json ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_flags_malformed_payloads ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_ignores_tool_call_fenced_example ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_ignores_empty_tool_calls_array ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_ignores_tool_call_tag_example ... ok
[INFO] [stdout] test tests::extract_json_values_handles_arrays ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_flags_tagged_tool_call_with_trailing_text ... ok
[INFO] [stdout] test tests::detect_tool_call_parse_issue_ignores_normal_text ... ok
[INFO] [stdout] test tests::fenced_tool_call_after_a_rejected_tools_span_still_parses ... ok
[INFO] [stdout] test tests::fenced_tool_call_outside_any_tools_span_still_parses ... ok
[INFO] [stdout] test tests::extract_json_values_handles_multiple_objects ... ok
[INFO] [stdout] test tests::incomplete_protocol_json_trips_on_a_single_identifying_key ... ok
[INFO] [stdout] test tests::looks_like_tool_protocol_envelope_flags_malformed_nonempty_tool_calls_array ... ok
[INFO] [stdout] test tests::map_tool_name_alias_direct_coverage ... ok
[INFO] [stdout] test tests::looks_like_tool_protocol_envelope_preserves_plain_json_with_similar_keys ... ok
[INFO] [stdout] test tests::map_tool_name_alias_strips_dotted_namespaces ... ok
[INFO] [stdout] test tests::named_tool_fence_opening_before_a_refused_tools_span_stays_inert ... ok
[INFO] [stdout] test tests::parse_arguments_value_handles_double_encoding ... ok
[INFO] [stdout] test tests::parse_arguments_value_handles_invalid_json_string ... ok
[INFO] [stdout] test tests::parse_arguments_value_handles_none ... ok
[INFO] [stdout] test tests::parse_arguments_value_handles_null ... ok
[INFO] [stdout] test tests::incomplete_protocol_json_ignores_complete_values_and_business_json ... ok
[INFO] [stdout] test tests::extract_json_values_handles_empty_string ... ok
[INFO] [stdout] test tests::fence_opening_before_a_refused_tools_span_stays_inert ... ok
[INFO] [stdout] test tests::extract_json_values_handles_whitespace_only ... ok
[INFO] [stdout] test tests::parse_arguments_value_unwraps_nested_array_string ... ok
[INFO] [stdout] test tests::parse_arguments_value_unwraps_nested_object_string ... ok
[INFO] [stdout] test tests::glm_shortened_body_still_works_under_an_unambiguous_tag ... ok
[INFO] [stdout] test tests::parse_glm_shortened_body_function_style_alias_maps_to_message_send ... ok
[INFO] [stdout] test tests::parse_glm_shortened_body_rejects_empty ... ok
[INFO] [stdout] test tests::parse_glm_shortened_body_rejects_invalid_tool_name ... ok
[INFO] [stdout] test tests::parse_glm_shortened_body_browser_open_maps_to_shell_command ... ok
[INFO] [stdout] test tests::parse_glm_shortened_body_url_to_curl ... ok
[INFO] [stdout] test tests::parse_glm_style_json_args ... ok
[INFO] [stdout] test tests::parse_glm_style_http_request ... ok
[INFO] [stdout] test tests::parse_glm_style_ignores_plain_url ... ok
[INFO] [stdout] test tests::parse_glm_style_multiple_calls ... ok
[INFO] [stdout] test tests::parse_glm_style_rejects_non_http_url_param ... ok
[INFO] [stdout] test tests::parse_glm_style_shell_command ... ok
[INFO] [stdout] test tests::parse_glm_style_tool_call_integration ... ok
[INFO] [stdout] test tests::parse_tool_call_value_accepts_function_parameters_alias ... ok
[INFO] [stdout] test tests::parse_tool_call_value_accepts_top_level_parameters_alias ... ok
[INFO] [stdout] test tests::parse_tool_call_value_handles_top_level_name ... ok
[INFO] [stdout] test tests::parse_tool_call_value_preserves_tool_call_id_aliases ... ok
[INFO] [stdout] test tests::parse_tool_calls_attribute_style_in_tags ... ok
[INFO] [stdout] test tests::parse_arguments_value_leaves_non_json_strings_alone ... ok
[INFO] [stdout] test tests::parse_tool_calls_closing_tag_only_returns_text ... ok
[INFO] [stdout] test tests::parse_glm_shortened_body_memory_recall ... ok
[INFO] [stdout] test tests::parse_tool_calls_cross_alias_close_tag_with_glm_shortened ... ok
[INFO] [stdout] test tests::parse_tool_call_value_handles_gemini_double_encoded_params ... ok
[INFO] [stdout] test tests::parse_tool_calls_empty_json_object_in_tag ... ok
[INFO] [stdout] test tests::parse_tool_call_value_handles_missing_name_field ... ok
[INFO] [stdout] test tests::parse_tool_calls_file_read_shortened_in_cross_alias ... ok
[INFO] [stdout] test tests::parse_tool_calls_from_json_value_handles_empty_array ... ok
[INFO] [stdout] test tests::parse_tool_calls_from_json_value_handles_top_level_array ... ok
[INFO] [stdout] test tests::parse_tool_calls_from_json_value_handles_missing_tool_calls ... ok
[INFO] [stdout] test tests::parse_glm_style_browser_open_url ... ok
[INFO] [stdout] test tests::parse_tool_calls_glm_shortened_body_in_matched_tags ... ok
[INFO] [stdout] test tests::parse_glm_style_quotes_url_apostrophes_and_metacharacters ... ok
[INFO] [stdout] test tests::parse_tool_calls_glm_yaml_style_in_tags ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_empty_tool_calls_array ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_empty_string_arguments ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_malformed_json ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_empty_tool_result ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_markdown_invoke_fence ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_invoke_tag_alias ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_markdown_json_inside_tool_call_tag ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_markdown_tool_call_fence ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_markdown_tool_call_hybrid_close_tag ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_minimax_invoke_parameter_format ... ok
[INFO] [stdout] test tests::parse_tool_calls_extracts_multiple_calls ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_multiple_tool_name_fences ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_noisy_tool_call_tag_body ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_openai_format ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_openai_format_multiple_calls ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_minimax_toolcall_alias_and_cross_close_tag ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_perl_style_tool_call_blocks ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_minimax_invoke_with_surrounding_text ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_qwen_think_with_multiple_tool_calls ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_square_bracket_multiline ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_tool_call_inline_attributes_with_send_message_alias ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_square_bracket_tool_call_blocks ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_tool_call_function_style_arguments ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_tool_dash_call_tag_alias ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_tool_name_fence_format ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_tool_name_fence_shell ... ok
[INFO] [stdout] test tests::parse_tool_calls_cross_alias_close_tag_with_json ... ok
[INFO] [stdout] test tests::parse_tool_calls_empty_input_returns_empty ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_plural_tool_calls_wrapper ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_unclosed_tool_call_tag ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_toolcall_tag_alias ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_whitespace_only_name ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_tools_tag_alias ... ok
[INFO] [stdout] test tests::parse_tool_calls_openai_format_without_content ... ok
[INFO] [stdout] test tests::parse_tool_calls_multiple_formats_mixed ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_xml_nested_tool_payload ... ok
[INFO] [stdout] test tests::parse_tool_calls_nested_xml_tags_handled ... ok
[INFO] [stdout] test tests::parse_tool_calls_handles_xml_with_json_arguments ... ok
[INFO] [stdout] test tests::parse_tool_calls_ignores_xml_thinking_wrapper ... ok
[INFO] [stdout] test tests::parse_tool_calls_preserves_openai_tool_call_ids ... ok
[INFO] [stdout] test tests::parse_tool_calls_recovers_mismatched_close_tag ... ok
[INFO] [stdout] test tests::parse_tool_calls_recovers_unclosed_tool_call_with_json ... ok
[INFO] [stdout] test tests::parse_tool_calls_recovers_malformed_file_write_non_ascii_safely ... ok
[INFO] [stdout] test tests::parse_tool_calls_recovers_malformed_file_write_tool_name_fence ... ok
[INFO] [stdout] test tests::parse_tool_calls_rejects_ambiguous_malformed_file_write ... ok
[INFO] [stdout] test tests::parse_tool_calls_rejects_tools_block_discussed_in_prose ... ok
[INFO] [stdout] test tests::parse_tool_calls_rejects_tools_declaration_block ... ok
[INFO] [stdout] test tests::parse_tool_calls_rejects_tools_declaration_closed_by_foreign_alias ... ok
[INFO] [stdout] test tests::parse_tool_calls_rejects_unclosed_tools_declaration ... ok
[INFO] [stdout] test tests::parse_tool_calls_recovers_cross_alias_closing_tags ... ok
[INFO] [stdout] test tests::parse_tool_calls_returns_text_only_when_no_calls ... ok
[INFO] [stdout] test tests::parse_tool_calls_rejects_echoed_system_prompt_tools_block ... ok
[INFO] [stdout] test tests::parse_tool_calls_rejects_raw_tool_json_without_tags ... ok
[INFO] [stdout] test tests::parse_tool_calls_recovers_malformed_file_write_content_quotes ... ok
[INFO] [stdout] test tests::parse_tool_calls_rejects_tools_wrapper_with_args_key ... ok
[INFO] [stdout] test tests::parse_tool_calls_strips_think_only_returns_empty ... ok
[INFO] [stdout] test tests::parse_tool_calls_text_before_and_after ... ok
[INFO] [stdout] test tests::parse_tool_calls_text_before_cross_alias ... ok
[INFO] [stdout] test tests::parse_tool_calls_text_with_embedded_json_not_extracted ... ok
[INFO] [stdout] test tests::parse_tool_calls_truncated_json_no_panic ... ok
[INFO] [stdout] test tests::parse_tool_calls_valid_file_write_json_unchanged ... ok
[INFO] [stdout] test tests::parse_tool_calls_unclosed_glm_shortened_no_close_tag ... ok
[INFO] [stdout] test tests::parse_tool_calls_still_accepts_canonical_tools_invocation ... ok
[INFO] [stdout] test tests::rejected_tools_span_hiding_fenced_tool_call_stays_inert ... ok
[INFO] [stdout] test tests::parse_tool_calls_strips_think_before_tool_call ... ok
[INFO] [stdout] test tests::parse_tool_calls_special_characters_in_arguments ... ok
[INFO] [stdout] test tests::rejected_tools_span_hiding_named_tool_fence_stays_inert ... ok
[INFO] [stdout] test tests::rejected_unclosed_tools_span_hiding_fenced_tool_call_stays_inert ... ok
[INFO] [stdout] test tests::parse_tool_calls_whitespace_only_returns_empty_calls ... ok
[INFO] [stdout] test tests::rejected_unclosed_tools_span_hiding_named_tool_fence_stays_inert ... ok
[INFO] [stdout] test tests::parse_tool_calls_very_large_arguments_no_panic ... ok
[INFO] [stdout] test tests::range_overlap_is_exclusive_at_the_boundaries ... ok
[INFO] [stdout] test tests::strip_tool_result_blocks_removes_multiple_blocks ... ok
[INFO] [stdout] test tests::strip_tool_result_blocks_preserves_clean_text ... ok
[INFO] [stdout] test tests::strip_tool_result_blocks_removes_think_tags ... ok
[INFO] [stdout] test tests::strip_tool_result_blocks_removes_thinking ... ok
[INFO] [stdout] test tests::strip_trailing_terminal_markers_marker_only_with_whitespace ... ok
[INFO] [stdout] test tests::strip_trailing_terminal_markers_preserves_inline ... ok
[INFO] [stdout] test tests::strip_trailing_terminal_markers_preserves_unmarked_whitespace ... ok
[INFO] [stdout] test tests::strip_tool_result_blocks_returns_empty_for_only_tags ... ok
[INFO] [stdout] test tests::strip_trailing_terminal_markers_basic ... ok
[INFO] [stdout] test tests::strip_trailing_terminal_markers_empty ... ok
[INFO] [stdout] test tests::strip_trailing_terminal_markers_stacked ... ok
[INFO] [stdout] test tests::strip_trailing_terminal_markers_whitespace_before_marker ... ok
[INFO] [stdout] test tests::strip_trailing_terminal_markers_with_whitespace ... ok
[INFO] [stdout] test tests::tools_literal_close_tag_inside_arguments_is_preserved ... ok
[INFO] [stdout] test tests::tools_nested_suffix_after_quoted_close_is_never_dispatched ... ok
[INFO] [stdout] test tests::tools_quoted_close_inside_unclosed_arguments_is_preserved ... ok
[INFO] [stdout] test tests::tools_unclosed_trailing_suffix_stays_inert ... ok
[INFO] [stdout] test tests::tools_wrapper_does_not_reach_glm_shortened_body_on_foreign_close ... ok
[INFO] [stdout] test tests::tools_unclosed_multiple_values_stays_inert ... ok
[INFO] [stdout] test tests::tools_unclosed_prose_prefixed_invocation_stays_inert ... ok
[INFO] [stdout] test tests::tools_wrapper_does_not_reach_glm_shortened_body_on_matching_close ... ok
[INFO] [stdout] test tests::strip_tool_result_blocks_removes_prefix ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::close_alias_inside_arguments_should_not_expose_nested_call ... ignored, pre-existing defect of the textual tag scanner, outside the <tools> alias
[INFO] [stdout] test tests::strip_tool_result_blocks_removes_single_block ... ok
[INFO] [stdout] test tests::tools_wrapper_does_not_reach_glm_shortened_body_when_unclosed ... ok
[INFO] [stdout] test tests::tools_wrapping_legacy_invoke_does_not_bypass_the_guard ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::tools_prose_wrapped_invocation_example_is_inert ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::tools_string_inside_valid_arguments_is_preserved ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::tools_invocation_with_trailing_prose_is_inert ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::tools_prose_wrapped_example_with_foreign_close_is_inert ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::tools_whitespace_padded_invocation_still_parses ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::tools_bare_canonical_invocation_still_parses ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::tools_top_level_plus_nested_function_is_inert ... ok
[INFO] [stdout] test tools_wrapper_body_boundary_tests::tools_top_level_plus_tool_calls_envelope_is_inert ... ok
[INFO] [stdout] test tests::tools_quoted_foreign_close_inside_arguments_is_preserved ... ok
[INFO] [stdout] test tests::tools_unclosed_bare_canonical_invocation_still_parses ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] test tests::malformed_tool_block_log_omits_model_controlled_content ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::malformed_tool_block_log_omits_model_controlled_content stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::malformed_tool_block_log_omits_model_controlled_content' (807) panicked at src/lib.rs:3811:13:
[INFO] [stdout] malformed tool block should emit the expected canonical log event
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60c8c09eb5c1 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x60c8c0a0175a - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x60c8c09efa7c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x60c8c09c7926 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x60c8c09e3ad9 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x60c8c0865990 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x60c8c09e3c92 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x60c8c09c7a04 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x60c8c09c0759 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x60c8c09c85cd - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x60c8c0a01f3c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x60c8c0841486 - zeroclaw_tool_call_parser[4282a8498c23bae1]::tests::malformed_tool_block_log_omits_model_controlled_content
[INFO] [stdout]   12:     0x60c8c0833729 - <zeroclaw_tool_call_parser[4282a8498c23bae1]::tests::malformed_tool_block_log_omits_model_controlled_content::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x60c8c0858c7b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   14:     0x60c8c08662e5 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   15:     0x60c8c085fba4 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x60c8c0869442 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x60c8c09eae69 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x712cd4febdfa - <unknown>
[INFO] [stdout]   19:     0x712cd507f3d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::malformed_tool_block_log_omits_model_controlled_content
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 188 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 2.03s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250", kill_on_drop: false }`
[INFO] [stdout] 04689b30ed3870d709679576d882d0cc6b353c6674e8b3858e259a0710ca4250
