[INFO] fetching crate drip-cli 0.1.1...
[INFO] testing drip-cli-0.1.1 against master#cced03bfd61a304243a34504618ecec86c17063f for pr-154065-2
[INFO] extracting crate drip-cli 0.1.1 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate drip-cli 0.1.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate drip-cli 0.1.1
[INFO] tweaked toml for crates.io crate drip-cli 0.1.1 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate drip-cli 0.1.1 on toolchain cced03bfd61a304243a34504618ecec86c17063f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate drip-cli 0.1.1 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" "+cced03bfd61a304243a34504618ecec86c17063f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap_complete v4.6.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d
[INFO] running `Command { std: "docker" "start" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d", 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" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling clap_complete v4.6.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling drip-cli v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 51.37s
[INFO] running `Command { std: "docker" "inspect" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling cargo-husky v1.5.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling drip-cli v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 22.87s
[INFO] running `Command { std: "docker" "inspect" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d" "/opt/rustwide/cargo-home/bin/cargo" "+cced03bfd61a304243a34504618ecec86c17063f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/drip-f73bfd9615a91418)
[INFO] [stdout] 
[INFO] [stdout] running 172 tests
[INFO] [stdout] test commands::completions::tests::parse_known_shells ... ok
[INFO] [stdout] test commands::completions::tests::shell_var_only_matches_auto_installable_shells ... ok
[INFO] [stdout] test commands::doctor::tests::fmt_bytes_thresholds ... ok
[INFO] [stdout] test commands::doctor::tests::fmt_thousands_basic ... ok
[INFO] [stdout] test commands::doctor::tests::hook_present_matches_drip_subcommand ... ok
[INFO] [stdout] test commands::completions::tests::from_shell_var_strips_path ... ok
[INFO] [stdout] test commands::doctor::tests::section_worst_picks_most_severe ... ok
[INFO] [stdout] test commands::init::tests::encode_toml_string_falls_back_to_basic_for_apostrophe_paths ... ok
[INFO] [stdout] test commands::init::tests::encode_toml_string_picks_literal_for_safe_paths ... ok
[INFO] [stdout] test commands::init::tests::shell_quote_handles_spaces_in_path ... ok
[INFO] [stdout] test commands::init::tests::is_owned_drip_hook_command_identifies_drip_hooks ... ok
[INFO] [stdout] test commands::init::tests::encode_toml_string_escapes_basic_string_special_chars ... ok
[INFO] [stdout] test commands::init::tests::shell_quote_passthrough_for_safe_paths ... ok
[INFO] [stdout] test commands::init::tests::shell_quote_handles_path_with_single_quote ... ok
[INFO] [stdout] test commands::init::tests::shell_quote_quotes_other_shell_metacharacters ... ok
[INFO] [stdout] test commands::read::tests::render_with_session_unchanged_carries_ttl_warning ... ok
[INFO] [stdout] test commands::read::tests::render_with_session_edit_certificate_matches_helper ... ok
[INFO] [stdout] test commands::read::tests::render_with_session_delta_matches_helper ... ok
[INFO] [stdout] test commands::read::tests::render_with_session_unchanged_matches_helper ... ok
[INFO] [stdout] test commands::read::tests::render_with_session_unchanged_empty_file_matches_helper ... ok
[INFO] [stdout] test commands::read::tests::render_with_session_delta_no_summary_matches_helper ... ok
[INFO] [stdout] test commands::registry::tests::parse_duration_handles_common_formats ... ok
[INFO] [stdout] test commands::update::tests::detect_cargo_install ... ok
[INFO] [stdout] test commands::update::tests::detect_homebrew_linuxbrew ... ok
[INFO] [stdout] test commands::read::tests::render_with_session_window_unchanged_matches_helper ... ok
[INFO] [stdout] test commands::update::tests::detect_install_script ... ok
[INFO] [stdout] test commands::update::tests::detect_homebrew_macos_intel ... ok
[INFO] [stdout] test commands::update::tests::detect_homebrew_macos_arm ... ok
[INFO] [stdout] test commands::update::tests::fake_latest_env_var_short_circuits_network ... ok
[INFO] [stdout] test commands::update::tests::detect_unknown ... ok
[INFO] [stdout] test commands::update::tests::semver_handles_garbage_components ... ok
[INFO] [stdout] test commands::update::tests::semver_handles_prerelease_suffix ... ok
[INFO] [stdout] test commands::update::tests::semver_strict_ordering ... ok
[INFO] [stdout] test commands::update::tests::short_stderr_handles_empty_input ... ok
[INFO] [stdout] test commands::update::tests::short_stderr_returns_first_line ... ok
[INFO] [stdout] test commands::update::tests::short_stderr_truncates_overly_long_first_line ... ok
[INFO] [stdout] test core::cache::tests::cache_dir_is_created_with_strict_perms_atomically ... ok
[INFO] [stdout] test core::cache::tests::pick_storage_at_boundary ... ok
[INFO] [stdout] test core::cache::tests::inline_default_is_32k ... ok
[INFO] [stdout] test core::cache::tests::missing_blob_returns_none_not_err ... ok
[INFO] [stdout] test core::cache::tests::read_blob_refuses_to_follow_symlink ... ok
[INFO] [stdout] test core::cache::tests::rejects_path_traversal_via_absolute_hash ... ok
[INFO] [stdout] test core::cache::tests::rejects_short_or_non_hex_hash ... ok
[INFO] [stdout] test core::cache::tests::rejects_path_traversal_via_dotdot_hash ... ok
[INFO] [stdout] test core::cache::tests::write_and_read_roundtrip ... ok
[INFO] [stdout] test core::cache::tests::write_is_idempotent_on_existing_blob ... ok
[INFO] [stdout] test core::cache::tests::write_blob_replaces_planted_symlink ... ok
[INFO] [stdout] test commands::read::tests::render_with_session_window_delta_matches_helper ... ok
[INFO] [stdout] test commands::completions::tests::powershell_and_elvish_generate_nonempty_scripts ... ok
[INFO] [stdout] test commands::update::tests::http_get_surfaces_both_diagnostics_when_neither_tool_is_in_path ... ok
[INFO] [stdout] test core::compress::tests::brace_inside_string_does_not_break_balancing ... ok
[INFO] [stdout] test core::compress::tests::cpp_allman_method_compresses ... ok
[INFO] [stdout] test commands::update::tests::fake_latest_strips_leading_v ... ok
[INFO] [stdout] test core::compress::tests::cpp_compresses_function_with_namespace_qualified_name ... ok
[INFO] [stdout] test core::compress::tests::cpp_constructor_with_member_init_list_compresses ... ok
[INFO] [stdout] test core::compress::tests::cpp_template_method_compresses ... ok
[INFO] [stdout] test core::compress::tests::csharp_allman_attributes_stay_with_signature ... ok
[INFO] [stdout] test core::compress::tests::brace_source_map_covers_body_range ... ok
[INFO] [stdout] test core::compress::tests::c_function_compresses ... ok
[INFO] [stdout] test core::compress::tests::c_function_pointer_assignment_is_not_elided ... ok
[INFO] [stdout] test core::compress::tests::c_multi_line_function_signature_compresses ... ok
[INFO] [stdout] test core::compress::tests::csharp_allman_method_compresses ... ok
[INFO] [stdout] test core::compress::tests::control_flow_blocks_are_never_elided ... ok
[INFO] [stdout] test core::compress::tests::csharp_allman_with_generic_constraints_compresses ... ok
[INFO] [stdout] test core::compress::tests::detect_language_by_extension ... ok
[INFO] [stdout] test core::compress::tests::csharp_record_with_semicolon_is_left_alone ... ok
[INFO] [stdout] test core::compress::tests::go_interface_methods_stay_visible ... ok
[INFO] [stdout] test commands::completions::tests::fingerprints_distinguish_auto_installable_shells ... ok
[INFO] [stdout] test core::compress::tests::go_multi_line_signature_compresses ... ok
[INFO] [stdout] test core::compress::tests::java_long_javadoc_is_compressed ... ok
[INFO] [stdout] test core::compress::tests::go_method_receiver_compresses ... ok
[INFO] [stdout] test core::compress::tests::go_top_level_function_compresses ... ok
[INFO] [stdout] test core::compress::tests::csharp_method_compresses ... ok
[INFO] [stdout] test core::compress::tests::java_compresses_methods_but_keeps_class_signatures_visible ... ok
[INFO] [stdout] test core::compress::tests::java_multi_line_signature_compresses ... ok
[INFO] [stdout] test core::compress::tests::java_annotated_method_with_throws_compresses ... ok
[INFO] [stdout] test core::compress::tests::js_async_function_declaration_compresses ... ok
[INFO] [stdout] test core::compress::tests::java_short_javadoc_is_kept_full ... ok
[INFO] [stdout] test core::compress::tests::javadoc_compression_can_be_disabled_via_env ... ok
[INFO] [stdout] test core::compress::tests::js_arrow_function_compresses ... ok
[INFO] [stdout] test core::compress::tests::js_generator_function_compresses ... ok
[INFO] [stdout] test core::compress::tests::csharp_primary_constructor_class_is_not_elided_as_method ... ok
[INFO] [stdout] test core::compress::tests::javadoc_collapse_records_elided_range_in_source_map ... ok
[INFO] [stdout] test core::compress::tests::kotlin_data_class_is_not_elided_as_method ... ok
[INFO] [stdout] test core::compress::tests::kotlin_anonymous_object_override_fun_compresses ... ok
[INFO] [stdout] test core::compress::tests::kotlin_extension_fun_with_generics_compresses ... ok
[INFO] [stdout] test core::compress::tests::kotlin_companion_object_fun_compresses ... ok
[INFO] [stdout] test core::compress::tests::kotlin_func_keyword_compresses ... ok
[INFO] [stdout] test core::compress::tests::kotlin_inline_reified_fun_compresses ... ok
[INFO] [stdout] test core::compress::tests::kotlin_fun_interface_is_not_elided_as_method ... ok
[INFO] [stdout] test core::compress::tests::kotlin_visibility_modifier_fun_compresses ... ok
[INFO] [stdout] test core::compress::tests::no_compression_when_disabled ... ok
[INFO] [stdout] test core::compress::tests::kotlin_open_class_is_not_elided_as_method ... ok
[INFO] [stdout] test core::compress::tests::kotlin_multi_line_signature_compresses ... ok
[INFO] [stdout] test core::compress::tests::java_record_with_body_keeps_inner_methods_visible ... ok
[INFO] [stdout] test core::compress::tests::kotlin_value_initializer_with_trailing_lambda_is_not_elided ... ok
[INFO] [stdout] test core::compress::tests::php_class_method_compresses ... ok
[INFO] [stdout] test core::compress::tests::php_function_compresses ... ok
[INFO] [stdout] test core::compress::tests::php_static_method_compresses ... ok
[INFO] [stdout] test core::compress::tests::python_class_with_only_short_methods_returns_none ... ok
[INFO] [stdout] test core::compress::tests::python_multiline_method_signature_preserved ... ok
[INFO] [stdout] test core::compress::tests::python_short_body_kept_inline ... ok
[INFO] [stdout] test core::compress::tests::python_compresses_long_function ... ok
[INFO] [stdout] test core::compress::tests::python_source_map_records_function_signature_visible_and_body_elided ... ok
[INFO] [stdout] test core::compress::tests::kotlin_value_class_is_not_elided_as_method ... ok
[INFO] [stdout] test core::compress::tests::python_nested_class_methods_visible ... ok
[INFO] [stdout] test core::compress::tests::python_async_method_inside_class_elided ... ok
[INFO] [stdout] test core::compress::tests::rust_multi_line_signature_compresses ... ok
[INFO] [stdout] test core::compress::tests::rust_trait_with_default_body_compresses ... ok
[INFO] [stdout] test core::compress::tests::rust_impl_block_methods_elided_individually ... ok
[INFO] [stdout] test core::compress::tests::python_top_level_function_alongside_class ... ok
[INFO] [stdout] test core::compress::tests::scala_case_class_is_not_elided ... ok
[INFO] [stdout] test core::compress::tests::rust_struct_literal_is_not_a_function_open ... ok
[INFO] [stdout] test core::compress::tests::scala_def_method_compresses ... ok
[INFO] [stdout] test core::compress::tests::source_map_has_one_entry_per_compressed_line ... ok
[INFO] [stdout] test core::compress::tests::swift_init_compresses ... ok
[INFO] [stdout] test core::compress::tests::rust_async_fn_compresses ... ok
[INFO] [stdout] test core::compress::tests::scala_object_methods_compress ... ok
[INFO] [stdout] test core::compress::tests::swift_func_compresses ... ok
[INFO] [stdout] test core::compress::tests::ts_class_methods_with_modifiers_compress ... ok
[INFO] [stdout] test core::compress::tests::ts_type_guard_signature_compresses ... ok
[INFO] [stdout] test core::compress::tests::ts_export_class_is_not_elided ... ok
[INFO] [stdout] test core::differ::tests::changed_pct_env_ignores_invalid_numbers ... ok
[INFO] [stdout] test core::compress::tests::swift_method_with_throws_compresses ... ok
[INFO] [stdout] test core::differ::tests::diff_marks_added_and_removed_lines ... ok
[INFO] [stdout] test core::differ::tests::classify_routes_correctly ... ok
[INFO] [stdout] test core::differ::tests::equal_inputs_yield_no_diff ... ok
[INFO] [stdout] test core::differ::tests::truncation_threshold ... ok
[INFO] [stdout] test core::differ::tests::invalid_utf8_is_binary ... ok
[INFO] [stdout] test core::differ::tests::pure_ascii_not_binary ... ok
[INFO] [stdout] test core::git::tests::detached_head_returns_short_sha ... ok
[INFO] [stdout] test core::git::tests::empty_head_bails ... ok
[INFO] [stdout] test core::git::tests::garbage_head_bails_silently ... ok
[INFO] [stdout] test core::git::tests::gitlink_pointing_to_missing_dir_bails ... ok
[INFO] [stdout] test core::git::tests::no_repo_returns_none ... ok
[INFO] [stdout] test core::git::tests::missing_head_bails ... ok
[INFO] [stdout] test core::differ::tests::binary_detected_via_nul ... ok
[INFO] [stdout] test core::differ::tests::changed_pct_env_accepts_fraction_or_percent ... ok
[INFO] [stdout] test core::git::tests::nested_dir_walks_up_to_repo_root ... ok
[INFO] [stdout] test core::git::tests::primary_repo_main_branch ... ok
[INFO] [stdout] test core::compress::tests::rust_compresses_function_bodies ... ok
[INFO] [stdout] test core::compress::tests::swift_extension_methods_compress ... ok
[INFO] [stdout] test core::compress::tests::python_class_methods_elided_individually_pricing_engine ... ok
[INFO] [stdout] test core::git::tests::slash_in_branch_name_kept_verbatim ... ok
[INFO] [stdout] test core::git::tests::worktree_resolves_to_secondary_gitdir ... ok
[INFO] [stdout] test core::ignore::tests::canonicalize_dir_pattern_helper ... ok
[INFO] [stdout] test core::ignore::tests::defaults_match_lock_files ... ok
[INFO] [stdout] test core::ignore::tests::comments_and_blanks_skipped ... ok
[INFO] [stdout] test core::ignore::tests::explicit_double_star_still_works_unchanged ... ok
[INFO] [stdout] test core::ignore::tests::defaults_match_node_modules ... ok
[INFO] [stdout] test core::ignore::tests::malformed_pattern_does_not_panic ... ok
[INFO] [stdout] test core::ignore::tests::negation_re_includes ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::cover_empty_ranges_never_matches ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::cover_requires_inclusion ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::merge_coalesces_adjacency ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::merge_coalesces_overlap ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::merge_drops_invalid_ranges ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::merge_keeps_disjoint_intervals_sorted ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::parse_tolerates_garbage ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::parse_handles_null_and_empty ... ok
[INFO] [stdout] test core::session::seen_ranges_tests::serialize_round_trips ... ok
[INFO] [stdout] test hooks::claude_post_edit::parse_diff_hunks_tests::contiguous_two_line_change_merges_into_one_range ... ok
[INFO] [stdout] test core::ignore::tests::user_pattern_adds_to_defaults ... ok
[INFO] [stdout] test hooks::claude_post_edit::parse_diff_hunks_tests::one_line_modification_collapses_to_that_line_only ... ok
[INFO] [stdout] test hooks::claude_post_edit::parse_diff_hunks_tests::pure_deletion_anchors_at_hunk_start_with_zero_width ... ok
[INFO] [stdout] test hooks::claude_post_edit::parse_diff_hunks_tests::pure_insertion_reports_only_the_new_lines ... ok
[INFO] [stdout] test hooks::claude_post_edit::parse_diff_hunks_tests::replace_block_reports_only_the_new_block ... ok
[INFO] [stdout] test hooks::claude_post_edit::parse_diff_hunks_tests::two_distant_hunks_yield_two_separate_ranges ... ok
[INFO] [stdout] test core::ignore::tests::trailing_slash_does_not_leak_to_siblings ... ok
[INFO] [stdout] test core::ignore::tests::trailing_slash_matches_arbitrary_depth ... ok
[INFO] [stdout] test core::ignore::tests::trailing_slash_matches_immediate_children ... ok
[INFO] [stdout] test core::ignore::tests::trailing_slash_negation_re_includes_descendants ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 172 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 263 tests
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-37ca7b40447bb0d5)
[INFO] [stdout] test agent_ux::compress_first_read_disabled_by_default_keeps_native_passthrough ... ok
[INFO] [stdout] test agent_ux::compress_first_read_opt_in_falls_back_to_native_when_no_savings ... ok
[INFO] [stdout] test accounting_audit::audit_tiny_partial_window_passes_through_when_marker_costs_more ... ok
[INFO] [stdout] test accounting_audit::audit_partial_read_uses_window_as_counterfactual ... ok
[INFO] [stdout] test agent_ux::compress_first_read_opt_in_substitutes_when_savings_are_meaningful ... ok
[INFO] [stdout] test accounting_audit::audit_claude_full_read_then_unchanged_accounts_actual_payload ... ok
[INFO] [stdout] test accounting_audit::audit_placeholder_fallbacks_are_conservative ... ok
[INFO] [stdout] test agent_ux::p3_honest_typos_still_error ... ok
[INFO] [stdout] test agent_ux::p3_hook_known_subcommand_still_works ... ok
[INFO] [stdout] test agent_ux::p3_hook_unknown_subcommand_returns_empty_object ... ok
[INFO] [stdout] test accounting_audit::audit_delta_counts_current_file_and_rendered_diff_payload ... ok
[INFO] [stdout] test accounting_audit::audit_edit_certificate_counts_rendered_certificate_not_full_file ... ok
[INFO] [stdout] test agent_ux::p2_meter_session_auto_picks_active_session_in_cwd ... ok
[INFO] [stdout] test agents_install::codex_init_refreshes_stale_block_with_old_args ... ok
[INFO] [stdout] test agents_install::codex_uninstall_is_idempotent ... ok
[INFO] [stdout] test agents_install::codex_uninstall_removes_mcp_and_agents_blocks ... ok
[INFO] [stdout] test agent_ux::p2_meter_session_keeps_derived_when_it_has_reads ... ok
[INFO] [stdout] test agent_ux::p1_meter_counts_oob_refresh_after_external_change ... ok
[INFO] [stdout] test agents_install::drip_mcp_agent_flag_sets_env_var_for_session ... ok
[INFO] [stdout] test agent_ux::replay_auto_picks_agent_session_in_cwd ... ok
[INFO] [stdout] test agents_install::gemini_init_preserves_user_settings ... ok
[INFO] [stdout] test agents_install::gemini_init_writes_agent_flag_in_args ... ok
[INFO] [stdout] test agents_install::gemini_init_writes_settings_and_gemini_md ... ok
[INFO] [stdout] test agents_install::gemini_uninstall_removes_drip_only ... ok
[INFO] [stdout] test agents_install::drip_agent_unknown_value_falls_back_to_heuristic ... ok
[INFO] [stdout] test agents_install::drip_agent_env_persists_to_session_row ... ok
[INFO] [stdout] test agent_ux::sessions_list_and_ls_are_no_op_aliases_of_sessions ... ok
[INFO] [stdout] test claude_init::drip_md_created_on_init ... ok
[INFO] [stdout] test agent_ux::refresh_clears_baselines_across_every_session ... ok
[INFO] [stdout] test claude_init::claude_md_append_idempotent ... ok
[INFO] [stdout] test claude_init::claude_md_append_preserves_existing_content ... ok
[INFO] [stdout] test agent_ux::source_map_auto_picks_agent_session_in_cwd ... ok
[INFO] [stdout] test claude_init::global_install_targets_home_claude_dir ... ok
[INFO] [stdout] test claude_init::claude_md_created_if_missing ... ok
[INFO] [stdout] test agent_ux::p1_meter_omits_oob_line_when_no_refreshes_yet ... ok
[INFO] [stdout] test codex_init::codex_init_writes_mcp_config_and_agents_md ... ok
[INFO] [stdout] test completions::completions_elvish_nonempty ... ok
[INFO] [stdout] test codex_init::codex_init_is_idempotent ... ok
[INFO] [stdout] test completions::completions_fish_nonempty ... ok
[INFO] [stdout] test codex_init::codex_init_preserves_existing_user_config ... ok
[INFO] [stdout] test completions::completions_powershell_nonempty ... ok
[INFO] [stdout] test claude_init::uninstall_removes_reference_only ... ok
[INFO] [stdout] test completions::completions_bash_nonempty ... ok
[INFO] [stdout] test completions::completions_zsh_nonempty ... ok
[INFO] [stdout] test completions::init_installs_fish_completion_file ... ok
[INFO] [stdout] test completions::init_installs_zsh_completion_file ... ok
[INFO] [stdout] test completions::init_installs_bash_completion_file ... ok
[INFO] [stdout] test completions::uninstall_preserves_user_authored_completion ... ok
[INFO] [stdout] test completions::init_unknown_shell_skips_silently ... ok
[INFO] [stdout] test completions::init_skips_powershell_auto_install ... ok
[INFO] [stdout] test claude_init::init_registers_session_start_compact_clear_hook ... ok
[INFO] [stdout] test completions::uninstall_removes_zsh_completion ... ok
[INFO] [stdout] test completions::completions_unknown_shell_error ... ok
[INFO] [stdout] test compression::compression_disabled_via_env ... ok
[INFO] [stdout] test compression::compressed_read_persists_source_map_in_db ... ok
[INFO] [stdout] test agents_install::malformed_mcp_json_fails_loudly_rather_than_clobbering ... ok
[INFO] [stdout] test compression::first_read_python_is_semantically_compressed ... ok
[INFO] [stdout] test completions::completions_contain_subcommands ... ok
[INFO] [stdout] test cross_platform::binary_has_no_exe_extension_on_unix ... ok
[INFO] [stdout] test compression::baseline_kept_uncompressed_so_diffs_still_work ... ok
[INFO] [stdout] test compression::complex_diff_falls_back_to_full_read ... ok
[INFO] [stdout] test compression::uncompressed_read_leaves_source_map_null ... ok
[INFO] [stdout] test compression::rust_first_read_compresses_long_functions ... ok
[INFO] [stdout] test cross_platform::data_dir_under_drip_data_dir_override ... ok
[INFO] [stdout] test diff_accuracy::first_read_returns_full_content ... ok
[INFO] [stdout] test diff_accuracy::binary_file_is_never_diffed ... ok
[INFO] [stdout] test compression::small_files_skip_compression ... ok
[INFO] [stdout] test cross_platform::read_roundtrip_works_on_this_platform ... ok
[INFO] [stdout] test concurrency::parallel_writers_to_same_file_serialize_cleanly ... ok
[INFO] [stdout] test diff_accuracy::nonexistent_file_returns_error_first_time ... ok
[INFO] [stdout] test diff_accuracy::modified_file_returns_unified_diff_no_information_loss ... ok
[INFO] [stdout] test concurrency::three_concurrent_agents_no_deadlock ... ok
[INFO] [stdout] test doctor::doctor_detects_drip_md_without_marker ... ok
[INFO] [stdout] test doctor::doctor_does_not_error_on_project_claude_md_when_global_covers ... ok
[INFO] [stdout] test doctor::doctor_detects_missing_hooks ... ok
[INFO] [stdout] test diff_accuracy::second_identical_read_is_unchanged ... ok
[INFO] [stdout] test diff_perf::unchanged_path_is_fast ... ok
[INFO] [stdout] test doctor::doctor_handles_missing_db_gracefully ... ok
[INFO] [stdout] test doctor::doctor_exit_code_nonzero_on_error ... ok
[INFO] [stdout] test doctor::doctor_flags_missing_session_start_hook_as_error_with_recovery_hint ... ok
[INFO] [stdout] test dripignore::drip_disable_bypasses_dripignore_for_glob ... ok
[INFO] [stdout] test dripignore::glob_hook_filters_out_node_modules ... ok
[INFO] [stdout] test doctor::doctor_quiet_output ... ok
[INFO] [stdout] test doctor::doctor_json_output_valid ... ok
[INFO] [stdout] test doctor::doctor_exit_code_zero_when_clean ... ok
[INFO] [stdout] test doctor::doctor_session_start_check_accepts_compact_clear_matcher_only ... ok
[INFO] [stdout] test doctor::doctor_reports_clean_after_init ... ok
[INFO] [stdout] test diff_perf::diff_under_budget_50kb ... ok
[INFO] [stdout] test dripignore::user_dripignore_extends_defaults ... ok
[INFO] [stdout] test dripignore::read_of_lock_file_is_substituted_with_placeholder ... ok
[INFO] [stdout] test diff_perf::diff_under_budget_99kb ... ok
[INFO] [stdout] test edge_cases::large_file_skips_diff ... ok
[INFO] [stdout] test gemini_compress_hook::doctor_warns_when_mcp_present_but_hook_missing ... ok
[INFO] [stdout] test gemini_compress_hook::init_gemini_global_writes_mcp_and_compress_hook ... ok
[INFO] [stdout] test gemini_compress_hook::init_gemini_is_idempotent_on_hook_block ... ok
[INFO] [stdout] test dripignore::trailing_slash_pattern_matches_descendants_like_gitignore ... ok
[INFO] [stdout] test mcp_server::mcp_initialize_lists_read_file_tool ... ok
[INFO] [stdout] test dry_run::dry_run_does_not_persist_baseline ... ok
[INFO] [stdout] test edge_cases::truncation_falls_back_to_full_read ... ok
[INFO] [stdout] test mcp_server::mcp_rejects_oversized_request_line ... ok
[INFO] [stdout] test edge_cases::deleted_file_after_first_read_reports_deletion ... ok
[INFO] [stdout] test gemini_compress_hook::gemini_compress_hook_tolerates_empty_payload ... ok
[INFO] [stdout] test dry_run::dry_run_after_real_read_predicts_unchanged ... ok
[INFO] [stdout] test meter_output::meter_json_has_expected_schema ... ok
[INFO] [stdout] test gemini_compress_hook::gemini_compress_hook_bumps_ledger_and_wipes_reads ... ok
[INFO] [stdout] test mcp_server::mcp_tools_call_returns_full_then_delta ... ok
[INFO] [stdout] test meter_output::meter_human_output_is_terse_when_no_color ... ok
[INFO] [stdout] test meter_output::lifetime_stats_self_heal_on_drift ... ok
[INFO] [stdout] test post_edit_hook::cert_contains_hash_and_changed_ranges ... ok
[INFO] [stdout] test post_edit_hook::cert_requires_existing_baseline ... ok
[INFO] [stdout] test post_edit_hook::post_edit_does_not_persist_dripignored_secrets ... ok
[INFO] [stdout] test post_edit_hook::cert_disabled_falls_back_to_passthrough ... ok
[INFO] [stdout] test post_edit_hook::warns_when_edit_targets_an_elided_function_body ... ok
[INFO] [stdout] test post_edit_hook::unrelated_tools_dont_touch_baseline ... ok
[INFO] [stdout] test post_edit_hook::cert_is_one_shot_then_unchanged ... ok
[INFO] [stdout] test post_edit_hook::edit_then_read_returns_unchanged ... ok
[INFO] [stdout] test meter_output::meter_no_ghost_hint_on_clean_install ... ok
[INFO] [stdout] test post_edit_hook::write_tool_also_refreshes_baseline ... ok
[INFO] [stdout] test pre_edit_hook::drip_disable_bypasses_the_guard ... ok
[INFO] [stdout] test pre_edit_hook::edit_inside_elided_body_is_denied_with_symbol_and_range ... ok
[INFO] [stdout] test pre_edit_hook::unknown_tool_passes_through ... ok
[INFO] [stdout] test pre_edit_hook::drip_pre_edit_warn_zero_bypasses_the_guard ... ok
[INFO] [stdout] test post_edit_hook::no_warning_when_edited_function_body_was_visible ... ok
[INFO] [stdout] test pre_edit_hook::untracked_file_means_no_block ... ok
[INFO] [stdout] test pre_edit_hook::edit_on_signature_line_passes_through ... ok
[INFO] [stdout] test pre_edit_hook::very_short_old_string_does_not_trigger_spurious_block ... ok
[INFO] [stdout] test pre_edit_hook::multiedit_with_one_elided_target_is_denied_for_that_target ... ok
[INFO] [stdout] test pre_edit_hook::write_tool_warns_on_any_compressed_file ... ok
[INFO] [stdout] test read_offset_limit::first_read_over_claude_limit_substitutes_compressed_view ... ok
[INFO] [stdout] test read_offset_limit::deleted_file_with_baseline_under_symlinked_parent_returns_deleted ... ok
[INFO] [stdout] test meter_output::meter_warns_when_lifetime_polluted_by_ghost_files ... ok
[INFO] [stdout] test read_offset_limit::first_read_under_limit_still_passes_native ... ok
[INFO] [stdout] test read_offset_limit::partial_read_after_external_change_outside_window_still_passes_through ... ok
[INFO] [stdout] test read_offset_limit::full_read_after_external_change_passes_through_not_delta ... ok
[INFO] [stdout] test read_offset_limit::first_read_over_limit_falls_back_to_allow_when_compression_unavailable ... ok
[INFO] [stdout] test read_offset_limit::full_read_after_partial_read_delivers_full_then_collapses ... ok
[INFO] [stdout] test read_offset_limit::partial_read_delta_bigger_than_window_passes_through_native ... ok
[INFO] [stdout] test pre_edit_hook::no_source_map_means_no_block ... ok
[INFO] [stdout] test pre_edit_hook::edit_outside_elided_region_passes_through ... ok
[INFO] [stdout] test read_offset_limit::partial_read_on_unchanged_baseline_returns_window_unchanged ... ok
[INFO] [stdout] test read_offset_limit::partial_read_on_visible_region_after_compression_returns_window_unchanged ... ok
[INFO] [stdout] test read_offset_limit::partial_read_passthrough_accounts_window_tokens_not_file_size ... ok
[INFO] [stdout] test read_offset_limit::partial_read_after_external_change_passes_through_to_refresh_harness ... ok
[INFO] [stdout] test read_offset_limit::partial_read_on_elided_region_passes_through_native ... ok
[INFO] [stdout] test read_offset_limit::partial_read_does_not_mutate_baseline ... ok
[INFO] [stdout] test read_offset_limit::read_with_offset_passes_through ... ok
[INFO] [stdout] test read_offset_limit::first_read_past_large_file_cap_still_compresses ... ok
[INFO] [stdout] test read_offset_limit::partial_read_without_baseline_passes_through_native ... ok
[INFO] [stdout] test read_offset_limit::read_with_only_limit_also_passes_through ... ok
[INFO] [stdout] test registry::registry_gc_default_is_30_days ... ok
[INFO] [stdout] test registry::registry_gc_drops_old_entries ... ok
[INFO] [stdout] test registry::registry_changed_trailer_counts_as_sent_tokens ... ok
[INFO] [stdout] test registry::registry_disabled_env_var_skips_lookup ... ok
[INFO] [stdout] test read_offset_limit::partial_reads_track_per_window_coverage ... ok
[INFO] [stdout] test registry::registry_full_content_always_sent_on_first_read ... ok
[INFO] [stdout] test read_offset_limit::partial_read_savings_appear_in_session_meter ... ok
[INFO] [stdout] test regressions::drip_disable_env_makes_read_hook_passthrough ... ok
[INFO] [stdout] test read_offset_limit::unchanged_reread_of_oversized_file_collapses_to_sentinel ... ok
[INFO] [stdout] test regressions::init_writes_absolute_path_for_hooks ... ok
[INFO] [stdout] test registry::registry_known_unchanged_emits_unchanged_header ... ok
[INFO] [stdout] test regressions::mcp_workspace_root_refuses_unresolvable_paths ... ok
[INFO] [stdout] test registry::registry_known_changed_emits_diff_trailer ... ok
[INFO] [stdout] test registry::registry_unknown_file_uses_existing_first_read_header ... ok
[INFO] [stdout] test regressions::drip_reject_symlinks_falls_back ... ok
[INFO] [stdout] test regressions::explicit_session_id_creates_real_sessions_row ... ok
[INFO] [stdout] test regressions::meter_json_uses_real_session_started_at ... ok
[INFO] [stdout] test regressions::mcp_workspace_root_blocks_outside_paths ... ok
[INFO] [stdout] test regressions::huge_file_short_circuits_via_metadata ... ok
[INFO] [stdout] test regressions::post_edit_hook_skips_oversized_files ... ok
[INFO] [stdout] test registry::registry_stats_reports_known_files_count ... ok
[INFO] [stdout] test regressions::meter_lifetime_aggregates_across_sessions ... ok
[INFO] [stdout] test regressions::readonly_commands_do_not_create_session_rows ... ok
[INFO] [stdout] test regressions::refresh_clears_one_file_baseline ... ok
[INFO] [stdout] test regressions::post_edit_increments_lifetime_edit_counters ... ok
[INFO] [stdout] test regressions::meter_handles_bad_pricing_env ... ok
[INFO] [stdout] test regressions::refresh_clears_passthrough_marker ... ok
[INFO] [stdout] test regressions::tiny_file_diff_falls_back_to_full ... ok
[INFO] [stdout] test regressions::meter_session_accepts_explicit_id ... ok
[INFO] [stdout] test regressions::post_edit_then_read_passes_through ... ok
[INFO] [stdout] test replay::replay_log_disabled_via_env ... ok
[INFO] [stdout] test regressions::meter_includes_dollars_and_co2 ... ok
[INFO] [stdout] test replay::replay_filters_by_file_substring ... ok
[INFO] [stdout] test replay::replay_full_includes_rendered_output ... ok
[INFO] [stdout] test regressions::reset_clears_all_session_scoped_tables ... ok
[INFO] [stdout] test reset_modes::reset_all_and_stats_together_is_a_clear_error ... ok
[INFO] [stdout] test reset_modes::reset_all_without_force_prompts_and_no_answer_aborts ... ok
[INFO] [stdout] test reset_modes::meter_flips_to_since_reset_label_after_reset_all ... ok
[INFO] [stdout] test session_keying::detached_head_uses_short_sha_as_context ... ok
[INFO] [stdout] test replay::replay_keep_caps_event_count ... ok
[INFO] [stdout] test reset_modes::reset_stats_zeros_lifetime_but_preserves_session_baselines ... ok
[INFO] [stdout] test session_keying::drip_meter_lifetime_does_not_pollute_with_strategy_fields ... ok
[INFO] [stdout] test session_keying::env_id_takes_priority_over_everything ... ok
[INFO] [stdout] test replay::replay_records_every_intercepted_read ... ok
[INFO] [stdout] test session_keying::crash_recovery_resumes_unchanged_reads ... ok
[INFO] [stdout] test session_keying::drip_sessions_shows_strategy_column ... ok
[INFO] [stdout] test reset_modes::meter_flips_to_since_reset_label_after_reset_stats ... ok
[INFO] [stdout] test session_keying::git_session_changes_when_branch_switches ... ok
[INFO] [stdout] test reset_modes::reset_all_force_wipes_every_table_and_reports_counts ... ok
[INFO] [stdout] test session_keying::git_strategy_when_in_a_repo ... ok
[INFO] [stdout] test session_keying::malformed_git_falls_back_to_pid ... ok
[INFO] [stdout] test session_keying::git_worktrees_get_distinct_ids ... ok
[INFO] [stdout] test session_keying::git_session_stable_across_simulated_ppid_change ... ok
[INFO] [stdout] test session_keying::pid_strategy_changes_with_simulated_ppid ... ok
[INFO] [stdout] test session_keying::strategy_pid_override_ignores_git ... ok
[INFO] [stdout] test session_keying::strategy_cwd_is_permanent_per_directory ... ok
[INFO] [stdout] test session_start_hook::claude_binary_fallback_is_substituted_not_native_passthrough ... ok
[INFO] [stdout] test session_keying::pid_strategy_outside_a_repo ... ok
[INFO] [stdout] test session_start_hook::claude_first_read_passthrough_replay_does_not_count_registry_trailer ... ok
[INFO] [stdout] test session_persistence::distinct_sessions_do_not_share_state ... ok
[INFO] [stdout] test session_start_hook::claude_first_read_passthrough_records_native_full_tokens_not_compressed ... ok
[INFO] [stdout] test session_persistence::session_persists_state_between_invocations ... ok
[INFO] [stdout] test session_start_hook::compact_drops_baseline_so_next_read_passes_through_to_native ... ok
[INFO] [stdout] test session_start_hook::read_without_compaction_has_no_compaction_header ... ok
[INFO] [stdout] test session_persistence::reset_clears_session ... ok
[INFO] [stdout] test session_persistence::expired_session_announces_fresh_baseline_on_first_read ... ok
[INFO] [stdout] test session_start_hook::clear_source_also_drops_baselines ... ok
[INFO] [stdout] test session_start_hook::schema_v9_columns_present_after_open ... ok
[INFO] [stdout] test session_start_hook::doctor_reports_compaction_count_when_session_was_compacted ... ok
[INFO] [stdout] test session_start_hook::session_start_emits_empty_json_object ... ok
[INFO] [stdout] test session_start_hook::session_start_with_inert_source_does_not_emit_additional_context ... ok
[INFO] [stdout] test session_start_hook::meter_json_includes_compaction_block_after_compact ... ok
[INFO] [stdout] test session_start_hook::session_start_handler_tolerates_unknown_source_values ... ok
[INFO] [stdout] test session_start_hook::session_start_compact_emits_additional_context_for_agent ... ok
[INFO] [stdout] test source_map::source_map_for_untracked_file_distinguishes_from_uncompressed ... ok
[INFO] [stdout] test source_map::source_map_full_table_lists_every_compressed_line ... ok
[INFO] [stdout] test source_map::drip_refresh_then_reread_regenerates_source_map ... ok
[INFO] [stdout] test source_map::source_map_cli_auto_picks_sibling_session_in_cwd ... ok
[INFO] [stdout] test source_map::source_map_internal_lookup_is_strictly_session_scoped ... ok
[INFO] [stdout] test session_start_hook::session_start_compact_bumps_context_epoch_and_count ... ok
[INFO] [stdout] test source_map::source_map_json_round_trips_through_serde ... ok
[INFO] [stdout] test source_map::source_map_accepts_l_prefixed_line_argument ... ok
[INFO] [stdout] test session_start_hook::resume_source_drops_baselines_too ... ok
[INFO] [stdout] test source_map::source_map_resolves_a_single_compressed_line_to_original_range ... ok
[INFO] [stdout] test source_map::source_map_line_lookup_handles_out_of_range_compressed_line ... ok
[INFO] [stdout] test session_start_hook::startup_source_is_a_noop ... ok
[INFO] [stdout] test source_map::source_map_without_compression_emits_clear_no_map_message ... ok
[INFO] [stdout] test storage::cache_compact_is_idempotent_when_no_oversize_inline_rows ... ok
[INFO] [stdout] test storage::cache_gc_on_empty_dir_is_a_noop ... ok
[INFO] [stdout] test source_map::source_map_rejects_zero_and_garbage_line_args ... ok
[INFO] [stdout] test storage::cache_compact_hoists_oversized_inline_rows_to_file_cache ... ok
[INFO] [stdout] test storage::cache_stats_reports_inline_and_file_breakdown ... ok
[INFO] [stdout] test storage::cache_gc_removes_orphans_and_keeps_active ... ok
[INFO] [stdout] test storage::cache_stats_hints_when_inline_bloat_detected ... ok
[INFO] [stdout] test storage::env_override_zero_pushes_everything_to_cache ... ok
[INFO] [stdout] test storage::large_file_creates_a_cache_blob ... ok
[INFO] [stdout] test storage::legacy_v1_db_is_migrated_in_place ... ok
[INFO] [stdout] test storage::drip_meter_json_exposes_storage_block ... ok
[INFO] [stdout] test storage::diff_works_identically_when_content_is_in_cache_file ... ok
[INFO] [stdout] test storage::small_file_stays_inline_no_cache_file_created ... ok
[INFO] [stdout] test storage::cache_compact_reads_baseline_correctly_after_hoisting ... ok
[INFO] [stdout] test storage::identical_content_two_files_share_one_cache_blob ... ok
[INFO] [stdout] test storage::missing_cache_file_falls_back_to_full_read ... ok
[INFO] [stdout] test token_savings::delta_read_reports_significant_savings ... ok
[INFO] [stdout] test storage::refresh_drops_orphan_blob ... ok
[INFO] [stdout] test storage::unchanged_works_identically_when_baseline_is_in_cache ... ok
[INFO] [stdout] test storage::purge_drops_cache_blobs_of_expired_sessions ... ok
[INFO] [stdout] test token_savings::meter_reports_aggregate_stats ... ok
[INFO] [stdout] test watch::baseline_change_invalidates_precomputed_cache ... ok
[INFO] [stdout] test watch::watcher_ignores_paths_outside_watch_root ... ok
[INFO] [stdout] test watch::watcher_skips_dripignore_matched_files ... ok
[INFO] [stdout] test watch::watcher_precomputes_diff_after_file_change ... ok
[INFO] [stdout] test watch::watcher_refuses_fifo_at_watched_path ... ok
[INFO] [stdout] test storage::upsert_drops_old_blob_when_file_content_changes has been running for over 60 seconds
[INFO] [stdout] test storage::upsert_drops_old_blob_when_file_content_changes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 263 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 197.31s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d", kill_on_drop: false }`
[INFO] [stdout] 7c1da61bd6b3b228c7add35b064f76825497114d95b03864dde771d044a84d4d
