[INFO] cloning repository https://github.com/fhy/guigu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fhy/guigu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffhy%2Fguigu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffhy%2Fguigu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b55eb5c11eb4eff2e4008e0837dd47767da19345
[INFO] testing fhy/guigu against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffhy%2Fguigu" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/fhy/guigu
[INFO] finished tweaking git repo https://github.com/fhy/guigu
[INFO] tweaked toml for git repo https://github.com/fhy/guigu written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fhy/guigu 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 git repo https://github.com/fhy/guigu 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] 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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9
[INFO] running `Command { std: "docker" "start" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9", 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" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9" "/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" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9", 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" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.1
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling async-trait v0.1.92
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling guigu v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9", 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" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling guigu v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 14s
[INFO] running `Command { std: "docker" "inspect" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9", 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" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/guigu-ef1ccddaa6e5bcbb)
[INFO] [stdout] 
[INFO] [stdout] running 387 tests
[INFO] [stdout] test acp::tests::test_authenticate_returns_empty_auth_methods ... ok
[INFO] [stdout] test acp::tests::test_prompt_block_missing_type ... ok
[INFO] [stdout] test acp::tests::test_prompt_unsupported_content_type ... ok
[INFO] [stdout] test acp::tests::test_session_new_returns_session_id ... ok
[INFO] [stdout] test acp::tests::test_session_prompt_returns_stop_reason ... ok
[INFO] [stdout] test acp::tests::test_set_mode_missing_session_id_errors ... ok
[INFO] [stdout] test acp::tests::test_initialize_returns_capabilities ... ok
[INFO] [stdout] test acp::tests::test_set_mode_unknown_session_errors ... ok
[INFO] [stdout] test acp::tests_fs::test_fs_tool_permission_plan ... ok
[INFO] [stdout] test acp::tests::test_set_mode_session_isolation ... ok
[INFO] [stdout] test acp::tests_fs::test_fs_tool_write ... ok
[INFO] [stdout] test acp::tests::test_set_mode_updates_permission ... ok
[INFO] [stdout] test acp::tests_fs::test_fs_tool_permission_denied ... ok
[INFO] [stdout] test acp::tests_mapping::test_content_blocks_to_messages ... ok
[INFO] [stdout] test acp::tests_mapping::test_event_mapping_text ... ok
[INFO] [stdout] test acp::tests_mapping::test_event_mapping_tool_call ... ok
[INFO] [stdout] test acp::tests_mapping::test_event_mapping_thinking ... ok
[INFO] [stdout] test acp::tests_mapping::test_permission_outcome_parsing ... ok
[INFO] [stdout] test acp::tests_session_load::test_session_load_head_wrong_type_errors ... ok
[INFO] [stdout] test acp::tests_mapping::test_event_mapping_tool_result ... ok
[INFO] [stdout] test acp::tests_mapping::test_event_mapping_no_push ... ok
[INFO] [stdout] test acp::tests_fs::test_fs_tool_unknown_operation ... ok
[INFO] [stdout] test acp::tests_mapping::test_stop_reason_mapping ... ok
[INFO] [stdout] test acp::tests_session_load::test_session_load_invalid_head_then_retry_valid ... ok
[INFO] [stdout] test acp::tests_transport::test_inbound_error_response_deserialization ... ok
[INFO] [stdout] test acp::tests_session_load::test_session_load_explicit_head ... ok
[INFO] [stdout] test acp::tests_session_load::test_session_load_returns_session_id ... ok
[INFO] [stdout] test acp::tests_transport::test_inbound_notification_deserialization ... ok
[INFO] [stdout] test acp::tests_transport::test_jsonrpc_framing_roundtrip ... ok
[INFO] [stdout] test acp::tests_transport::test_outbound_notification_serialization ... ok
[INFO] [stdout] test acp::tests_transport::test_outbound_result_serialization ... ok
[INFO] [stdout] test acp::tests_transport::test_request_id_from_value ... ok
[INFO] [stdout] test acp::tests_transport::test_request_id_roundtrip ... ok
[INFO] [stdout] test acp::tests_transport::test_resolve_pending_string_and_negative_id ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_cancel_all_resolves_pending ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_classify_inbound_bad_version ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_classify_inbound_missing_version ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_classify_inbound_method_and_result ... ok
[INFO] [stdout] test acp::tests_transport::test_inbound_request_deserialization ... ok
[INFO] [stdout] test acp::tests_transport::test_inbound_response_deserialization ... ok
[INFO] [stdout] test acp::tests_transport::test_outbound_error_serialization ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_classify_inbound_valid_messages ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_classify_inbound_response_missing_body ... ok
[INFO] [stdout] test acp::tests_fs::test_fs_tool_read ... ok
[INFO] [stdout] test adapters::acc::tests::block_kind_tracking ... ok
[INFO] [stdout] test adapters::acc::tests::interleaved_text_tool_text_blocks_stay_separate ... ok
[INFO] [stdout] test adapters::acc::tests::multiple_thinking_blocks_stay_separate ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_pending_cleanup_on_send_failure ... ok
[INFO] [stdout] test adapters::acc::tests::multiple_tool_calls_arguments_accumulate ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_writer_error_cancels_pending ... ok
[INFO] [stdout] test adapters::acc::tests::text_accumulation ... ok
[INFO] [stdout] test adapters::acc::tests::text_before_tool_call_order ... ok
[INFO] [stdout] test adapters::acc::tests::thinking_before_text_order ... ok
[INFO] [stdout] test acp::tests_transport_errors::test_classify_inbound_response_bad_id ... ok
[INFO] [stdout] test adapters::acc::tests::build_message_carries_usage_stop_reason_model ... ok
[INFO] [stdout] test adapters::acc::tests::empty_acc_produces_empty_content ... ok
[INFO] [stdout] test adapters::acc::tests::end_tool_call_marks_done ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::block_start_text_no_event ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::duplicate_text_start_index_is_parse_error ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::block_stop_text_no_event ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::block_stop_tool_use_emits_end ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::duplicate_tool_use_start_index_is_parse_error ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::input_json_delta_accumulates ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::duplicate_thinking_start_index_is_parse_error ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::interleaved_blocks_keep_independent_content ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::missing_index_is_parse_error ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::stop_unknown_block_is_parse_error ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::text_delta ... ok
[INFO] [stdout] test adapters::acc::tests::tool_index_map_tracks_provider_indices ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::delta_before_start_is_parse_error ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::block_start_tool_use_emits_start ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::duplicate_block_stop_tool_use_is_parse_error ... ok
[INFO] [stdout] test acp::tests::test_session_cancel_aborts_lane ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::thinking_delta ... ok
[INFO] [stdout] test adapters::anthropic::blocks::tests::unknown_block_type_is_parse_error ... ok
[INFO] [stdout] test adapters::anthropic::events::tests::invalid_json_is_parse_error ... ok
[INFO] [stdout] test adapters::anthropic::events::tests::usage_cache_fields ... ok
[INFO] [stdout] test adapters::anthropic::events::tests::message_delta_records_stop_reason_and_usage ... ok
[INFO] [stdout] test adapters::anthropic::events::tests::message_delta_usage_prefers_message_start_input ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::assistant_invalid_arguments_is_build_error ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::assistant_non_object_arguments_is_build_error ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::assistant_empty_arguments_maps_to_empty_object ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::custom_base_url_and_version ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::tool_result_is_user_message ... ok
[INFO] [stdout] test adapters::anthropic::events::tests::stop_reason_max_tokens_maps_length ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::tools_mapped_with_input_schema ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::url_and_headers ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::user_text_uses_content_blocks ... ok
[INFO] [stdout] test adapters::anthropic::events::tests::message_start_records_input_tokens ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::assistant_tool_use_input_parsed ... ok
[INFO] [stdout] test adapters::anthropic::events::tests::message_stop_builds_done ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::body_shape_with_system ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::tool_without_parameters_uses_object_schema ... ok
[INFO] [stdout] test adapters::anthropic::request::tests::user_with_image_block ... ok
[INFO] [stdout] test adapters::factory::tests::build_provider_with_base_url ... ok
[INFO] [stdout] test adapters::openai::events::tests::finish_reason_length_maps_length ... ok
[INFO] [stdout] test adapters::factory::tests::build_anthropic_provider ... ok
[INFO] [stdout] test adapters::openai::events::tests::done_event_builds_message ... ok
[INFO] [stdout] test adapters::factory::tests::build_openai_provider ... ok
[INFO] [stdout] test adapters::openai::events::tests::finish_reason_stop_maps_completed ... ok
[INFO] [stdout] test adapters::openai::events::tests::invalid_json_is_parse_error ... ok
[INFO] [stdout] test adapters::openai::events::tests::thinking_delta_from_reasoning_content ... ok
[INFO] [stdout] test adapters::openai::events::tests::tool_call_delta_by_index ... ok
[INFO] [stdout] test adapters::openai::events::tests::tool_call_unknown_index_is_parse_error ... ok
[INFO] [stdout] test adapters::openai::events::tests::text_delta ... ok
[INFO] [stdout] test adapters::openai::events::tests::usage_mapped ... ok
[INFO] [stdout] test adapters::openai::events::tests::tool_call_start ... ok
[INFO] [stdout] test adapters::openai::request::tests::assistant_with_text_and_tool_call ... ok
[INFO] [stdout] test adapters::openai::events::tests::tool_call_non_contiguous_indices ... ok
[INFO] [stdout] test adapters::openai::request::tests::tool_without_parameters_uses_empty_object ... ok
[INFO] [stdout] test adapters::openai::request::tests::tool_result_mapped ... ok
[INFO] [stdout] test adapters::openai::events::tests::finish_reason_tool_calls_emits_end ... ok
[INFO] [stdout] test adapters::openai::request::tests::assistant_without_text_has_null_content ... ok
[INFO] [stdout] test adapters::openai::request::tests::tools_mapped ... ok
[INFO] [stdout] test adapters::openai::request::tests::body_shape_with_system_and_stream_options ... ok
[INFO] [stdout] test adapters::openai::request::tests::custom_base_url_trims_slash ... ok
[INFO] [stdout] test adapters::openai::request::tests::user_with_image_uses_content_array ... ok
[INFO] [stdout] test adapters::sse::tests::blank_line_separates_events ... ok
[INFO] [stdout] test adapters::sse::tests::crlf_compatible ... ok
[INFO] [stdout] test adapters::sse::tests::event_name_produces_named ... ok
[INFO] [stdout] test adapters::openai::events::tests::tool_call_duplicate_index_is_parse_error ... ok
[INFO] [stdout] test adapters::openai::request::tests::url_and_headers ... ok
[INFO] [stdout] test adapters::sse::tests::finish_flushes_unterminated_done ... ok
[INFO] [stdout] test adapters::sse::tests::finish_flushes_unterminated_event ... ok
[INFO] [stdout] test adapters::sse::tests::multi_line_data_joined_with_newline ... ok
[INFO] [stdout] test adapters::sse::tests::done_marker ... ok
[INFO] [stdout] test adapters::sse::tests::empty_event_with_only_event_name ... ok
[INFO] [stdout] test adapters::sse::tests::no_space_after_colon ... ok
[INFO] [stdout] test adapters::sse::tests::partial_line_buffered_across_feeds ... ok
[INFO] [stdout] test adapters::stream::tests::unterminated_done_at_eof_still_done ... ok
[INFO] [stdout] test adapters::sse::tests::comment_and_unknown_fields_ignored ... ok
[INFO] [stdout] test adapters::sse::tests::single_data_line ... ok
[INFO] [stdout] test adapters::stream::tests::yields_events_in_order_then_done ... ok
[INFO] [stdout] test adapters::stream::tests::ends_without_done_emits_error ... ok
[INFO] [stdout] test adapters::stream::tests::multiple_events_in_one_chunk_all_yielded ... ok
[INFO] [stdout] test config::tests::model_config_derives_partial_eq_eq ... ok
[INFO] [stdout] test config::tests::model_config_deserialize_full ... ok
[INFO] [stdout] test config::tests::config_load_parse_error ... ok
[INFO] [stdout] test config::tests::model_config_deserialize_minimal ... ok
[INFO] [stdout] test config::tests::config_load_injects_name_from_key ... ok
[INFO] [stdout] test config::tests::config_load_unknown_protocol_maps_to_parse ... ok
[INFO] [stdout] test config::tests::config_load_missing_file_errors ... ok
[INFO] [stdout] test config::tests::guigu_config_deserialize_empty ... ok
[INFO] [stdout] test config::tests::resolve_api_key_cli_empty_falls_through ... ok
[INFO] [stdout] test config::tests::protocol_default_api_key_env ... ok
[INFO] [stdout] test config::tests::protocol_serde_lowercase ... ok
[INFO] [stdout] test config::tests::resolve_api_key_api_key_env ... ok
[INFO] [stdout] test config::tests::resolve_api_key_api_key_env_unset ... ok
[INFO] [stdout] test config::tests::resolve_api_key_cli_key_highest ... ok
[INFO] [stdout] test config::tests::resolve_api_key_config_key_when_no_cli ... ok
[INFO] [stdout] test config::tests::resolve_api_key_missing ... ok
[INFO] [stdout] test config::tests::resolve_path_local_when_exists ... ok
[INFO] [stdout] test core::compactor::tests::test_compact_accumulates_text_and_builds_request ... ok
[INFO] [stdout] test config::tests::resolve_api_key_protocol_default_env ... ok
[INFO] [stdout] test config::tests::resolve_api_key_api_key_env_beats_default_env ... ok
[INFO] [stdout] test config::tests::resolve_path_explicit_wins ... ok
[INFO] [stdout] test config::tests::resolve_path_none_when_nothing ... ok
[INFO] [stdout] test core::compactor::tests::test_compact_empty_input ... ok
[INFO] [stdout] test core::compactor::tests::test_compact_pre_cancelled ... ok
[INFO] [stdout] test core::compactor::tests::test_compact_provider_outer_error ... ok
[INFO] [stdout] test core::compactor::tests::test_format_messages_default ... ok
[INFO] [stdout] test core::compactor::tests::test_format_messages_multisegment_and_thinking_ignored ... ok
[INFO] [stdout] test core::context::tests::test_budget_fits_and_truncate ... ok
[INFO] [stdout] test core::context::tests::test_budget_includes_reserve_and_fixed_overhead ... ok
[INFO] [stdout] test core::context::tests::test_default_convert_to_llm ... ok
[INFO] [stdout] test core::compactor::tests::test_compact_done_only_empty_summary_is_error ... ok
[INFO] [stdout] test core::context::tests::test_estimate_tokens_boundaries ... ok
[INFO] [stdout] test core::context::tests::test_estimate_tokens_positive ... ok
[INFO] [stdout] test config::tests::resolve_path_xdg_when_exists ... ok
[INFO] [stdout] test core::context::tests::test_fallback_estimate_includes_fixed_overhead ... ok
[INFO] [stdout] test core::context::tests::test_plan_context_compaction_failure_degrades ... ok
[INFO] [stdout] test core::context::tests::test_budget_truncate_keeps_last_when_all_oversized ... ok
[INFO] [stdout] test core::context::tests::test_plan_context_over_budget_compacts ... ok
[INFO] [stdout] test core::compactor::tests::test_compact_stream_end_no_text_is_error ... ok
[INFO] [stdout] test core::context::tests::test_fits_true_truncate_preserves_usage_baseline_transcript ... ok
[INFO] [stdout] test core::context::tests::test_plan_context_cancelled_returns_error ... ok
[INFO] [stdout] test core::compactor::tests::test_compact_stream_inner_error ... ok
[INFO] [stdout] test core::context::tests::test_plan_context_too_few_turns_no_compaction ... ok
[INFO] [stdout] test core::context::tests::test_usage_baseline_is_preferred_for_compaction_budget ... ok
[INFO] [stdout] test core::context::tests::test_plan_context_persistent_no_recompact ... ok
[INFO] [stdout] test core::context::tests_truncate::test_truncate_defensive_first_not_user ... ok
[INFO] [stdout] test core::context::tests::test_usage_baseline_does_not_double_deduct_overhead ... ok
[INFO] [stdout] test core::context::tests_truncate::test_truncate_drops_whole_turns ... ok
[INFO] [stdout] test core::context::tests_truncate::test_truncate_keeps_last_turn_when_oversized ... ok
[INFO] [stdout] test adapters::stream::tests::cancellation_emits_aborted_error ... ok
[INFO] [stdout] test core::file_lock::tests::test_join_error_display ... ok
[INFO] [stdout] test core::file_lock::tests::test_different_paths_parallel ... ok
[INFO] [stdout] test core::file_lock::tests::test_open_error_display ... ok
[INFO] [stdout] test core::context::tests::test_plan_context_within_budget_no_compaction ... ok
[INFO] [stdout] test core::context::tests_truncate::test_keep_recent_turn_granularity ... ok
[INFO] [stdout] test core::context::tests_truncate::test_truncate_topology_safe_tool_call_result ... ok
[INFO] [stdout] test core::file_lock::tests::test_try_lock_same_path ... ok
[INFO] [stdout] test core::context::tests_truncate::test_truncate_within_budget ... ok
[INFO] [stdout] test core::file_lock::tests::test_guard_drop_releases ... ok
[INFO] [stdout] test core::provider::tests::retry_after_only_applies_to_429 ... ok
[INFO] [stdout] test core::provider::tests::retry_class_mapping ... ok
[INFO] [stdout] test core::schema::tests::test_parameters_roundtrip_via_root_schema ... ok
[INFO] [stdout] test core::schema::tests::test_root_schema_accepts_legacy_manual_json ... ok
[INFO] [stdout] test core::schema::tests::test_root_schema_invalid_returns_none ... ok
[INFO] [stdout] test core::schema::tests::test_root_schema_none ... ok
[INFO] [stdout] test core::schema::tests::test_schema_for_roundtrip ... ok
[INFO] [stdout] test core::schema::tests::test_schema_for_required_from_non_option ... ok
[INFO] [stdout] test core::session::tests::append_lane_head_marks_committed_and_blocks_initial ... ok
[INFO] [stdout] test core::session::tests::append_with_head_atomic_commit_updates_head ... ok
[INFO] [stdout] test core::session::tests::append_with_head_fails_when_head_store_fails ... ok
[INFO] [stdout] test core::session::jsonl::tests::test_open_default_no_file_lock ... ok
[INFO] [stdout] test core::session::jsonl::tests::test_open_locked_append ... ok
[INFO] [stdout] test core::session::tests::lane_writer_append_advances_head ... ok
[INFO] [stdout] test core::session::tests::lane_writer_append_head_failure_does_not_advance_head ... ok
[INFO] [stdout] test core::session::jsonl::tests::test_open_locked_truncates_crash_half_line ... ok
[INFO] [stdout] test core::session::tests::lane_writer_fork_at_redirects_head ... ok
[INFO] [stdout] test core::compactor::tests::test_compact_cancelled_during_accumulation ... ok
[INFO] [stdout] test core::session::tests::lane_writer_new_no_store_persist_head_is_noop ... ok
[INFO] [stdout] test core::session::tests::lane_writer_persist_head_explicit_after_fork ... ok
[INFO] [stdout] test core::session::tests::lane_writer_two_lanes_same_head_two_leaves ... ok
[INFO] [stdout] test core::session::tests::persist_initial_head_fork_not_reverted_to_fork_point ... ok
[INFO] [stdout] test core::session::tests::persist_initial_head_is_idempotent ... ok
[INFO] [stdout] test core::session::tests::lane_writer_with_head_store_append_auto_persists ... ok
[INFO] [stdout] test core::session::tests::persist_initial_head_noop_when_unbound ... ok
[INFO] [stdout] test core::session::tests::persist_initial_head_skipped_when_bridge_wrote_first ... ok
[INFO] [stdout] test core::session::tests::persist_initial_head_then_bridge_append_last_write_wins ... ok
[INFO] [stdout] test core::session::tests::recorder_fork_at_redirects_head ... ok
[INFO] [stdout] test core::session::tests::recorder_record_advances_head ... ok
[INFO] [stdout] test core::session::tests::recorder_attach_consumes_message_end_only ... ok
[INFO] [stdout] test core::session::tests::reduce_children_filled_in_ascending_id_order ... ok
[INFO] [stdout] test core::session::tests::reduce_duplicate_id ... ok
[INFO] [stdout] test core::session::tests::reduce_cycle ... ok
[INFO] [stdout] test core::session::tests::reduce_fork_yields_two_leaves ... ok
[INFO] [stdout] test core::session::tests::reduce_linear_chain ... ok
[INFO] [stdout] test core::session::tests::reduce_multiple_roots ... ok
[INFO] [stdout] test core::session::tests::reduce_parent_after_child_is_accepted ... ok
[INFO] [stdout] test core::session::tests::reduce_parent_not_found ... ok
[INFO] [stdout] test core::session::tests::reduce_path_to_internal_node_returns_none ... ok
[INFO] [stdout] test core::session::tests::reduce_path_to_returns_root_to_leaf_sequence ... ok
[INFO] [stdout] test core::session::tests::reduce_path_to_single_node_root_is_leaf ... ok
[INFO] [stdout] test core::session::tests::session_record_field_mutual_exclusion ... ok
[INFO] [stdout] test core::session::tests::session_record_lane_head_roundtrip ... ok
[INFO] [stdout] test core::session::tests::reduce_empty ... ok
[INFO] [stdout] test core::session::tests::session_record_message_roundtrip ... ok
[INFO] [stdout] test core::session::tests::shared_storage_concurrent_appends_unique_ids ... ok
[INFO] [stdout] test core::session::tests::shared_storage_delegates_append_load_next_id ... ok
[INFO] [stdout] test core::session::tests::shared_storage_lane_head_store_delegates_when_bound ... ok
[INFO] [stdout] test core::session::tests::shared_storage_lane_head_store_noop_when_unbound ... ok
[INFO] [stdout] test core::session::tests::snapshot_returns_consistent_tree_and_heads ... ok
[INFO] [stdout] test core::tool::tests::test_tool_parameters_generates_object_schema ... ok
[INFO] [stdout] test plugin::agent::tests::test_agent_factory_callback_runs_outside_lock ... ok
[INFO] [stdout] test plugin::agent::tests::test_agent_factory_lookup ... ok
[INFO] [stdout] test plugin::agent::tests::test_factory_build_produces_usable_agent ... ok
[INFO] [stdout] test plugin::agent::tests::test_get_and_list_sorted ... ok
[INFO] [stdout] test plugin::agent::tests::test_merged_hooks_callback_runs_outside_lock ... ok
[INFO] [stdout] test plugin::agent::tests::test_merged_hooks_some_when_hooks_contributed ... ok
[INFO] [stdout] test plugin::agent::tests::test_merged_hooks_none_when_no_hooks ... ok
[INFO] [stdout] test plugin::agent::tests::test_unregister_nonexistent ... ok
[INFO] [stdout] test core::session::jsonl::tests::test_open_locked_sequential_append ... ok
[INFO] [stdout] test plugin::agent::tests::test_register_duplicate_id ... ok
[INFO] [stdout] test plugin::agent::tests::test_unregistered_plugin_still_callable ... ok
[INFO] [stdout] test plugin::hooks::tests::test_after_tool_call_rewrite ... ok
[INFO] [stdout] test plugin::hooks::tests::test_default_after_tool_call_passthrough ... ok
[INFO] [stdout] test plugin::hooks::tests::test_default_prepare_next_turn_empty ... ok
[INFO] [stdout] test plugin::hooks::tests::test_default_before_tool_call_ok ... ok
[INFO] [stdout] test plugin::hooks::tests::test_default_should_stop_none ... ok
[INFO] [stdout] test plugin::hooks::tests_merged::test_merged_after_tool_call_chained ... ok
[INFO] [stdout] test plugin::hooks::tests_merged::test_merged_after_tool_call_short_circuit_keeps_last_success ... ok
[INFO] [stdout] test plugin::hooks::tests::test_prepare_next_turn_inject ... ok
[INFO] [stdout] test plugin::hooks::tests_merged::test_merged_before_tool_call_short_circuit ... ok
[INFO] [stdout] test plugin::hooks::tests_merged::test_merged_hooks_sorted_by_id ... ok
[INFO] [stdout] test plugin::hooks::tests_merged_stop::test_merged_prepare_next_turn_short_circuit_keeps_success ... ok
[INFO] [stdout] test plugin::hooks::tests_merged_stop::test_merged_prepare_next_turn_concat ... ok
[INFO] [stdout] test plugin::hooks::tests_merged_stop::test_merged_should_stop_all_none ... ok
[INFO] [stdout] test plugin::hooks::tests_merged_stop::test_merged_should_stop_first_true ... ok
[INFO] [stdout] test plugin::tests::test_get_and_list_sorted ... ok
[INFO] [stdout] test plugin::tests::test_register_duplicate_id ... ok
[INFO] [stdout] test plugin::tests::test_tools_assembly_order_and_no_instantiation ... ok
[INFO] [stdout] test plugin::tests::test_tools_callback_runs_outside_read_lock ... ok
[INFO] [stdout] test plugin::tests::test_unregister_nonexistent ... ok
[INFO] [stdout] test plugin::tests::test_unregistered_plugin_tool_still_executes ... ok
[INFO] [stdout] test plugin::tool::tests::test_execute_instantiates_once_and_caches ... ok
[INFO] [stdout] test plugin::tool::tests::test_failure_not_cached_retryable ... ok
[INFO] [stdout] test plugin::tool::tests::test_try_new_declared_name_ok ... ok
[INFO] [stdout] test plugin::tool::tests::test_try_new_undeclared_name_errors ... ok
[INFO] [stdout] test remote::client::tests::test_abort_returns_err_after_write_failure ... ok
[INFO] [stdout] test remote::client::tests::test_command_error ... ok
[INFO] [stdout] test plugin::tool::tests::test_laziness_schema_methods_do_not_instantiate ... ok
[INFO] [stdout] test plugin::tool::tests::test_schema_forwarding ... ok
[INFO] [stdout] test remote::client::tests::test_read_eof_fails_inflight_commands_immediately ... ok
[INFO] [stdout] test remote::client::tests::test_snapshot_updates ... ok
[INFO] [stdout] test core::session::tests::snapshot_unbound_head_store_returns_empty_heads ... ok
[INFO] [stdout] test remote::client::tests::test_prompt_returns_ok ... ok
[INFO] [stdout] test remote::client::tests::test_subscribe_receives_events ... ok
[INFO] [stdout] test remote::codec::tests::test_empty_line_ignored ... ok
[INFO] [stdout] test remote::codec::tests::test_eof_returns_none ... ok
[INFO] [stdout] test remote::client::tests::test_write_failure_fails_commands_immediately ... ok
[INFO] [stdout] test remote::codec::tests::test_multi_line_merged_read ... ok
[INFO] [stdout] test remote::codec::tests::test_partial_line_write ... ok
[INFO] [stdout] test remote::codec::tests::test_bad_json_protocol_error ... ok
[INFO] [stdout] test remote::protocol::tests::test_remote_request_id_accessor ... ok
[INFO] [stdout] test remote::protocol::tests::test_remote_request_roundtrip ... ok
[INFO] [stdout] test remote::protocol::tests::test_remote_request_snake_case_tag ... ok
[INFO] [stdout] test remote::codec::tests::test_single_line_roundtrip ... ok
[INFO] [stdout] test remote::protocol::tests::test_server_message_response_two_states ... ok
[INFO] [stdout] test remote::server::tests::test_get_snapshot ... ok
[INFO] [stdout] test remote::protocol::tests::test_server_message_roundtrip ... ok
[INFO] [stdout] test remote::server::tests::test_initial_snapshot_on_connect ... ok
[INFO] [stdout] test remote::server::tests::test_prompt_triggers_events ... ok
[INFO] [stdout] test remote::server::tests::test_writer_failure_stops_read_loop ... ok
[INFO] [stdout] test remote::server::tests::test_shutdown_closes_stream ... ok
[INFO] [stdout] test remote::server::tests::test_initial_snapshot_first_with_in_flight_events ... ok
[INFO] [stdout] test server::protocol::tests::test_server_message_response_ok_null ... ok
[INFO] [stdout] test server::protocol::tests::test_server_message_response_two_states ... ok
[INFO] [stdout] test server::protocol::tests::test_server_message_roundtrip ... ok
[INFO] [stdout] test server::protocol::tests::test_server_request_id_accessor ... ok
[INFO] [stdout] test server::protocol::tests::test_server_request_roundtrip ... ok
[INFO] [stdout] test server::protocol::tests::test_server_request_snake_case_tag ... ok
[INFO] [stdout] test core::session::jsonl::tests::test_open_locked_two_instances_concurrent_append ... ok
[INFO] [stdout] test server::tests::test_create_and_list_session ... ok
[INFO] [stdout] test server::tests::test_duplicate_session ... ok
[INFO] [stdout] test server::tests::test_fork_lane_branches ... ok
[INFO] [stdout] test server::tests::test_lane_already_exists ... ok
[INFO] [stdout] test server::tests::test_fork_lane_errors ... ok
[INFO] [stdout] test server::tests::test_load_session ... ok
[INFO] [stdout] test server::tests::test_remove_lane_if_generation_identity_check ... ok
[INFO] [stdout] test server::tests::test_not_found_errors ... ok
[INFO] [stdout] test remote::tests::test_reap_child_reaps_process ... ok
[INFO] [stdout] test server::tests::test_resume_lane_empty_session ... ok
[INFO] [stdout] test server::tests::test_resume_lane_explicit_head_fork ... ok
[INFO] [stdout] test server::tests::test_shutdown_clears_registry ... ok
[INFO] [stdout] test server::tests::test_snapshot ... ok
[INFO] [stdout] test server::tests::test_spawn_lane_and_prompt ... ok
[INFO] [stdout] test server::tests::test_resume_lane_none_head_uses_persisted ... ok
[INFO] [stdout] test server::tests::test_subscribe ... ok
[INFO] [stdout] test server::transport::tests::test_create_session ... ok
[INFO] [stdout] test server::transport::tests::test_create_session_auto_id ... ok
[INFO] [stdout] test server::tests::test_resume_lane_invalid_head ... ok
[INFO] [stdout] test server::transport::tests::test_shutdown_closes_connection ... ok
[INFO] [stdout] test server::transport::tests::test_list_sessions ... ok
[INFO] [stdout] test server::transport::tests::test_unknown_session_error ... ok
[INFO] [stdout] test tools::deferred::tests::test_execute_builds_once_and_caches ... ok
[INFO] [stdout] test tools::deferred::tests::test_execute_passthrough ... ok
[INFO] [stdout] test tools::deferred::tests::test_from_tool_extracts_schema ... ok
[INFO] [stdout] test server::transport::tests::test_spawn_lane_and_prompt ... ok
[INFO] [stdout] test tools::deferred::tests::test_laziness_schema_methods_do_not_build ... ok
[INFO] [stdout] test tools::deferred::tests::test_ready_wraps_existing_tool ... ok
[INFO] [stdout] test core::session::tests::head_committed_poison_recovery ... ok
[INFO] [stdout] test tools::deferred::tests::test_schema_forwarding ... ok
[INFO] [stdout] test core::session::tests::head_committed_poison_recovery_append_with_head ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_tool_name ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_tool_resource_scope ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_tool_parameters ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_tool_missing_old_string ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_tool_cancelled ... ok
[INFO] [stdout] test tools::edit::tests::test_edit_tool_work_dir_relative ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_guard_drop_releases ... ok
[INFO] [stdout] test server::tests::test_spawn_lane_recovered_head_equals_last_append ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_prune_clears_released_paths ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_prune_keeps_inflight_path ... ok
[INFO] [stdout] test server::tests::test_resume_lane_restores_transcript ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_with_file_lock_acquire_and_release ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_with_file_lock_acquire_fails_when_lock_unavailable ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_with_file_lock_different_paths_parallel ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_with_file_lock_same_path_serialized ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_cancelled ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_same_path_serialized ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_missing_path ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_limit_in_multibyte_char ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_mutex_preserved_after_eviction ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_name ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_parameters ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_resource_scope ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_work_dir_absolute_unchanged ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_offset_in_multibyte_char ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_offset_beyond_eof ... ok
[INFO] [stdout] test tools::read::tests::test_read_tool_work_dir_relative ... ok
[INFO] [stdout] test tools::tests::test_resolve_relative_no_work_dir ... ok
[INFO] [stdout] test tools::tests::test_resolve_absolute_unchanged ... ok
[INFO] [stdout] test tools::tests::test_resolve_relative_joins_work_dir ... ok
[INFO] [stdout] test tools::tests::test_resolve_relative_work_dir ... ok
[INFO] [stdout] test tools::write::tests::test_write_tool_missing_content ... ok
[INFO] [stdout] test tools::write::tests::test_write_tool_parameters ... ok
[INFO] [stdout] test tools::write::tests::test_write_tool_cancelled ... ok
[INFO] [stdout] test tools::write::tests::test_write_tool_name ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_acquire_auto_prunes_at_threshold ... ok
[INFO] [stdout] test tools::write::tests::test_write_tool_resource_scope ... ok
[INFO] [stdout] test tools::write::tests::test_write_tool_work_dir_relative ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_different_paths_parallel ... ok
[INFO] [stdout] test core::file_lock::tests::test_lock_exclusive_cancelled ... ok
[INFO] [stdout] test tools::file_mutation_queue::tests::test_acquire_cancelled_by_select ... ok
[INFO] [stdout] test remote::tests::test_stdio_stream_reaps_child ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 387 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.66s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/guigu/main.rs (/opt/rustwide/target/debug/deps/guigu-2fc9f576c515e578)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test assemble::tests::resolve_system_prompt_some_uses_custom ... ok
[INFO] [stdout] test assemble::tests::resolve_system_prompt_none_falls_back_to_default ... ok
[INFO] [stdout] test cli::tests::parse_config_absent_is_none ... ok
[INFO] [stdout] test cli::tests::parse_api_key_env_absent_is_none ... ok
[INFO] [stdout] test cli::tests::parse_base_url_absent_is_none ... ok
[INFO] [stdout] test cli::tests::parse_base_url_before_subcommand ... ok
[INFO] [stdout] test cli::tests::parse_api_key_env ... ok
[INFO] [stdout] test cli::tests::parse_base_url_after_subcommand ... ok
[INFO] [stdout] test cli::tests::parse_system_prompt_after_subcommand ... ok
[INFO] [stdout] test cli::tests::parse_system_prompt_absent_is_none ... ok
[INFO] [stdout] test cli::tests::parse_system_prompt_before_subcommand ... ok
[INFO] [stdout] test cli::tests::parse_config_path ... ok
[INFO] [stdout] test provider::tests::select_provider_fake_early_return ... ok
[INFO] [stdout] test assemble::tests::assemble_injects_custom_system_prompt ... ok
[INFO] [stdout] test assemble::tests::assemble_injects_default_system_prompt ... ok
[INFO] [stderr]      Running tests/acp.rs (/opt/rustwide/target/debug/deps/acp-8842e8789dd46f4f)
[INFO] [stdout] test provider::tests::select_provider_config_name_hit ... ok
[INFO] [stdout] test provider::tests::select_provider_inline_fallback ... ok
[INFO] [stdout] test provider::tests::select_provider_inline_default_model ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_stdio_loopback_full_session ... ok
[INFO] [stderr]      Running tests/acp_sse/main.rs (/opt/rustwide/target/debug/deps/acp_sse-43a49b1fea9ac3c5)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/adapters.rs (/opt/rustwide/target/debug/deps/adapters-c66a2c38506e9077)
[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 12 tests
[INFO] [stdout] test openai_establishment_cancellation_returns_aborted ... ok
[INFO] [stdout] test anthropic_interleaved_blocks_preserve_order ... ok
[INFO] [stdout] test openai_full_stream_produces_events_and_done ... ok
[INFO] [stdout] test anthropic_full_stream_produces_events_and_done ... ok
[INFO] [stdout] test openai_http_429_parses_retry_after ... ok
[INFO] [stdout] test openai_request_body_and_headers ... ok
[INFO] [stdout] test openai_http_401_returns_http_status_error ... ok
[INFO] [stdout] test anthropic_request_body_and_headers ... ok
[INFO] [stdout] test openai_tool_call_stream ... ok
[INFO] [stdout] test anthropic_delta_unknown_block_emits_stream_error ... ok
[INFO] [stdout] test openai_non_contiguous_tool_indices ... ok
[INFO] [stderr]      Running tests/agent_lifecycle.rs (/opt/rustwide/target/debug/deps/agent_lifecycle-b84db61c3f9ad1fb)
[INFO] [stdout] test openai_unknown_tool_index_emits_stream_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_abort_stops_run ... ok
[INFO] [stdout] test test_steer_followup_enqueue_and_drain ... ok
[INFO] [stdout] test test_multi_message_event_sequence ... ok
[INFO] [stderr]      Running tests/agent_plugin.rs (/opt/rustwide/target/debug/deps/agent_plugin-e84900b414fbb36e)
[INFO] [stdout] test test_reset_clears_transcript_and_queue ... ok
[INFO] [stdout] test test_subscribe_receives_full_event_sequence ... ok
[INFO] [stdout] test test_concurrent_prompt_handling ... ok
[INFO] [stdout] test test_wait_for_idle ... ok
[INFO] [stdout] test test_prompt_updates_snapshot ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test test_registry_end_to_end ... ok
[INFO] [stdout] test test_registry_duplicate_id ... ok
[INFO] [stdout] test test_bridge_after_tool_call_rewrite ... ok
[INFO] [stdout] test test_bridge_plugin_before_closure ... ok
[INFO] [stdout] test test_bridge_prepare_next_turn_inject ... ok
[INFO] [stdout] test test_bridge_closure_hooks_no_regression ... ok
[INFO] [stdout] test test_bridge_before_after_tool_call ... ok
[INFO] [stdout] test test_bridge_should_stop ... ok
[INFO] [stdout] test test_registry_merged_hooks_none ... ok
[INFO] [stdout] test test_registry_unregister_still_callable ... ok
[INFO] [stdout] test test_registry_merged_hooks_outside_lock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/bash.rs (/opt/rustwide/target/debug/deps/bash-26bf08dbbdb87e15)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test test_bash_pre_cancelled ... ok
[INFO] [stdout] test test_bash_missing_command ... ok
[INFO] [stdout] test test_bash_default_cwd_fallback ... ok
[INFO] [stdout] test test_bash_cwd ... ok
[INFO] [stdout] test test_bash_nonzero_exit ... ok
[INFO] [stdout] test test_bash_echo ... ok
[INFO] [stdout] test test_bash_per_call_cwd_overrides_default ... ok
[INFO] [stdout] test test_bash_tool_resource_scope ... ok
[INFO] [stdout] test test_bash_tool_name ... ok
[INFO] [stdout] test test_bash_tool_parameters ... ok
[INFO] [stdout] test test_bash_cancelled ... ok
[INFO] [stdout] test test_bash_timeout ... ok
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-60e8343b0320a26e)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_run_missing_api_key ... ok
[INFO] [stdout] test test_help_exits_zero ... ok
[INFO] [stdout] test test_acp_loopback_initialize_and_new ... ok
[INFO] [stdout] test test_acp_loopback_prompt_roundtrip ... ok
[INFO] [stdout] test test_repl_fake_provider_prompt_and_quit ... ok
[INFO] [stdout] test test_repl_session_resume_restores_context ... ok
[INFO] [stdout] test test_repl_session_new_and_resume ... ok
[INFO] [stderr]      Running tests/compactor.rs (/opt/rustwide/target/debug/deps/compactor-ca6a80375dc84b95)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_compaction_failure_degrades_to_truncation ... ok
[INFO] [stdout] test test_compactor_applies_transform_context_hook ... ok
[INFO] [stdout] test test_compactor_respects_context_window ... ok
[INFO] [stdout] test test_compaction_cancelled_aborts ... ok
[INFO] [stdout] test test_compaction_triggers_and_injects_summary ... ok
[INFO] [stdout] test test_compaction_persistent_no_recompact ... ok
[INFO] [stdout] test test_within_budget_no_compaction ... ok
[INFO] [stderr]      Running tests/config.rs (/opt/rustwide/target/debug/deps/config-27290655e1114c31)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 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 build_provider_anthropic ... ok
[INFO] [stdout] test load_empty_toml_gives_empty_config ... ok
[INFO] [stdout] test build_provider_openai ... ok
[INFO] [stdout] test load_toml_parses_and_injects_name ... ok
[INFO] [stdout] test resolve_explicit_path ... ok
[INFO] [stdout] test base_url_override_routes_to_custom_endpoint ... ok
[INFO] [stdout] test anthropic_base_url_override_routes_to_custom_endpoint ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/deferred.rs (/opt/rustwide/target/debug/deps/deferred-a968d3c3ce849e81)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/echo_agent.rs (/opt/rustwide/target/debug/deps/echo_agent-23d59f43aa2dc772)
[INFO] [stdout] test test_deferred_full_contract ... ok
[INFO] [stdout] test test_concurrent_execute_builds_once ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_echo_tool_name ... ok
[INFO] [stdout] test test_echo_tool_parameters ... ok
[INFO] [stdout] test test_echo_tool_description ... ok
[INFO] [stdout] test test_echo_tool_resource_scope ... ok
[INFO] [stdout] test test_echo_tool_execute_echoes_message ... ok
[INFO] [stderr]      Running tests/file_lock.rs (/opt/rustwide/target/debug/deps/file_lock-c8776cea6f57c988)
[INFO] [stdout] test test_echo_tool_execute_missing_message ... ok
[INFO] [stdout] test test_echo_tool_execute_empty_message ... ok
[INFO] [stdout] test test_echo_agent_end_to_end ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_cross_process_jsonl_concurrent_append ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] test test_cross_process_jsonl_concurrent_append ... ok
[INFO] [stdout] test test_cross_process_file_mutation_queue ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 2.01s
[INFO] [stdout] 
[INFO] [stdout] test test_cross_process_file_mutation_queue ... ok
[INFO] [stdout] test test_cross_process_mutual_exclusion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 2 filtered out; finished in 2.06s
[INFO] [stdout] 
[INFO] [stdout] test test_cross_process_mutual_exclusion ... ok
[INFO] [stderr]      Running tests/file_mutation_queue.rs (/opt/rustwide/target/debug/deps/file_mutation_queue-25f0e89bec6cd184)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_write_same_path_serialized_via_shared_queue ... ok
[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] [stderr]      Running tests/message.rs (/opt/rustwide/target/debug/deps/message-6ddcf9b76b72296c)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_thinking_level_roundtrip ... ok
[INFO] [stdout] test test_stop_reason_roundtrip ... ok
[INFO] [stdout] test test_stop_reason_unknown_variant ... ok
[INFO] [stdout] test test_tool_result_message_roundtrip ... ok
[INFO] [stdout] test test_assistant_message_roundtrip ... ok
[INFO] [stdout] test test_stop_reason_all_variants ... ok
[INFO] [stdout] test test_tool_result_roundtrip ... ok
[INFO] [stderr]      Running tests/plugin.rs (/opt/rustwide/target/debug/deps/plugin-c1fb3e45a10b11eb)
[INFO] [stdout] test test_user_message_roundtrip ... ok
[INFO] [stdout] test test_agent_event_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_registry_tools_assembly_order ... ok
[INFO] [stdout] test test_undeclared_tool_maps_to_tool_error ... ok
[INFO] [stdout] test test_plugin_tool_full_contract ... ok
[INFO] [stdout] test test_unregistered_plugin_tool_still_executes ... ok
[INFO] [stdout] test test_concurrent_execute_instantiates_once ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/remote.rs (/opt/rustwide/target/debug/deps/remote-6b6d5a9451e3b769)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_abort_non_blocking ... ok
[INFO] [stdout] test test_loopback_end_to_end ... ok
[INFO] [stdout] test test_reset_clears_messages ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/runtime_loop.rs (/opt/rustwide/target/debug/deps/runtime_loop-ee599df2e8506f0b)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_abort ... ok
[INFO] [stdout] test test_stream_ends_without_done ... ok
[INFO] [stdout] test test_pure_text_single_turn ... ok
[INFO] [stdout] test test_steering ... ok
[INFO] [stdout] test test_followup ... ok
[INFO] [stdout] test test_sequential_order ... ok
[INFO] [stdout] test test_tool_call_loop ... ok
[INFO] [stdout] test test_readonly_parallel ... ok
[INFO] [stdout] test test_exclusive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/runtime_loop_lifecycle.rs (/opt/rustwide/target/debug/deps/runtime_loop_lifecycle-7fe444b8d7d17c34)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_stream_establishment_cancel ... ok
[INFO] [stderr]      Running tests/runtime_loop_retry.rs (/opt/rustwide/target/debug/deps/runtime_loop_retry-9c82987a2251cfcd)
[INFO] [stdout] test test_stream_establishment_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_permanent_provider_error_is_not_retried ... ok
[INFO] [stdout] test test_retry_backoff_can_be_cancelled ... ok
[INFO] [stdout] test test_retry ... ok
[INFO] [stdout] test test_rate_limited_without_retry_after_uses_exponential_backoff ... ok
[INFO] [stdout] test test_rate_limited_retry_after_is_capped ... ok
[INFO] [stdout] test test_rate_limited_retry_after_is_used ... ok
[INFO] [stderr]      Running tests/runtime_loop_truncate.rs (/opt/rustwide/target/debug/deps/runtime_loop_truncate-1be84eb39881dba3)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_length_without_tool_calls ... ok
[INFO] [stdout] test test_context_budget_truncation ... ok
[INFO] [stdout] test test_length_truncation_protects_tool_calls ... ok
[INFO] [stdout] test test_length_negative_completed_executes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/schema.rs (/opt/rustwide/target/debug/deps/schema-9136f864af20bcba)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_read_schema_semantics ... ok
[INFO] [stdout] test test_edit_schema_semantics ... ok
[INFO] [stdout] test test_write_schema_semantics ... ok
[INFO] [stdout] test test_bash_schema_semantics ... ok
[INFO] [stderr]      Running tests/server.rs (/opt/rustwide/target/debug/deps/server-db3bec2e4ec619a2)
[INFO] [stdout] test test_value_root_schema_roundtrip ... ok
[INFO] [stdout] test test_schema_for_serialize_deserialize_closure ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test test_concurrent_fork_lane_race ... ok
[INFO] [stdout] test test_legacy_storage_factory_api_compat ... ok
[INFO] [stdout] test test_concurrent_spawn_lane_race ... ok
[INFO] [stdout] test test_shutdown_global_semantics ... ok
[INFO] [stdout] test test_concurrent_spawn_lane_race_no_head_pollution ... ok
[INFO] [stdout] test test_duplicate_subscribe_no_duplicate_events ... ok
[INFO] [stdout] test test_client_disconnect_does_not_affect_other ... ok
[INFO] [stdout] test test_multi_client_concurrency ... ok
[INFO] [stdout] test test_spawn_lane_vs_shutdown ... ok
[INFO] [stdout] test test_fork_lane_branches ... ok
[INFO] [stderr]      Running tests/session.rs (/opt/rustwide/target/debug/deps/session-c618330e023faa9c)
[INFO] [stdout] test test_unsubscribe_stops_events ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test append_with_exhausted_cursor_returns_id_exhausted ... ok
[INFO] [stdout] test crash_recovery_ignores_trailing_half_line ... ok
[INFO] [stdout] test backward_compat_message_only_file ... ok
[INFO] [stdout] test lane_head_store_crash_half_line_dropped ... ok
[INFO] [stdout] test empty_lane_none_head_recovery ... ok
[INFO] [stdout] test append_allocates_up_to_max_minus_one_then_exhausts ... ok
[INFO] [stdout] test append_after_recovery_does_not_duplicate_ids ... ok
[INFO] [stdout] test fork_creates_two_branches ... ok
[INFO] [stdout] test load_with_max_id_returns_id_exhausted ... ok
[INFO] [stdout] test open_missing_file_yields_empty_tree ... ok
[INFO] [stdout] test fork_without_append_recovery ... ok
[INFO] [stdout] test lane_writer_fork_branches ... ok
[INFO] [stdout] test lane_head_store_multiple_writes_final_value ... ok
[INFO] [stdout] test open_with_max_id_returns_id_exhausted ... ok
[INFO] [stdout] test linear_append_then_load ... ok
[INFO] [stdout] test load_restores_next_id_cursor ... ok
[INFO] [stdout] test lane_head_store_append_then_load ... ok
[INFO] [stdout] test recorder_attach_end_to_end ... ok
[INFO] [stdout] test multi_lane_fork_end_to_end ... ok
[INFO] [stdout] test shared_storage_crash_recovery_after_concurrent ... ok
[INFO] [stdout] test shared_storage_concurrent_appends_no_interleave ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/session_concurrency.rs (/opt/rustwide/target/debug/deps/session_concurrency-5ebf12017a88b9ee)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test lane_writer_multi_step_concurrent_chains ... ok
[INFO] [stdout] test concurrent_append_head_consistency ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tools.rs (/opt/rustwide/target/debug/deps/tools-2c5dadd27235f356)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test test_edit_contract ... ok
[INFO] [stdout] test test_read_contract ... ok
[INFO] [stdout] test test_edit_unique_match ... ok
[INFO] [stdout] test test_read_existing_file ... ok
[INFO] [stdout] test test_read_type_mismatch ... ok
[INFO] [stdout] test test_read_nonexistent_file ... ok
[INFO] [stdout] test test_edit_work_dir_relative ... ok
[INFO] [stdout] test test_read_invalid_utf8 ... ok
[INFO] [stdout] test test_write_contract ... ok
[INFO] [stdout] test test_read_work_dir_relative ... ok
[INFO] [stdout] test test_edit_multiple_matches ... ok
[INFO] [stdout] test test_work_dir_isolation ... ok
[INFO] [stdout] test test_write_creates_parent_dirs ... ok
[INFO] [stdout] test test_read_offset_limit ... ok
[INFO] [stdout] test test_write_new_file ... ok
[INFO] [stdout] test test_edit_not_found ... ok
[INFO] [stdout] test test_write_overwrite ... ok
[INFO] [stderr]    Doc-tests guigu
[INFO] [stdout] test test_write_work_dir_relative ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[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] running `Command { std: "docker" "inspect" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9", kill_on_drop: false }`
[INFO] [stdout] b82717af5defd37db8bb1f15f2600f603c90bc0acb5fd3d0262acf4e37e19ed9
