[INFO] cloning repository https://github.com/lipoe/mr-nope [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lipoe/mr-nope" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flipoe%2Fmr-nope", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flipoe%2Fmr-nope'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e560dadd103a31105fe6cd02d540e31eedc5a50e [INFO] testing lipoe/mr-nope against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flipoe%2Fmr-nope" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lipoe/mr-nope [INFO] removed 0 missing tests [INFO] finished tweaking git repo https://github.com/lipoe/mr-nope [INFO] tweaked toml for git repo https://github.com/lipoe/mr-nope written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lipoe/mr-nope on toolchain 1.100.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lipoe/mr-nope 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f [INFO] running `Command { std: "docker" "start" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f", 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" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f", 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" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling serde_json v1.0.151 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling clap_builder v4.6.6 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling syn v3.0.3 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling clap_derive v4.6.4 [INFO] [stderr] Compiling clap v4.6.6 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling mr-nope v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused dependency `percent-encoding` [INFO] [stderr] --> Cargo.toml:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | percent-encoding = "2" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `percent-encoding` [INFO] [stderr] warning: `mr-nope` (manifest) generated 1 warning [INFO] [stderr] Finished `release` profile [optimized] target(s) in 44.26s [INFO] running `Command { std: "docker" "inspect" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f", 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" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling zerocopy v0.8.56 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling bitflags v2.13.1 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling fastrand v2.5.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling rand v0.9.5 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling tempfile v3.27.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.11.0 [INFO] [stderr] Compiling mr-nope v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused dependency `percent-encoding` [INFO] [stderr] --> Cargo.toml:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | percent-encoding = "2" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `percent-encoding` [INFO] [stderr] warning: `mr-nope` (manifest) generated 1 warning [INFO] [stderr] Finished `release` profile [optimized] target(s) in 1m 53s [INFO] running `Command { std: "docker" "inspect" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f", 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" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused dependency `percent-encoding` [INFO] [stderr] --> Cargo.toml:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | percent-encoding = "2" [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `percent-encoding` [INFO] [stderr] warning: `mr-nope` (manifest) generated 1 warning [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/mr-nope/ce6ec161fe49c57f/out/mr_nope-ce6ec161fe49c57f) [INFO] [stdout] [INFO] [stdout] running 329 tests [INFO] [stdout] test adapter::cursor::tests::test_handle_hook_mcp_no_tool_input_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_extract_strings_arrays ... ok [INFO] [stdout] test adapter::cursor::tests::test_extract_strings_empty_array ... ok [INFO] [stdout] test adapter::cursor::tests::test_handle_hook_routes_mcp_execution ... ok [INFO] [stdout] test adapter::cursor::tests::test_extract_strings_empty_object ... ok [INFO] [stdout] test adapter::cursor::tests::test_extract_strings_skips_non_string_types ... ok [INFO] [stdout] test adapter::cursor::tests::test_handle_hook_shell_execution_allow ... ok [INFO] [stdout] test adapter::cursor::tests::test_handle_hook_shell_execution_deny ... ok [INFO] [stdout] test adapter::cursor::tests::test_extract_strings_from_simple_object ... ok [INFO] [stdout] test adapter::cursor::tests::test_extract_strings_deeply_nested ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_empty_tool_input_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_forbidden_command_in_array_denies ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_forbidden_command_in_nested_object_denies ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_first_deny_short_circuits ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_forbidden_command_in_string_denies ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_git_status_in_string_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_handle_hook_shell_no_command_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_invalid_json_denies ... ok [INFO] [stdout] test adapter::cursor::tests::test_handle_hook_unknown_event_denies ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_deeply_nested_array_denies ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_safe_string_values_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_no_string_values_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_safe_nested_structure_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_unparsed_file_text_allows_by_default ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_mixed_types_only_checks_strings ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_whitespace_only_string_values_allows ... ok [INFO] [stdout] test adapter::integration::tests::test_cursor_emit_always_allows_exit_code ... ok [INFO] [stdout] test adapter::integration::tests::test_cursor_parse_stdin_reads_hookinput ... ok [INFO] [stdout] test adapter::integration::tests::test_cursor_remove_hook_entry_preserves_others ... ok [INFO] [stdout] test adapter::integration::tests::test_cursor_add_hook_entry_to_empty ... ok [INFO] [stdout] test adapter::integration::tests::test_hook_response_json_omits_notices ... ok [INFO] [stdout] test adapter::integration::tests::test_kiro_command_includes_adapter_flag ... ok [INFO] [stdout] test adapter::integration::tests::test_is_installed_at_absent_or_no_marker ... ok [INFO] [stderr] blocked [INFO] [stdout] test adapter::integration::tests::test_kiro_emit_uses_exit_codes ... ok [INFO] [stdout] test adapter::integration::tests::test_integration_lookup_known ... ok [INFO] [stdout] test adapter::integration::tests::test_kiro_parse_stdin_reads_payload ... ok [INFO] [stdout] test adapter::integration::tests::test_integration_lookup_unknown ... ok [INFO] [stdout] test adapter::integration::tests::test_is_installed_at_detects_marker ... ok [INFO] [stdout] test adapter::integration::tests::test_scope_display ... ok [INFO] [stdout] test adapter::kiro::tests::test_handle_hook_no_tool_input_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_mcp_whitespace_only_tool_input_allows ... ok [INFO] [stdout] test adapter::integration::tests::test_parse_stdin_malformed_is_err ... ok [INFO] [stdout] test adapter::integration::tests::test_supported_names ... ok [INFO] [stdout] test adapter::kiro::tests::test_handle_hook_shell_allow ... ok [INFO] [stdout] test adapter::kiro::tests::test_handle_hook_shell_no_command_allows ... ok [INFO] [stdout] test adapter::kiro::tests::test_payload_defaults_hook_event_name ... ok [INFO] [stdout] test adapter::kiro::tests::test_payload_execute_cmd_alias_extracts_command ... ok [INFO] [stdout] test adapter::kiro::tests::test_payload_fs_append_is_scanned_not_treated_as_shell ... ok [INFO] [stdout] test adapter::integration::tests::test_kiro_hook_file_structure ... ok [INFO] [stdout] test adapter::kiro::tests::test_extract_strings_nested ... ok [INFO] [stdout] test adapter::kiro::tests::test_handle_hook_non_shell_tool_safe_allows ... ok [INFO] [stdout] test adapter::kiro::tests::test_handle_hook_shell_deny ... ok [INFO] [stdout] test adapter::kiro::tests::test_handle_hook_non_shell_tool_scans_input ... ok [INFO] [stdout] test adapter::integration::tests::test_cursor_add_hook_entry_preserves_existing_and_no_duplicate ... ok [INFO] [stdout] test adapter::kiro::tests::test_payload_shell_alias_tool_extracts_command ... ok [INFO] [stdout] test adapter::kiro::tests::test_payload_shell_tool_extracts_command ... ok [INFO] [stdout] test adapter::kiro::tests::test_payload_non_shell_tool_serializes_input ... ok [INFO] [stdout] test adapter::kiro::tests::test_shell_allowed_command ... ok [INFO] [stdout] test adapter::kiro::tests::test_shell_denied_command ... ok [INFO] [stdout] test adapter::kiro::tests::test_tool_input_nested_forbidden_denies ... ok [INFO] [stdout] test adapter::kiro::tests::test_tool_input_invalid_json_denies ... ok [INFO] [stdout] test adapter::kiro::tests::test_tool_input_safe_values_allow ... ok [INFO] [stdout] test adapter::kiro::tests::test_tool_matcher_is_shell_tools_plus_scanned_tools ... ok [INFO] [stdout] test adapter::kiro::tests::test_tool_input_empty_allows ... ok [INFO] [stdout] test adapter::kiro::tests::test_tool_input_forbidden_string_denies ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_extend_mode_merges_with_default ... ok [INFO] [stdout] test adapter::kiro::tests::test_shell_empty_command_allows ... ok [INFO] [stdout] test adapter::kiro::tests::test_shell_unclosed_quote_denies_by_default ... ok [INFO] [stdout] test adapter::kiro::tests::test_tool_input_unparsed_text_allows_by_default ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_extend_mode_replaces_subcommands_for_same_command ... ok [INFO] [stdout] test adapter::kiro::tests::test_tool_input_unparsed_text_does_not_hide_another_deny ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_finds_custom_policy ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_root_without_policy_file_returns_default ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_uses_first_root_with_policy ... ok [INFO] [stdout] test cli::evaluate::tests::test_strip_utf8_bom_noop_without_bom ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_custom_replaces_default_fully ... ok [INFO] [stdout] test cli::evaluate::tests::test_strip_utf8_bom_removes_prefix ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_skips_root_without_policy_uses_next ... ok [INFO] [stdout] test cli::install::tests::test_install_unsupported_adapter_errors ... ok [INFO] [stdout] test cli::install::tests::test_get_hooks_path_delegates_to_integration ... ok [INFO] [stdout] test cli::policy::tests::test_custom_policy_displays_correct_rules ... ok [INFO] [stdout] test cli::policy::tests::test_default_policy_displays_correct_rules ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_no_mode_field_defaults_to_replace ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_no_roots_returns_default ... ok [INFO] [stdout] test cli::policy::tests::test_display_policy_custom_header ... ok [INFO] [stdout] test cli::policy::tests::test_display_policy_default_header ... ok [INFO] [stdout] test cli::evaluate::tests::test_discover_policy_nonexistent_root_returns_default ... ok [INFO] [stdout] test cli::policy::tests::test_empty_policy_displays_no_rules ... ok [INFO] [stdout] test cli::install::tests::test_supported_adapters_lists_cursor_and_kiro ... ok [INFO] [stdout] test cli::policy::tests::test_policy_rule_subcommands_formatting ... ok [INFO] [stdout] test cli::status::tests::test_install_state_display ... ok [INFO] [stdout] test cli::status::tests::test_get_all_statuses_covers_registered_adapters ... ok [INFO] [stdout] test cli::policy::tests::test_policy_from_yaml_displays_correctly ... ok [INFO] [stdout] test cli::test_cmd::tests::test_default_policy_test_passes ... ok [INFO] [stdout] test cli::test_cmd::tests::test_custom_engine_multiple_rules_all_pass ... ok [INFO] [stdout] test cli::test_cmd::tests::test_default_policy_denies_git_push ... ok [INFO] [stdout] test cli::test_cmd::tests::test_custom_engine_denies_synthesized_commands ... ok [INFO] [stdout] test cli::test_cmd::tests::test_empty_rules_produces_zero_exit_code ... ok [INFO] [stdout] test engine::tests::test_default_on_parse_error_is_shell_deny_tool_input_allow ... ok [INFO] [stdout] test cli::test_cmd::tests::test_synthesized_command_format ... ok [INFO] [stdout] test cli::test_cmd::tests::test_default_policy_denies_git_commit ... ok [INFO] [stdout] test cli::status::tests::test_adapter_status_struct ... ok [INFO] [stdout] test cli::install::tests::test_uninstall_unsupported_adapter_errors ... ok [INFO] [stdout] test engine::tests::test_evaluate_allowed_git_operations ... ok [INFO] [stdout] test engine::tests::test_evaluate_comment_stripped_allows ... ok [INFO] [stdout] test adapter::cursor::tests::test_extract_strings_nested_objects ... ok [INFO] [stdout] test engine::tests::test_default_policy_yaml_is_valid ... ok [INFO] [stdout] test engine::tests::test_evaluate_compound_all_allowed ... ok [INFO] [stdout] test engine::tests::test_evaluate_double_encoded_url ... ok [INFO] [stdout] test engine::tests::test_evaluate_compound_command_any_deny ... ok [INFO] [stdout] test engine::tests::test_evaluate_empty_string_allows ... ok [INFO] [stdout] test engine::tests::test_evaluate_backtick_substitution_denied ... ok [INFO] [stdout] test engine::tests::test_evaluate_deterministic ... ok [INFO] [stdout] test engine::tests::test_evaluate_env_prefix_stripped ... ok [INFO] [stdout] test engine::tests::test_evaluate_nested_shell_denied ... ok [INFO] [stdout] test engine::tests::test_evaluate_builtin_prefix_stripped ... ok [INFO] [stdout] test engine::tests::test_evaluate_normalizes_path ... ok [INFO] [stdout] test engine::tests::test_evaluate_normalizes_url_encoded ... ok [INFO] [stdout] test engine::tests::test_evaluate_or_operator_deny ... ok [INFO] [stdout] test engine::tests::test_evaluate_pipe_any_deny ... ok [INFO] [stdout] test engine::tests::test_evaluate_returns_normalized_form ... ok [INFO] [stdout] test engine::tests::test_evaluate_simple_allowed_command ... ok [INFO] [stdout] test engine::tests::test_evaluate_returns_raw_input_unchanged ... ok [INFO] [stdout] test engine::tests::test_evaluate_semicolons_deny ... ok [INFO] [stdout] test engine::tests::test_evaluate_denied_git_commit ... ok [INFO] [stdout] test engine::tests::test_evaluate_substitution_denied ... ok [INFO] [stdout] test engine::tests::test_evaluate_whitespace_only_allows ... ok [INFO] [stdout] test engine::tests::test_load_existing_file_sets_is_default_false ... ok [INFO] [stdout] test engine::tests::test_load_from_str_extend_mode ... ok [INFO] [stdout] test engine::tests::test_load_from_str_default_mode_is_replace ... ok [INFO] [stdout] test engine::tests::test_load_from_str_explicit_replace_mode ... ok [INFO] [stdout] test engine::tests::test_load_on_parse_error_partial_keeps_other_default ... ok [INFO] [stdout] test engine::tests::test_load_on_parse_error_rejects_unknown_action ... ok [INFO] [stdout] test engine::tests::test_match_command_allows_non_matching_command ... ok [INFO] [stdout] test engine::tests::test_match_command_allows_non_matching_subcommand ... ok [INFO] [stdout] test engine::tests::test_evaluate_parse_error_unclosed_quote_denies ... ok [INFO] [stdout] test engine::tests::test_evaluate_quoted_forbidden_not_denied ... ok [INFO] [stdout] test engine::tests::test_evaluate_simple_denied_command ... ok [INFO] [stdout] test engine::tests::test_load_from_str_unknown_mode_defaults_to_replace ... ok [INFO] [stdout] test engine::tests::test_match_command_allows_when_no_subcommand ... ok [INFO] [stdout] test engine::tests::test_match_command_denies_matching_command_and_subcommand ... ok [INFO] [stdout] test engine::tests::test_match_command_empty_rules_allows_all ... ok [INFO] [stdout] test engine::tests::test_match_command_first_matching_rule_wins ... ok [INFO] [stdout] test engine::tests::test_match_command_case_sensitive_command ... ok [INFO] [stdout] test engine::tests::test_match_command_case_sensitive_subcommand ... ok [INFO] [stdout] test engine::tests::test_merge_combined_replace_and_add ... ok [INFO] [stdout] test engine::tests::test_match_command_denies_git_commit ... ok [INFO] [stdout] test engine::tests::test_merge_empty_base_uses_extension_only ... ok [INFO] [stdout] test engine::tests::test_merge_empty_extension_preserves_base ... ok [INFO] [stdout] test engine::tests::test_merge_preserves_base_rules_not_in_extension ... ok [INFO] [stdout] test engine::tests::test_merge_on_parse_error_overlay_and_inherit ... ok [INFO] [stdout] test engine::tests::test_merge_replaces_subcommands_for_same_command ... ok [INFO] [stdout] test engine::tests::test_merged_engine_evaluates_correctly ... ok [INFO] [stdout] test engine::tests::test_parse_error_log_line_names_kind_context_and_action ... ok [INFO] [stdout] test engine::tests::test_self_protection_ignores_parse_error_allow ... ok [INFO] [stdout] test engine::tests::test_match_command_multiple_rules ... ok [INFO] [stdout] test engine::tests::test_shell_parse_error_allows_when_configured ... ok [INFO] [stdout] test engine::tests::test_merge_adds_new_commands_from_extension ... ok [INFO] [stdout] test engine::tests::test_tool_input_parse_error_allows_by_default ... ok [INFO] [stdout] test engine::tests::test_tool_input_parse_error_denies_when_configured ... ok [INFO] [stdout] test engine::tests::test_load_none_returns_default_policy ... ok [INFO] [stdout] test engine::tests::test_load_nonexistent_path_returns_default_policy ... ok [INFO] [stdout] test engine::tests::test_load_on_parse_error_explicit_values ... ok [INFO] [stdout] test normalizer::tests::test_collapse_mixed_spaces_and_tabs ... ok [INFO] [stdout] test normalizer::tests::test_collapse_tabs ... ok [INFO] [stdout] test normalizer::tests::test_collapse_trims_both_ends ... ok [INFO] [stdout] test normalizer::tests::test_collapse_trims_leading_whitespace ... ok [INFO] [stdout] test normalizer::tests::test_collapse_trims_trailing_whitespace ... ok [INFO] [stdout] test normalizer::tests::test_collapse_whitespace_only ... ok [INFO] [stdout] test normalizer::tests::test_double_encoded ... ok [INFO] [stdout] test normalizer::tests::test_empty_input ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_absolute_unix ... ok [INFO] [stdout] test engine::tests::test_tool_input_still_denies_parsed_forbidden_command ... ok [INFO] [stdout] test normalizer::tests::test_case_insensitive_hex ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_absolute_unix_deep ... ok [INFO] [stdout] test normalizer::tests::test_collapse_empty_input ... ok [INFO] [stdout] test normalizer::tests::test_collapse_multiple_spaces ... ok [INFO] [stdout] test normalizer::tests::test_collapse_no_extra_whitespace ... ok [INFO] [stdout] test normalizer::tests::test_collapse_preserves_other_chars ... ok [INFO] [stdout] test normalizer::tests::test_collapse_single_word ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_mixed_separators ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_no_arguments ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_preserves_rest_of_command ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_empty_input ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_relative_dot_slash ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_relative_parent ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_single_word_no_separator ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_trailing_slash ... ok [INFO] [stdout] test normalizer::tests::test_invalid_percent_encoding_passes_through ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_windows_backslash ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_windows_full ... ok [INFO] [stdout] test normalizer::tests::test_mixed_valid_and_invalid ... ok [INFO] [stdout] test normalizer::tests::test_multiple_encoded_chars ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_no_separator ... ok [INFO] [stdout] test normalizer::tests::test_normalize_double_encoded ... ok [INFO] [stdout] test normalizer::tests::test_no_encoding ... ok [INFO] [stdout] test normalizer::tests::test_extract_path_only_affects_first_token ... ok [INFO] [stdout] test normalizer::tests::test_normalize_pipeline_whitespace_before_path ... ok [INFO] [stdout] test normalizer::tests::test_normalize_simple_command ... ok [INFO] [stdout] test normalizer::tests::test_normalize_empty_input ... ok [INFO] [stdout] test normalizer::tests::test_normalize_whitespace_only ... ok [INFO] [stdout] test normalizer::tests::test_quadruple_encoded_stops_at_3 ... ok [INFO] [stdout] test normalizer::tests::test_simple_percent_decode ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::depth_exceeds_max_returns_error ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::does_not_match_sh_without_c_flag ... ok [INFO] [stdout] test normalizer::tests::test_normalize_encoded_whitespace_then_collapse ... ok [INFO] [stdout] test normalizer::tests::test_normalize_pipeline_order_matters ... ok [INFO] [stdout] test normalizer::tests::test_normalize_encoded_backslash_path ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::empty_input_returns_empty_vec ... ok [INFO] [stdout] test normalizer::tests::test_normalize_url_encoded_path ... ok [INFO] [stdout] test normalizer::tests::test_triple_encoded ... ok [INFO] [stdout] test normalizer::tests::test_truncated_percent_at_end ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::extracts_from_sh_c_double_quoted ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::extracts_from_sh_c_single_quoted ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::extracts_from_zsh_c ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::extracts_from_bash_c ... ok [INFO] [stdout] test normalizer::tests::test_normalize_url_encoded_space ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::does_not_match_unknown_shell ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::extracts_complex_inner_command ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::extracts_unquoted_argument ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::handles_backslash_path_qualified_shell ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::handles_two_levels_of_nesting ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::three_levels_mixed_shells ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::whitespace_only_returns_empty_vec ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::handles_path_qualified_shell ... ok [INFO] [stdout] test parser::tests::extract_substitutions::does_not_extract_backticks_from_single_quotes ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::handles_three_levels_of_nesting ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::leading_trailing_whitespace_trimmed ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::non_shell_command_returned_as_is ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::rejects_four_levels_of_nesting ... ok [INFO] [stdout] test parser::tests::extract_substitutions::does_not_extract_from_single_quotes ... ok [INFO] [stdout] test parser::tests::extract_substitutions::empty_backtick_substitution_is_skipped ... ok [INFO] [stdout] test parser::tests::extract_substitutions::extracts_backticks_from_double_quotes ... ok [INFO] [stdout] test parser::tests::extract_substitutions::extracts_dollar_paren_substitution ... ok [INFO] [stdout] test parser::tests::extract_substitutions::empty_input_returns_empty_vec ... ok [INFO] [stdout] test parser::tests::extract_substitutions::extracts_from_double_quotes ... ok [INFO] [stdout] test parser::tests::extract_substitutions::empty_substitution_is_skipped ... ok [INFO] [stdout] test parser::tests::extract_substitutions::extracts_multiple_substitutions ... ok [INFO] [stdout] test parser::tests::extract_substitutions::extracts_backtick_substitution ... ok [INFO] [stdout] test parser::tests::extract_substitutions::handles_deeply_nested_parens ... ok [INFO] [stdout] test parser::tests::extract_substitutions::handles_dollar_sign_without_paren ... ok [INFO] [stdout] test parser::tests::extract_substitutions::handles_nested_parentheses_in_dollar_paren ... ok [INFO] [stdout] test parser::tests::extract_nested_shell::unclosed_quote_returns_error ... ok [INFO] [stdout] test parser::tests::identify_command::command_with_flag_argument_then_subcommand ... ok [INFO] [stdout] test parser::tests::identify_command::command_with_flags_only ... ok [INFO] [stdout] test parser::tests::extract_substitutions::mixed_dollar_paren_and_backtick ... ok [INFO] [stdout] test parser::tests::extract_substitutions::no_substitutions_returns_empty_vec ... ok [INFO] [stdout] test parser::tests::extract_substitutions::returns_error_for_unclosed_dollar_paren ... ok [INFO] [stdout] test parser::tests::extract_substitutions::returns_error_for_unmatched_backtick ... ok [INFO] [stdout] test parser::tests::identify_command::command_only_no_subcommand ... ok [INFO] [stdout] test parser::tests::identify_command::filename_as_first_token_not_matched_as_forbidden_command ... ok [INFO] [stdout] test parser::tests::identify_command::preserves_full_segment ... ok [INFO] [stdout] test parser::tests::identify_command::quoted_subcommand ... ok [INFO] [stdout] test parser::tests::identify_command::concatenated_name_not_split ... ok [INFO] [stdout] test parser::tests::identify_command::empty_segment ... ok [INFO] [stdout] test parser::tests::identify_command::filename_containing_forbidden_command_not_matched_as_command ... ok [INFO] [stdout] test parser::tests::identify_command::quoted_token_with_spaces ... ok [INFO] [stdout] test parser::tests::identify_command::single_quoted_token ... ok [INFO] [stdout] test parser::tests::identify_command::subcommand_followed_by_flags ... ok [INFO] [stdout] test parser::tests::identify_command::simple_command_with_subcommand ... ok [INFO] [stdout] test parser::tests::identify_command::subcommand_followed_by_args ... ok [INFO] [stdout] test parser::tests::identify_command::underscore_joined_name_not_split ... ok [INFO] [stdout] test parser::tests::identify_command::variable_containing_forbidden_command_not_matched_as_command ... ok [INFO] [stdout] test parser::tests::identify_command::whitespace_only_segment ... ok [INFO] [stdout] test parser::tests::quote_awareness::comment_after_hash_makes_forbidden_command_invisible ... ok [INFO] [stdout] test parser::tests::quote_awareness::hash_in_quotes_preserves_content_for_parsing ... ok [INFO] [stdout] test parser::tests::quote_awareness::quoted_forbidden_command_is_not_identified_as_command ... ok [INFO] [stdout] test parser::tests::quote_awareness::single_quoted_forbidden_command_is_not_identified_as_command ... ok [INFO] [stdout] test parser::tests::quote_awareness::command_substitution_in_single_quotes_not_extracted ... ok [INFO] [stdout] test parser::tests::quote_awareness::split_compound_does_not_split_on_quoted_operators ... ok [INFO] [stdout] test parser::tests::quote_awareness::forbidden_command_only_in_comment_not_matched ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::does_not_strip_prefix_as_substring ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::env_does_not_treat_flags_as_assignments ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::handles_empty_input ... ok [INFO] [stdout] test parser::tests::identify_command::flags_before_subcommand ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::handles_extra_whitespace ... ok [INFO] [stdout] test parser::tests::identify_command::hyphenated_binary_not_split_into_command_and_subcommand ... ok [INFO] [stdout] test parser::tests::identify_command::multiple_flags_before_subcommand ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::no_prefix_returns_unchanged ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::preserves_arguments_after_command ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::strips_chained_prefixes ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::strips_env_prefix ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::strips_command_prefix ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::strips_env_with_var_assignments ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::strips_env_with_vars_and_chained_prefix ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::strips_exec_prefix ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::env_assignment_with_empty_value ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::env_assignment_with_underscore_var ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::handles_env_with_only_assignments ... ok [INFO] [stdout] test parser::tests::strip_builtin_prefix::handles_prefix_only_no_command ... ok [INFO] [stdout] test parser::tests::strip_comments::forbidden_command_in_quoted_hash_region_not_matched ... ok [INFO] [stdout] test parser::tests::strip_comments::hash_at_beginning_removes_everything ... ok [INFO] [stdout] test parser::tests::strip_comments::hash_immediately_after_command_no_space ... ok [INFO] [stdout] test parser::tests::strip_comments::hash_inside_single_quotes_not_treated_as_comment ... ok [INFO] [stdout] test parser::tests::strip_comments::mixed_quotes_with_hash ... ok [INFO] [stdout] test parser::tests::strip_comments::multiple_hashes_only_first_unquoted_matters ... ok [INFO] [stdout] test parser::tests::strip_comments::empty_input_returns_empty ... ok [INFO] [stdout] test parser::tests::strip_comments::removes_trailing_comment ... ok [INFO] [stdout] test parser::tests::strip_comments::hash_after_quoted_region_is_comment ... ok [INFO] [stdout] test parser::tests::strip_comments::whitespace_only_input ... ok [INFO] [stdout] test parser::tests::strip_comments::hash_inside_double_quotes_not_treated_as_comment ... ok [INFO] [stdout] test self_protection::tests::test_allows_mr_nope_evaluate ... ok [INFO] [stdout] test self_protection::tests::test_allows_mr_nope_status ... ok [INFO] [stdout] test self_protection::tests::test_allows_mr_nope_exe_policy ... ok [INFO] [stdout] test self_protection::tests::test_allows_mr_nope_policy ... ok [INFO] [stdout] test self_protection::tests::test_blocks_any_mention_of_policy_yml ... ok [INFO] [stdout] test self_protection::tests::test_blocks_any_mention_of_hooks_json ... ok [INFO] [stdout] test self_protection::tests::test_blocks_mr_nope_install ... ok [INFO] [stdout] test self_protection::tests::test_blocks_any_mention_of_global_policy ... ok [INFO] [stdout] test self_protection::tests::test_allows_mr_nope_test ... ok [INFO] [stdout] test self_protection::tests::test_blocks_mr_nope_uninstall ... ok [INFO] [stdout] test self_protection::tests::test_allows_unrelated_commands ... ok [INFO] [stdout] test self_protection::tests::test_blocks_mr_nope_with_full_path ... ok [INFO] [stdout] test self_protection::tests::test_case_insensitive ... ok [INFO] [stdout] test self_protection::tests::test_blocks_mr_nope_with_exe_suffix ... ok [INFO] [stdout] test self_protection::tests::test_catches_path_inside_command_substitution ... ok [INFO] [stdout] test self_protection::tests::test_allows_mr_nope_in_filename_context ... ok [INFO] [stdout] test self_protection::tests::test_catches_path_inside_nested_shell ... ok [INFO] [stdout] test self_protection::tests::test_catches_path_inside_python_string ... ok [INFO] [stdout] test self_protection::tests::test_char_code_with_mr_nope_literal_still_caught ... ok [INFO] [stdout] test self_protection::tests::test_catches_hooks_json_in_any_context ... ok [INFO] [stdout] test parser::tests::strip_comments::no_hash_returns_input_unchanged ... ok [INFO] [stdout] test self_protection::tests::test_hex_escape_bypasses ... ok [INFO] [stdout] test self_protection::tests::test_catches_path_as_redirect_target ... ok [INFO] [stdout] test self_protection::tests::test_no_mention_at_all_bypasses ... ok [INFO] [stdout] test parser::tests::strip_comments::removes_comment_with_forbidden_command ... ok [INFO] [stdout] test self_protection::tests::test_split_across_two_commands_bypasses ... ok [INFO] [stdout] test self_protection::tests::test_catches_path_in_pipe_chain ... ok [INFO] [stdout] test self_protection::tests::test_variable_indirection_still_caught ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/build/mr-nope/5cd0e772c36fbaae/out/mr_nope-5cd0e772c36fbaae) [INFO] [stdout] [INFO] [stdout] test result: ok. 329 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [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] [stderr] Running tests/integration/mod.rs (/opt/rustwide/target/release/build/mr-nope/1229456b4f1556d0/out/integration-1229456b4f1556d0) [INFO] [stdout] [INFO] [stdout] running 29 tests [INFO] [stdout] test cli::test_uninstall_with_no_hooks_json_is_graceful ... FAILED [INFO] [stdout] test cli::test_install_with_project_creates_hooks_json ... FAILED [INFO] [stdout] test cli::test_install_with_unsupported_adapter_fails ... FAILED [INFO] [stdout] test cli::test_uninstall_removes_only_mr_nope_entries ... FAILED [INFO] [stdout] test hook_flow::test_kiro_malformed_input_denies_exits_2 ... ok [INFO] [stdout] test cli::test_install_preserves_existing_hooks ... FAILED [INFO] [stdout] test hook_flow::test_kiro_shell_allow_git_status_exits_0 ... ok [INFO] [stdout] test hook_flow::test_kiro_shell_unclosed_quote_denies_and_logs ... ok [INFO] [stdout] test hook_flow::test_deny_response_format ... ok [INFO] [stdout] test hook_flow::test_kiro_tool_input_allow_safe_exits_0 ... ok [INFO] [stdout] test hook_flow::test_allow_response_format ... ok [INFO] [stdout] test hook_flow::test_empty_input_denies ... ok [INFO] [stdout] test hook_flow::test_kiro_shell_deny_git_push_exits_2 ... ok [INFO] [stdout] test hook_flow::test_mcp_allow_git_status_in_tool_input ... ok [INFO] [stdout] test hook_flow::test_malformed_json_input_denies ... ok [INFO] [stdout] test hook_flow::test_kiro_tool_input_deny_nested_forbidden_exits_2 ... ok [INFO] [stdout] test hook_flow::test_mcp_allow_safe_tool_input ... ok [INFO] [stdout] test hook_flow::test_mcp_deny_forbidden_command_in_tool_input ... ok [INFO] [stdout] test hook_flow::test_kiro_tool_input_unparsed_text_allows_and_logs ... ok [INFO] [stdout] test hook_flow::test_shell_allow_git_status ... ok [INFO] [stdout] test hook_flow::test_mcp_deny_git_commit_in_tool_input ... ok [INFO] [stdout] test hook_flow::test_mcp_allow_no_tool_input ... ok [INFO] [stdout] test hook_flow::test_shell_allow_safe_command ... ok [INFO] [stdout] test hook_flow::test_shell_allow_git_diff ... ok [INFO] [stdout] test hook_flow::test_partial_json_denies ... ok [INFO] [stdout] test hook_flow::test_shell_deny_git_push ... ok [INFO] [stdout] test hook_flow::test_unknown_hook_event_after_execution_denies ... ok [INFO] [stdout] test hook_flow::test_shell_deny_git_commit ... ok [INFO] [stderr] error: test failed, to rerun pass `--test integration` [INFO] [stdout] test hook_flow::test_unknown_hook_event_denies ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- cli::test_uninstall_with_no_hooks_json_is_graceful stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::test_uninstall_with_no_hooks_json_is_graceful' (1454) panicked at tests/integration/cli.rs:246:10: [INFO] [stdout] failed to execute mr-nope uninstall: Os { code: 2, kind: NotFound, message: "No such file or directory" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55c58de95355 - [INFO] [stdout] 1: 0x55c58de72584 - [INFO] [stdout] 2: 0x55c58de949fb - [INFO] [stdout] 3: 0x55c58de945f9 - [INFO] [stdout] 4: 0x55c58de9427a - [INFO] [stdout] 5: 0x55c58de93dab - [INFO] [stdout] 6: 0x55c58deb9c01 - [INFO] [stdout] 7: 0x55c58deb9bb9 - [INFO] [stdout] 8: 0x55c58deba0ac - [INFO] [stdout] 9: 0x55c58de7241b - [INFO] [stdout] 10: 0x55c58de751e1 - [INFO] [stdout] 11: 0x55c58de831e5 - [INFO] [stdout] 12: 0x55c58ded319b - [INFO] [stdout] 13: 0x55c58decf426 - [INFO] [stdout] 14: 0x55c58decec4c - [INFO] [stdout] 15: 0x55c58deed12c - [INFO] [stdout] 16: 0x55c58debb868 - [INFO] [stdout] 17: 0x74e3b9589dfa - [INFO] [stdout] 18: 0x74e3b961d3d4 - clone [INFO] [stdout] 19: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- cli::test_install_with_project_creates_hooks_json stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::test_install_with_project_creates_hooks_json' (1451) panicked at tests/integration/cli.rs:31:10: [INFO] [stdout] failed to execute mr-nope install: Os { code: 2, kind: NotFound, message: "No such file or directory" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55c58de95355 - [INFO] [stdout] 1: 0x55c58de72584 - [INFO] [stdout] 2: 0x55c58de949fb - [INFO] [stdout] 3: 0x55c58de945f9 - [INFO] [stdout] 4: 0x55c58de9427a - [INFO] [stdout] 5: 0x55c58de93dab - [INFO] [stdout] 6: 0x55c58deb9c01 - [INFO] [stdout] 7: 0x55c58deb9bb9 - [INFO] [stdout] 8: 0x55c58deba0ac - [INFO] [stdout] 9: 0x55c58de7241b - [INFO] [stdout] 10: 0x55c58de751e1 - [INFO] [stdout] 11: 0x55c58de82c5d - [INFO] [stdout] 12: 0x55c58ded319b - [INFO] [stdout] 13: 0x55c58decf426 - [INFO] [stdout] 14: 0x55c58decec4c - [INFO] [stdout] 15: 0x55c58deed12c - [INFO] [stdout] 16: 0x55c58debb868 - [INFO] [stdout] 17: 0x74e3b9589dfa - [INFO] [stdout] 18: 0x74e3b961d3d4 - clone [INFO] [stdout] 19: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- cli::test_install_with_unsupported_adapter_fails stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::test_install_with_unsupported_adapter_fails' (1452) panicked at tests/integration/cli.rs:215:10: [INFO] [stdout] failed to execute mr-nope install: Os { code: 2, kind: NotFound, message: "No such file or directory" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55c58de95355 - [INFO] [stdout] 1: 0x55c58de72584 - [INFO] [stdout] 2: 0x55c58de949fb - [INFO] [stdout] 3: 0x55c58de945f9 - [INFO] [stdout] 4: 0x55c58de9427a - [INFO] [stdout] 5: 0x55c58de93dab - [INFO] [stdout] 6: 0x55c58deb9c01 - [INFO] [stdout] 7: 0x55c58deb9bb9 - [INFO] [stdout] 8: 0x55c58deba0ac - [INFO] [stdout] 9: 0x55c58de7241b - [INFO] [stdout] 10: 0x55c58de751e1 - [INFO] [stdout] 11: 0x55c58de81113 - [INFO] [stdout] 12: 0x55c58ded319b - [INFO] [stdout] 13: 0x55c58decf426 - [INFO] [stdout] 14: 0x55c58decec4c - [INFO] [stdout] 15: 0x55c58deed12c - [INFO] [stdout] 16: 0x55c58debb868 - [INFO] [stdout] 17: 0x74e3b9589dfa - [INFO] [stdout] 18: 0x74e3b961d3d4 - clone [INFO] [stdout] 19: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- cli::test_uninstall_removes_only_mr_nope_entries stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::test_uninstall_removes_only_mr_nope_entries' (1453) panicked at tests/integration/cli.rs:185:10: [INFO] [stdout] failed to execute mr-nope uninstall: Os { code: 2, kind: NotFound, message: "No such file or directory" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55c58de95355 - [INFO] [stdout] 1: 0x55c58de72584 - [INFO] [stdout] 2: 0x55c58de949fb - [INFO] [stdout] 3: 0x55c58de945f9 - [INFO] [stdout] 4: 0x55c58de9427a - [INFO] [stdout] 5: 0x55c58de93dab - [INFO] [stdout] 6: 0x55c58deb9c01 - [INFO] [stdout] 7: 0x55c58deb9bb9 - [INFO] [stdout] 8: 0x55c58deba0ac - [INFO] [stdout] 9: 0x55c58de7241b - [INFO] [stdout] 10: 0x55c58de751e1 - [INFO] [stdout] 11: 0x55c58de821ab - [INFO] [stdout] 12: 0x55c58ded319b - [INFO] [stdout] 13: 0x55c58decf426 - [INFO] [stdout] 14: 0x55c58decec4c - [INFO] [stdout] 15: 0x55c58deed12c - [INFO] [stdout] 16: 0x55c58debb868 - [INFO] [stdout] 17: 0x74e3b9589dfa - [INFO] [stdout] 18: 0x74e3b961d3d4 - clone [INFO] [stdout] 19: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- cli::test_install_preserves_existing_hooks stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'cli::test_install_preserves_existing_hooks' (1450) panicked at tests/integration/cli.rs:118:10: [INFO] [stdout] failed to execute mr-nope install: Os { code: 2, kind: NotFound, message: "No such file or directory" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55c58de95355 - [INFO] [stdout] 1: 0x55c58de72584 - [INFO] [stdout] 2: 0x55c58de949fb - [INFO] [stdout] 3: 0x55c58de945f9 - [INFO] [stdout] 4: 0x55c58de9427a - [INFO] [stdout] 5: 0x55c58de93dab - [INFO] [stdout] 6: 0x55c58deb9c01 - [INFO] [stdout] 7: 0x55c58deb9bb9 - [INFO] [stdout] 8: 0x55c58deba0ac - [INFO] [stdout] 9: 0x55c58de7241b - [INFO] [stdout] 10: 0x55c58de751e1 - [INFO] [stdout] 11: 0x55c58de7fc17 - [INFO] [stdout] 12: 0x55c58ded319b - [INFO] [stdout] 13: 0x55c58decf426 - [INFO] [stdout] 14: 0x55c58decec4c - [INFO] [stdout] 15: 0x55c58deed12c - [INFO] [stdout] 16: 0x55c58debb868 - [INFO] [stdout] 17: 0x74e3b9589dfa - [INFO] [stdout] 18: 0x74e3b961d3d4 - clone [INFO] [stdout] 19: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] cli::test_install_preserves_existing_hooks [INFO] [stdout] cli::test_install_with_project_creates_hooks_json [INFO] [stdout] cli::test_install_with_unsupported_adapter_fails [INFO] [stdout] cli::test_uninstall_removes_only_mr_nope_entries [INFO] [stdout] cli::test_uninstall_with_no_hooks_json_is_graceful [INFO] [stdout] [INFO] [stdout] test result: FAILED. 24 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f", kill_on_drop: false }` [INFO] [stdout] 236e9d89186aecaeadbf0e2cd1c996316bdf2b5b964a1d879c979dfa3e6f4c7f