[INFO] fetching crate ricecoder-hooks 0.1.71... [INFO] testing ricecoder-hooks-0.1.71 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate ricecoder-hooks 0.1.71 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate ricecoder-hooks 0.1.71 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate ricecoder-hooks 0.1.71 [INFO] tweaked toml for crates.io crate ricecoder-hooks 0.1.71 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate ricecoder-hooks 0.1.71 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate ricecoder-hooks 0.1.71 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3916046f2d31a5c5eab52706a1d0d9d254b096cf0ce0f2ebd93a693323d89d72 [INFO] running `Command { std: "docker" "start" "-a" "3916046f2d31a5c5eab52706a1d0d9d254b096cf0ce0f2ebd93a693323d89d72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3916046f2d31a5c5eab52706a1d0d9d254b096cf0ce0f2ebd93a693323d89d72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3916046f2d31a5c5eab52706a1d0d9d254b096cf0ce0f2ebd93a693323d89d72", kill_on_drop: false }` [INFO] [stdout] 3916046f2d31a5c5eab52706a1d0d9d254b096cf0ce0f2ebd93a693323d89d72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 08c455ddc8657e7c70da2322267f8f676924e6ad4c5fe8e340863e468f338c96 [INFO] running `Command { std: "docker" "start" "-a" "08c455ddc8657e7c70da2322267f8f676924e6ad4c5fe8e340863e468f338c96", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling pulldown-cmark v0.9.6 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling tracing-core v0.1.35 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling bytes v1.11.0 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling iana-time-zone v0.1.64 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.1.0 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling signal-hook-registry v1.4.7 [INFO] [stderr] Compiling filetime v0.2.26 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling inotify v0.9.6 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling notify v6.1.1 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling regex v1.12.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling tracing v0.1.43 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling uuid v1.18.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ricecoder-storage v0.1.71 [INFO] [stderr] Compiling ricecoder-hooks v0.1.71 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.17s [INFO] running `Command { std: "docker" "inspect" "08c455ddc8657e7c70da2322267f8f676924e6ad4c5fe8e340863e468f338c96", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08c455ddc8657e7c70da2322267f8f676924e6ad4c5fe8e340863e468f338c96", kill_on_drop: false }` [INFO] [stdout] 08c455ddc8657e7c70da2322267f8f676924e6ad4c5fe8e340863e468f338c96 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 57fe5e42df77e3f19c062a5a47747aafa8f7b6c5637fdeacc5e844201096dc2a [INFO] running `Command { std: "docker" "start" "-a" "57fe5e42df77e3f19c062a5a47747aafa8f7b6c5637fdeacc5e844201096dc2a", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling zerocopy v0.8.31 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling pulldown-cmark v0.9.6 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling uuid v1.18.1 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.9.0 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling ricecoder-storage v0.1.71 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling ricecoder-hooks v0.1.71 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 28.45s [INFO] running `Command { std: "docker" "inspect" "57fe5e42df77e3f19c062a5a47747aafa8f7b6c5637fdeacc5e844201096dc2a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57fe5e42df77e3f19c062a5a47747aafa8f7b6c5637fdeacc5e844201096dc2a", kill_on_drop: false }` [INFO] [stdout] 57fe5e42df77e3f19c062a5a47747aafa8f7b6c5637fdeacc5e844201096dc2a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 0d6a50786fe9a3a51b35342f5b885412afa7a495553790bd749ae0130536e5aa [INFO] running `Command { std: "docker" "start" "-a" "0d6a50786fe9a3a51b35342f5b885412afa7a495553790bd749ae0130536e5aa", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ricecoder_hooks-7b4c6abe74b9a678) [INFO] [stdout] [INFO] [stdout] running 157 tests [INFO] [stdout] test cli::commands::tests::test_delete_hook_command ... ok [INFO] [stdout] test cli::commands::tests::test_enable_hook_command ... ok [INFO] [stdout] test cli::commands::tests::test_inspect_hook_command ... ok [INFO] [stdout] test cli::formatter::tests::test_format_hooks_table_truncation ... ok [INFO] [stdout] test cli::commands::tests::test_list_hooks_command ... ok [INFO] [stdout] test cli::commands::tests::test_list_hooks_json_command ... ok [INFO] [stdout] test cli::formatter::tests::test_format_hook_json ... ok [INFO] [stdout] test cli::formatter::tests::test_format_hook_table ... ok [INFO] [stdout] test cli::formatter::tests::test_format_hook_table_disabled ... ok [INFO] [stdout] test cli::commands::tests::test_disable_hook_command ... ok [INFO] [stdout] test cli::tests::test_disable_hook ... ok [INFO] [stdout] test cli::formatter::tests::test_format_hooks_json ... ok [INFO] [stdout] test cli::formatter::tests::test_format_hooks_table_empty ... ok [INFO] [stdout] test cli::tests::test_enable_hook ... ok [INFO] [stdout] test cli::formatter::tests::test_format_hooks_table ... ok [INFO] [stdout] test cli::tests::test_delete_hook ... ok [INFO] [stdout] test cli::tests::test_list_hooks ... ok [INFO] [stdout] test config::loader::tests::test_parse_yaml_empty ... ok [INFO] [stdout] test config::reloader::tests::test_save_and_restore_hook_state ... ok [INFO] [stdout] test config::templates::tests::test_build_hooks_template ... ok [INFO] [stdout] test config::loader::tests::test_parse_yaml_with_command_action ... ok [INFO] [stdout] test config::reloader::tests::test_has_changed_no_files ... ok [INFO] [stdout] test config::templates::tests::test_file_save_template ... ok [INFO] [stdout] test config::templates::tests::test_get_builtin_templates ... ok [INFO] [stdout] test config::templates::tests::test_git_hooks_template ... ok [INFO] [stdout] test config::templates::tests::test_substitute_string ... ok [INFO] [stdout] test config::templates::tests::test_substitute_string_no_parameters ... ok [INFO] [stdout] test config::validator::tests::test_validate_ai_prompt_action_invalid_temperature ... ok [INFO] [stdout] test config::templates::tests::test_substitute_action_command ... ok [INFO] [stdout] test config::templates::tests::test_substitute_string_multiple_parameters ... ok [INFO] [stdout] test config::validator::tests::test_validate_ai_prompt_action_empty_template ... ok [INFO] [stdout] test config::validator::tests::test_validate_ai_prompt_action_valid ... ok [INFO] [stdout] test config::validator::tests::test_validate_ai_prompt_action_zero_max_tokens ... ok [INFO] [stdout] test config::templates::tests::test_instantiate_template_missing_required_parameter ... ok [INFO] [stdout] test config::templates::tests::test_instantiate_template_valid ... ok [INFO] [stdout] test config::loader::tests::test_parse_yaml_missing_required_field ... ok [INFO] [stdout] test config::validator::tests::test_validate_chain_action_empty_ids ... ok [INFO] [stdout] test config::validator::tests::test_validate_chain_action_valid ... ok [INFO] [stdout] test config::validator::tests::test_validate_command_action_empty_command ... ok [INFO] [stdout] test config::validator::tests::test_validate_command_action_zero_timeout ... ok [INFO] [stdout] test config::validator::tests::test_validate_command_action_valid ... ok [INFO] [stdout] test config::validator::tests::test_validate_chain_action_duplicate_ids ... ok [INFO] [stdout] test config::validator::tests::test_validate_event_name_valid ... ok [INFO] [stdout] test config::validator::tests::test_validate_condition_empty_context_keys ... ok [INFO] [stdout] test config::validator::tests::test_validate_event_name_empty ... ok [INFO] [stdout] test config::reloader::tests::test_get_file_mtime_nonexistent ... ok [INFO] [stdout] test config::validator::tests::test_validate_condition_empty_expression ... ok [INFO] [stdout] test config::validator::tests::test_validate_hook_empty_name ... ok [INFO] [stdout] test config::validator::tests::test_validate_condition_valid ... ok [INFO] [stdout] test config::validator::tests::test_validate_event_name_invalid_format ... ok [INFO] [stdout] test config::validator::tests::test_validate_hook_valid ... ok [INFO] [stdout] test config::validator::tests::test_validate_hook_with_condition ... ok [INFO] [stdout] test config::reloader::tests::test_get_file_mtime_existing ... ok [INFO] [stdout] test config::loader::tests::test_parse_yaml_multiple_hooks ... ok [INFO] [stdout] test config::validator::tests::test_validate_hook_empty_id ... ok [INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_respects_hook_order ... ok [INFO] [stdout] test config::reloader::tests::test_new_reloader ... ok [INFO] [stdout] test events::file_operations::tests::test_directory_operation_event_clone ... ok [INFO] [stdout] test config::validator::tests::test_validate_tool_call_action_empty_name ... ok [INFO] [stdout] test events::file_operations::tests::test_file_created_event_serialization ... ok [INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_all_hooks_fail ... ok [INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_hook_isolation ... ok [INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_no_matching_hooks ... ok [INFO] [stdout] test events::file_operations::tests::test_directory_deleted_event_serialization ... ok [INFO] [stdout] test events::file_operations::tests::test_file_deleted_event_serialization ... ok [INFO] [stdout] test events::file_operations::tests::test_file_modified_event_serialization ... ok [INFO] [stdout] test events::file_operations::tests::test_file_operation_event_clone ... ok [INFO] [stdout] test events::file_operations::tests::test_file_moved_event_serialization ... ok [INFO] [stdout] test events::file_operations::tests::test_file_renamed_event_serialization ... ok [INFO] [stdout] test events::monitor::tests::test_emit_directory_created ... ok [INFO] [stdout] test events::file_operations::tests::test_file_read_event_serialization ... ok [INFO] [stdout] test events::monitor::tests::test_emit_directory_deleted ... ok [INFO] [stdout] test events::monitor::tests::test_emit_file_created ... ok [INFO] [stdout] test events::monitor::tests::test_emit_file_modified ... ok [INFO] [stdout] test events::monitor::tests::test_emit_file_deleted ... ok [INFO] [stdout] test events::monitor::tests::test_emit_file_moved ... ok [INFO] [stdout] test events::monitor::tests::test_emit_file_renamed ... ok [INFO] [stdout] test events::monitor::tests::test_emit_file_read ... ok [INFO] [stdout] test events::monitor::tests::test_file_system_monitor_default ... ok [INFO] [stdout] test events::system::tests::test_event_serialization ... ok [INFO] [stdout] test events::system::tests::test_custom_event ... ok [INFO] [stdout] test events::system::tests::test_file_saved_event ... ok [INFO] [stdout] test events::system::tests::test_system_event_type ... ok [INFO] [stdout] test config::validator::tests::test_validate_tool_call_action_empty_path ... ok [INFO] [stdout] test config::validator::tests::test_validate_tool_call_action_valid ... ok [INFO] [stdout] test events::system::tests::test_test_passed_event ... ok [INFO] [stdout] test dispatcher::event::tests::test_dispatch_event_with_matching_hooks ... ok [INFO] [stdout] test events::monitor::tests::test_remove_file_hash ... ok [INFO] [stdout] test executor::condition::tests::test_evaluate_condition_with_metadata_key ... ok [INFO] [stdout] test config::loader::tests::test_load_from_nonexistent_path ... ok [INFO] [stdout] test executor::condition::tests::test_evaluate_condition_with_missing_context_key ... ok [INFO] [stdout] test events::monitor::tests::test_track_file_hash ... ok [INFO] [stdout] test executor::condition::tests::test_evaluate_condition_with_valid_context ... ok [INFO] [stdout] test executor::runner::tests::test_execute_action_chain ... ok [INFO] [stdout] test config::loader::tests::test_parse_yaml_invalid ... ok [INFO] [stdout] test executor::condition::tests::test_evaluate_condition_with_multiple_keys ... ok [INFO] [stdout] test executor::runner::tests::test_execute_hook_disabled ... ok [INFO] [stdout] test executor::runner::tests::test_execute_action_tool_call_nonexistent_tool ... ok [INFO] [stdout] test executor::runner::tests::test_execute_ai_prompt_action_with_model_config ... ok [INFO] [stdout] test executor::runner::tests::test_execute_action_ai_prompt_success ... ok [INFO] [stdout] test executor::runner::tests::test_execute_ai_prompt_action_missing_variable ... ok [INFO] [stdout] test executor::runner::tests::test_execute_command_action_missing_variable ... ok [INFO] [stdout] test executor::runner::tests::test_execute_ai_prompt_action_with_variables ... ok [INFO] [stdout] test executor::runner::tests::test_execute_hook_with_invalid_condition ... ok [INFO] [stdout] test events::monitor::tests::test_clear_file_hashes ... ok [INFO] [stdout] test executor::runner::tests::test_execute_hook_with_condition_met ... ok [INFO] [stdout] test executor::runner::tests::test_execute_command_action_without_capture ... ok [INFO] [stdout] test executor::runner::tests::test_execute_hook_with_condition_not_met ... ok [INFO] [stdout] test executor::runner::tests::test_execute_tool_call_action_missing_variable ... ok [INFO] [stdout] test executor::runner::tests::test_execute_hook_duration_tracked ... ok [INFO] [stdout] test events::file_operations::tests::test_directory_created_event_serialization ... ok [INFO] [stdout] test executor::runner::tests::test_execute_command_action_success ... ok [INFO] [stdout] test executor::runner::tests::test_execute_command_action_nonexistent_command ... ok [INFO] [stdout] test executor::runner::tests::test_hook_result_skipped_status ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_json_array ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_from_metadata ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_empty_template ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_json_nested_object ... ok [INFO] [stdout] test executor::runner::tests::test_execute_hook_success ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_json_number_unchanged ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_boolean_variable ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_json_string ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_deeply_nested_path ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_missing_nested_path ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_missing_variable ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_json_object ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_multiple_variables ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_nested_path ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_same_variable_multiple_times ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_no_variables ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_number_variable ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_variable_at_start ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_variable_at_end ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_variable_only ... ok [INFO] [stdout] test registry::storage::tests::test_disable_hook ... ok [INFO] [stdout] test registry::storage::tests::test_enable_hook ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_simple_variable ... ok [INFO] [stdout] test registry::storage::tests::test_get_hook ... ok [INFO] [stdout] test registry::storage::tests::test_get_hook_not_found ... ok [INFO] [stdout] test executor::runner::tests::test_hook_result_captures_error ... ok [INFO] [stdout] test registry::storage::tests::test_register_hook_generates_id ... ok [INFO] [stdout] test executor::runner::tests::test_execute_tool_call_action_with_literal_parameters ... ok [INFO] [stdout] test executor::runner::tests::test_hook_result_tracks_duration ... ok [INFO] [stdout] test executor::runner::tests::test_execute_command_action_with_variable_substitution ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_null_variable ... ok [INFO] [stdout] test executor::runner::tests::test_execute_tool_call_action_with_variable_parameters ... ok [INFO] [stdout] test executor::runner::tests::test_hook_result_captures_output ... ok [INFO] [stdout] test executor::substitution::tests::test_substitute_with_special_characters ... ok [INFO] [stdout] test cli::tests::test_inspect_hook ... ok [INFO] [stdout] test executor::runner::tests::test_hook_result_with_condition_skipped ... ok [INFO] [stdout] test registry::storage::tests::test_list_hooks_for_event ... ok [INFO] [stdout] test registry::storage::tests::test_list_hooks_for_event_excludes_disabled ... ok [INFO] [stdout] test registry::storage::tests::test_register_hook ... ok [INFO] [stdout] test registry::storage::tests::test_list_hooks ... ok [INFO] [stdout] test registry::storage::tests::test_unregister_hook ... ok [INFO] [stdout] test registry::storage::tests::test_unregister_nonexistent_hook ... ok [INFO] [stdout] test config::reloader::tests::test_has_changed_detects_modification ... ok [INFO] [stderr] Running tests/cli_integration.rs (/opt/rustwide/target/debug/deps/cli_integration-4dc0cf1019f128ec) [INFO] [stdout] [INFO] [stdout] test result: ok. 157 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test test_build_success_event ... ok [INFO] [stdout] test test_deployment_complete_event ... ok [INFO] [stdout] test test_custom_event ... ok [INFO] [stdout] test test_hook_enable_disable ... ok [INFO] [stdout] test test_hook_inspection ... ok [INFO] [stdout] test test_hook_registration_and_listing ... ok [INFO] [stdout] test test_hook_with_ai_prompt_action ... ok [INFO] [stdout] test test_hook_with_chain_action ... ok [INFO] [stdout] test test_hook_with_condition ... ok [INFO] [stdout] test test_hook_with_tool_call_action ... ok [INFO] [stdout] test test_multiple_system_events ... ok [INFO] [stdout] test test_json_output_format ... ok [INFO] [stdout] test test_system_event_creation ... ok [INFO] [stdout] test test_hook_deletion ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/config_properties.rs (/opt/rustwide/target/debug/deps/config_properties-46199a2931b000d8) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test prop_validator_rejects_invalid_event_names ... ok [INFO] [stdout] test prop_template_instantiation_preserves_properties ... ok [INFO] [stdout] test prop_validator_rejects_empty_name ... ok [INFO] [stdout] test prop_validator_accepts_valid_hooks ... ok [INFO] [stdout] test prop_validator_rejects_empty_id ... ok [INFO] [stdout] test prop_hook_serialization_roundtrip ... ok [INFO] [stdout] test prop_configuration_hierarchy_respected ... ok [INFO] [stdout] test prop_hook_state_preserved_on_reload ... ok [INFO] [stdout] test prop_multiple_hooks_coexist ... ok [INFO] [stdout] test prop_configuration_serialization_roundtrip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.70s [INFO] [stdout] [INFO] [stderr] Running tests/event_dispatcher_properties.rs (/opt/rustwide/target/debug/deps/event_dispatcher_properties-db5c9dc6704f3e28) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test prop_hooks_execute_in_registration_order ... ok [INFO] [stdout] test prop_hook_context_is_passed_correctly ... ok [INFO] [stdout] test prop_hook_chaining_executes_in_sequence ... ok [INFO] [stdout] test prop_hook_failure_does_not_affect_other_hooks ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/executor_properties.rs (/opt/rustwide/target/debug/deps/executor_properties-6de8bd8c71f64564) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test prop_required_parameters_validated ... ok [INFO] [stdout] test prop_nested_path_substitution ... ok [INFO] [stdout] test prop_missing_variables_error ... ok [INFO] [stdout] test prop_multiple_variable_substitution ... ok [INFO] [stdout] test prop_variable_substitution_accuracy ... ok [INFO] [stdout] test prop_variable_parameters_substituted ... ok [INFO] [stdout] test prop_tool_call_parameter_binding ... ok [INFO] [stdout] test prop_hook_output_captured ... ok [INFO] [stdout] test prop_hook_context_passing ... ok [INFO] [stdout] test prop_hook_context_variables_substituted ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.66s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/file_operations_properties.rs (/opt/rustwide/target/debug/deps/file_operations_properties-a0fa61bf0aa53ff5) [INFO] [stdout] running 8 tests [INFO] [stdout] test prop_file_moved_event_accuracy ... ok [INFO] [stdout] test prop_directory_deleted_event_accuracy ... ok [INFO] [stdout] test prop_directory_created_event_accuracy ... ok [INFO] [stdout] test prop_file_read_event_accuracy ... ok [INFO] [stdout] test prop_file_deleted_event_accuracy ... ok [INFO] [stdout] test prop_file_created_event_accuracy ... ok [INFO] [stdout] test prop_file_renamed_event_accuracy ... ok [INFO] [stdout] test prop_file_modified_event_accuracy ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.35s [INFO] [stdout] [INFO] [stderr] Running tests/hook_registry_properties.rs (/opt/rustwide/target/debug/deps/hook_registry_properties-e4ac0097b33f26d0) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test prop_hook_state_transitions ... ok [INFO] [stdout] test prop_disabled_hooks_dont_affect_enabled ... ok [INFO] [stdout] test prop_enabled_hooks_in_event_list ... ok [INFO] [stdout] test prop_disabled_hooks_not_in_event_list ... ok [INFO] [stdout] test prop_multiple_hooks_independent_state ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Doc-tests ricecoder_hooks [INFO] [stdout] [INFO] [stdout] running 24 tests [INFO] [stdout] test src/config/templates.rs - config::templates::HookTemplate (line 20) ... ignored [INFO] [stdout] test src/dispatcher/mod.rs - dispatcher::EventDispatcher (line 21) ... ignored [INFO] [stdout] test src/error.rs - error (line 27) ... ignored [INFO] [stdout] test src/error.rs - error::Result (line 159) ... ignored [INFO] [stdout] test src/events/file_operations.rs - events::file_operations (line 9) ... ignored [INFO] [stdout] test src/events/monitor.rs - events::monitor (line 9) ... ignored [INFO] [stdout] test src/executor/mod.rs - executor::HookExecutor (line 26) ... ignored [INFO] [stdout] test src/executor/substitution.rs - executor::substitution (line 10) ... ignored [INFO] [stdout] test src/executor/substitution.rs - executor::substitution (line 30) ... ignored [INFO] [stdout] test src/executor/substitution.rs - executor::substitution::VariableSubstitutor::substitute (line 79) ... ignored [INFO] [stdout] test src/lib.rs - (line 22) ... ignored [INFO] [stdout] test src/registry/mod.rs - registry (line 8) ... ignored [INFO] [stdout] test src/types.rs - types (line 10) ... ignored [INFO] [stdout] test src/types.rs - types::Action (line 102) ... ignored [INFO] [stdout] test src/types.rs - types::Action (line 92) ... ignored [INFO] [stdout] test src/types.rs - types::AiPromptAction (line 243) ... ignored [INFO] [stdout] test src/types.rs - types::ChainAction (line 283) ... ignored [INFO] [stdout] test src/types.rs - types::CommandAction (line 141) ... ignored [INFO] [stdout] test src/types.rs - types::Condition (line 309) ... ignored [INFO] [stdout] test src/types.rs - types::Event (line 331) ... ignored [INFO] [stdout] test src/types.rs - types::HookResult (line 378) ... ignored [INFO] [stdout] test src/types.rs - types::ParameterValue (line 218) ... ignored [INFO] [stdout] test src/types.rs - types::ParameterValue (line 223) ... ignored [INFO] [stdout] test src/types.rs - types::ToolCallAction (line 171) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 24 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0d6a50786fe9a3a51b35342f5b885412afa7a495553790bd749ae0130536e5aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0d6a50786fe9a3a51b35342f5b885412afa7a495553790bd749ae0130536e5aa", kill_on_drop: false }` [INFO] [stdout] 0d6a50786fe9a3a51b35342f5b885412afa7a495553790bd749ae0130536e5aa