[INFO] fetching crate rik 0.6.0...
[INFO] testing rik-0.6.0 against 1.98.0-beta.6+cargoflags=--release for beta-1.98-release-3
[INFO] extracting crate rik 0.6.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate rik 0.6.0
[INFO] finished tweaking crates.io crate rik 0.6.0
[INFO] tweaked toml for crates.io crate rik 0.6.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rik 0.6.0 on toolchain 1.98.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rik 0.6.0 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.98.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8
[INFO] running `Command { std: "docker" "start" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8", 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" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8", 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" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling futures-core v0.3.33
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling futures-sink v0.3.33
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling futures-channel v0.3.33
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling aws-lc-rs v1.17.3
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.33
[INFO] [stderr]    Compiling futures-io v0.3.33
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling cc v1.4.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling aws-lc-sys v0.43.0
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling rustls v0.23.42
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]    Compiling ref-cast v1.0.26
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling tokio-macros v2.7.1
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling futures-util v0.3.33
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.2
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.33
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.26
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling convert_case v0.11.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling futures v0.3.33
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling http-body-util v0.1.4
[INFO] [stderr]    Compiling bstr v1.13.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling clap_builder v4.6.2
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling chacha20 v0.10.1
[INFO] [stderr]    Compiling rig-derive v0.40.0
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling globset v0.4.19
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling inotify v0.11.4
[INFO] [stderr]    Compiling ordered-float v5.3.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling as-any v0.3.2
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling futures-timer v3.0.4
[INFO] [stderr]    Compiling toml v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling ignore v0.4.31
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling clap v4.6.4
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling rig-core v0.40.0
[INFO] [stderr]    Compiling rik v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3m 42s
[INFO] running `Command { std: "docker" "inspect" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8", 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" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rik v0.6.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 23.02s
[INFO] running `Command { std: "docker" "inspect" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8", 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" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.6" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/rik-9571bd88eb7e927d)
[INFO] [stdout] 
[INFO] [stdout] running 220 tests
[INFO] [stdout] test complete::tests::absent_system_prompt_does_not_add_overarching_instructions ... ok
[INFO] [stdout] test complete::tests::answered_question_memory_filters_exact_marker_identity ... ok
[INFO] [stdout] test complete::tests::completed_marker_cleanup_does_not_remove_replacement_single_line_marker ... ok
[INFO] [stdout] test complete::tests::completed_marker_cleanup_leaves_question_and_later_markers ... ok
[INFO] [stdout] test complete::tests::completed_marker_cleanup_preserves_body_of_trailing_closer_line ... ok
[INFO] [stdout] test complete::tests::completed_marker_cleanup_preserves_body_with_decorated_multiline_closer ... ok
[INFO] [stdout] test complete::tests::default_marker_instruction_anchors_without_forcing_insertion ... ok
[INFO] [stdout] test complete::tests::changed_multiline_task_cleanup_preserves_edited_body ... ok
[INFO] [stdout] test complete::tests::changed_task_is_cleaned_up ... ok
[INFO] [stdout] test complete::tests::completed_marker_cleanup_after_edit_preserves_later_marker ... ok
[INFO] [stdout] test complete::tests::display_tool_error_removes_rig_prefix ... ok
[INFO] [stdout] test complete::tests::display_read_file_call_includes_requested_lines ... ok
[INFO] [stdout] test complete::tests::display_tool_path_denies_paths_outside_watched_directory ... ok
[INFO] [stdout] test complete::tests::completed_marker_cleanup_preserves_inline_block_after_body_grows ... ok
[INFO] [stdout] test complete::tests::multiline_replacement_instruction_requires_whole_span ... ok
[INFO] [stdout] test complete::tests::completed_marker_cleanup_preserves_inline_instruction_multiline_body ... ok
[INFO] [stdout] test complete::tests::display_tool_path_makes_paths_inside_watched_directory_relative ... ok
[INFO] [stdout] test complete::tests::question_marker_output_silences_tools_verbose_and_personality ... ok
[INFO] [stdout] test complete::tests::context_cleanup_leaves_stopped_context_markers ... ok
[INFO] [stdout] test complete::tests::questions_require_explicit_dynamic_tool_authorization ... ok
[INFO] [stdout] test complete::tests::question_markers_end_with_question_mark ... ok
[INFO] [stdout] test complete::tests::completed_marker_cleanup_preserves_inline_block_after_body_was_edited ... ok
[INFO] [stdout] test complete::tests::system_prompt_is_appended_to_task_and_question_preambles ... ok
[INFO] [stdout] test complete::tests::written_answer_uses_question_line_start_and_aligns_continuations ... ok
[INFO] [stdout] test complete::tests::unchanged_task_is_not_cleaned_up ... ok
[INFO] [stdout] test complete::tests::skill_catalog_is_injected_into_task_and_question_preambles ... ok
[INFO] [stdout] test complete::tests::written_answer_wraps_to_one_hundred_total_columns ... ok
[INFO] [stdout] test complete::tests::vicinity_after_keeps_replacing_marker_with_content ... ok
[INFO] [stdout] test config::tests::child_model_settings_override_parent_settings ... ok
[INFO] [stdout] test config::tests::default_edition_constraints_are_vicinity_after ... ok
[INFO] [stdout] test complete::tests::vicinity_after_keeps_previous_line_modification_near_marker ... ok
[INFO] [stdout] test config::tests::explicit_edition_constraints_override_legacy_marker_limit ... ok
[INFO] [stdout] test complete::tests::write_answer_replaces_question_marker_span ... ok
[INFO] [stdout] test config::tests::explicit_model_overrides_top_level_default_model ... ok
[INFO] [stdout] test config::tests::memory_budget_defaults_to_32k_and_is_configurable ... ok
[INFO] [stdout] test complete::tests::vicinity_after_restores_stray_change_and_keeps_marker_change ... ok
[INFO] [stdout] test complete::tests::vicinity_after_restores_insertion_that_only_appends_at_marker ... ok
[INFO] [stdout] test config::tests::parses_chatgpt_provider_without_api_key ... ok
[INFO] [stdout] test config::tests::legacy_marker_limit_false_maps_to_no_constraints ... ok
[INFO] [stdout] test config::tests::parses_internal_edition_constraints ... ok
[INFO] [stdout] test config::tests::parses_existing_single_model_config ... ok
[INFO] [stdout] test config::tests::parses_write_answers_config ... ok
[INFO] [stdout] test config::tests::requires_provider_in_selected_model_profile ... ok
[INFO] [stdout] test config::tests::supports_hyphenated_default_model_and_ignores_unselected_model_table ... ok
[INFO] [stdout] test config::tests::selects_nested_model_and_inherits_parent_settings ... ok
[INFO] [stdout] test config::tests::reports_missing_model_profile ... ok
[INFO] [stdout] test config::tests::selects_top_level_default_model_profile ... ok
[INFO] [stdout] test config::tests::supports_named_profiles_under_model_table ... ok
[INFO] [stdout] test helpers::tests::watched_directory_uses_cwd_for_dot_relative_pattern ... ok
[INFO] [stdout] test helpers::tests::watched_directory_uses_absolute_glob_prefix_even_without_matches ... ok
[INFO] [stdout] test helpers::tests::watched_directory_uses_cwd_for_relative_pattern ... ok
[INFO] [stdout] test helpers::tests::watched_directory_uses_common_ancestor_for_multiple_patterns ... ok
[INFO] [stdout] test helpers::tests::expand_glob_can_disable_ignore_files ... ok
[INFO] [stdout] test keyboard::tests::detects_standalone_escape_key ... ok
[INFO] [stdout] test markers::tests::test_atomic_marker_space_separated_not_match ... ok
[INFO] [stdout] test helpers::tests::expand_glob_skips_binary_files ... ok
[INFO] [stdout] test markers::tests::test_balanced_inner_parens_kept_open ... ok
[INFO] [stdout] test markers::tests::test_context_bare_slashes_only ... ok
[INFO] [stdout] test markers::tests::test_context_mixed_with_tasks ... ok
[INFO] [stdout] test markers::tests::test_context_with_spaces_inside ... ok
[INFO] [stdout] test markers::tests::test_context_not_false_positive_path ... ok
[INFO] [stdout] test markers::tests::test_find_markers_decorated_opening_accepts_bare_closing_delimiter ... ok
[INFO] [stdout] test markers::tests::test_context_slash_delimited ... ok
[INFO] [stdout] test markers::tests::test_find_markers_delimiter_without_whitespace_remains_single_line ... ok
[INFO] [stdout] test markers::tests::test_deeply_nested_single_char ... ok
[INFO] [stdout] test markers::tests::test_find_markers_empty_query_ignored ... ok
[INFO] [stdout] test helpers::tests::expand_glob_honors_ignore_files_by_default ... ok
[INFO] [stdout] test markers::tests::test_find_markers_inline_instruction_with_decorated_single_char_closer ... ok
[INFO] [stdout] test markers::tests::test_find_markers_inline_instruction_can_be_only_query_content ... ok
[INFO] [stdout] test markers::tests::test_find_markers_inline_instruction_preserves_later_marker ... ok
[INFO] [stdout] test markers::tests::test_find_markers_inline_instruction_all_delimiters ... ok
[INFO] [stdout] test markers::tests::test_find_markers_inline_instruction_with_decorated_closer ... ok
[INFO] [stdout] test markers::tests::test_find_markers_inline_instruction_with_nested_single_char_delimiters ... ok
[INFO] [stdout] test markers::tests::test_find_markers_inline_sum_with_nested_parenthesized_expression ... ok
[INFO] [stdout] test markers::tests::test_find_markers_mismatched_decoration_does_not_close_multiline ... ok
[INFO] [stdout] test markers::tests::test_find_markers_mismatched_delimiters_not_multiline ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_closer_trailing_last_line ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_closing_bare_delimiter ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_closing_decorated_delimiter ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_curly_braces ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_other_decorated_delimiter ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_preserves_blank_lines_inside ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_double_brackets ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_single_bracket ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_single_paren ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_single_curly ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_parens ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_trailing_closer_all_delimiters ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_triple_curly ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_triple_brackets ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiple_multiline_in_file ... ok
[INFO] [stdout] test markers::tests::test_find_markers_same_line_delimited_instruction ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_triple_parens ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_surrounding_context_preserved ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_with_inline_instruction ... ok
[INFO] [stdout] test markers::tests::test_find_markers_same_line_delimited_instruction_keeps_nested_expression ... ok
[INFO] [stdout] test markers::tests::test_find_markers_same_line_delimited_instruction_all_delimiters ... ok
[INFO] [stdout] test markers::tests::test_find_markers_single_and_multiline_mixed ... ok
[INFO] [stdout] test markers::tests::test_find_markers_same_line_delimiters_require_whitespace_boundaries ... ok
[INFO] [stdout] test markers::tests::test_find_markers_multiline_with_leading_whitespace ... ok
[INFO] [stdout] test markers::tests::test_find_markers_trailing_closer_ignores_mismatched_decoration ... ok
[INFO] [stdout] test markers::tests::test_find_markers_trailing_closer_preserves_later_marker ... ok
[INFO] [stdout] test markers::tests::test_find_markers_trailing_closer_requires_whitespace_before ... ok
[INFO] [stdout] test markers::tests::test_find_markers_trailing_closer_single_char_with_nesting ... ok
[INFO] [stdout] test markers::tests::test_find_markers_triple_bracket_instruction_ignores_single_brackets_in_body ... ok
[INFO] [stdout] test markers::tests::test_find_markers_unclosed_inline_instruction_remains_single_line ... ok
[INFO] [stdout] test markers::tests::test_find_markers_various_positions ... ok
[INFO] [stdout] test markers::tests::test_multi_char_no_nesting ... ok
[INFO] [stdout] test markers::tests::test_nested_brackets_balanced_ignored ... ok
[INFO] [stdout] test markers::tests::test_nested_curly_balanced_ignored ... ok
[INFO] [stdout] test markers::tests::test_nested_parens_balanced_ignored ... ok
[INFO] [stdout] test markers::tests::test_quotes_ignored_in_nesting ... ok
[INFO] [stdout] test markers::tests::test_standalone_stopper_does_not_stop_other_markers ... ok
[INFO] [stdout] test markers::tests::test_stoppers_apply_only_to_their_marker ... ok
[INFO] [stdout] test memory::tests::merge_takes_two_thirds_and_never_fewer_than_two ... ok
[INFO] [stdout] test memory::tests::history_is_empty_until_something_is_remembered ... ok
[INFO] [stdout] test markers::tests::test_stopper_inside_multiline_marker_stops_it ... ok
[INFO] [stdout] test memory::tests::plain_diff_of_identical_content_is_empty ... ok
[INFO] [stdout] test memory::tests::history_carries_summaries_and_points_at_the_recall_tool ... ok
[INFO] [stdout] test memory::tests::plain_diff_reports_only_the_changed_middle ... ok
[INFO] [stdout] test memory::tests::plain_diff_handles_pure_insertion_and_deletion ... ok
[INFO] [stdout] test memory::tests::overflow_merges_the_oldest_two_thirds_and_keeps_the_newest_third ... ok
[INFO] [stdout] test memory::tests::recall_reports_detail_that_was_released_by_a_merge ... ok
[INFO] [stdout] test memory::tests::shrinking_drops_the_oldest_memories_and_their_detail ... ok
[INFO] [stdout] test memory::tests::questions_are_remembered_with_their_answer ... ok
[INFO] [stdout] test memory::tests::recall_returns_only_the_requested_parts ... ok
[INFO] [stdout] test memory::tests::shrinking_truncates_a_single_oversized_memory ... ok
[INFO] [stdout] test memory::tests::recall_of_an_unknown_id_lists_what_is_available ... ok
[INFO] [stdout] test memory::tests::token_estimate_is_four_characters_per_token ... ok
[INFO] [stdout] test memory::tests::recall_without_flags_returns_everything ... ok
[INFO] [stdout] test memory::tests::turn_log_keeps_reasoning_and_output_apart ... ok
[INFO] [stdout] test skills::tests::prompt_section_is_empty_without_invocable_skills ... ok
[INFO] [stdout] test skills::tests::reads_frontmatter_fields_including_wrapped_descriptions ... ok
[INFO] [stdout] test skills::tests::requested_skills_are_deduplicated_and_may_be_manual_only ... ok
[INFO] [stdout] test skills::tests::instructions_include_body_expected_tools_and_bundled_files ... ok
[INFO] [stdout] test skills::tests::model_invocation_can_be_disabled_without_hiding_the_skill_from_lookup ... ok
[INFO] [stdout] test skills::tests::preloaded_skills_are_inlined_and_left_out_of_the_catalog ... ok
[INFO] [stdout] test skills::tests::strips_frontmatter_from_the_body_only_when_present ... ok
[INFO] [stdout] test skills::tests::resources_are_read_only_from_inside_the_skill_directory ... ok
[INFO] [stdout] test skills::tests::discovers_skills_from_every_supported_home_directory ... ok
[INFO] [stdout] test tests::help_lists_system_prompt_flag ... ok
[INFO] [stdout] test skills::tests::unknown_requested_skill_reports_searched_directories_when_none_exist ... ok
[INFO] [stdout] test tests::motd_includes_current_model ... ok
[INFO] [stdout] test state::tests::rejects_paths_outside_watched_directory ... ok
[INFO] [stdout] test state::tests::resolves_relative_and_absolute_paths_within_watched_directory ... ok
[INFO] [stdout] test tests::parses_model_profile_flag ... ok
[INFO] [stdout] test tests::parses_no_ignore_flag ... ok
[INFO] [stdout] test tests::parses_memory_tokens_flag ... ok
[INFO] [stdout] test skills::tests::agents_wins_over_codex_and_codex_wins_over_claude ... ok
[INFO] [stdout] test skills::tests::unknown_requested_skill_lists_every_available_skill ... ok
[INFO] [stdout] test tests::parses_write_answers_flag ... ok
[INFO] [stdout] test skills::tests::skips_directories_without_a_usable_skill_file ... ok
[INFO] [stdout] test tests::parses_skills_flag_as_comma_separated_or_repeated ... ok
[INFO] [stdout] test tests::watches_by_default_and_supports_once_flags ... ok
[INFO] [stdout] test tests::parses_system_prompt_flags ... ok
[INFO] [stdout] test tools::dynamic_command::tests::names_matching_tools_after_their_declaration_lines ... ok
[INFO] [stdout] test tools::dynamic_command::tests::parses_fixed_named_and_variadic_arguments ... ok
[INFO] [stdout] test tools::edit_file::tests::test_byte_offset_to_line ... ok
[INFO] [stdout] test tools::edit_file::tests::test_byte_offset_to_line_with_multibyte_chars ... ok
[INFO] [stdout] test tools::edit_file::tests::test_definition_includes_file_path ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_allows_replacing_entire_multiline_block ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_far_from_marker_rejected ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_emoji_old_text_near_marker ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_endpoint_near_marker_allowed ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_end_point_near_marker_allowed ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_file_not_found ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_far_from_marker_with_emoji_rejected ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_file_duplicate_old_text ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_file_old_text_missing ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_file_prints_tool_name_and_params ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_file_replace_line ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_file_resets_shared_read_history ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_multiline_span_allowed ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_near_marker_allowed ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_near_second_marker_allowed ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_near_marker_with_emoji_content ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_over_two_markers_rejected ... ok
[INFO] [stdout] test tools::edit_file::tests::test_edit_rejects_replacing_only_multiline_opener ... ok
[INFO] [stdout] test tools::edit_file::tests::test_injected_config_can_allow_edit_over_two_markers ... ok
[INFO] [stdout] test tools::edit_file::tests::test_wide_edit_spanning_marker_rejected ... ok
[INFO] [stdout] test tools::list_files::tests::test_list_files_not_found ... ok
[INFO] [stdout] test tools::edit_file::tests::test_vicinity_after_allows_far_edit_before_reconciliation ... ok
[INFO] [stdout] test tools::edit_file::tests::test_marker_positions_refresh_after_edit ... ok
[INFO] [stdout] test tools::list_files::tests::test_list_files_basic ... FAILED
[INFO] [stdout] test tools::list_files::tests::test_list_files_prints_glob_param ... FAILED
[INFO] [stdout] test tools::list_files::tests::test_list_files_rejects_absolute_path ... ok
[INFO] [stdout] test tools::list_files::tests::test_list_files_omits_binary_files ... FAILED
[INFO] [stdout] test tools::list_files::tests::test_list_files_rejects_path_traversal ... ok
[INFO] [stdout] test tools::list_files::tests::test_list_files_prints_tool_name_and_params ... FAILED
[INFO] [stdout] test tools::list_files::tests::test_list_files_respects_gitignore ... FAILED
[INFO] [stdout] test tools::read_file::tests::test_read_file_not_found ... ok
[INFO] [stdout] test tools::read_file::tests::test_read_file_forgets_ranges_when_file_changes ... FAILED
[INFO] [stdout] test tools::read_file::tests::test_read_file_full ... FAILED
[INFO] [stdout] test tools::read_file::tests::test_read_file_omits_known_lines_and_splits_unread_ranges ... FAILED
[INFO] [stdout] test tools::read_file::tests::test_read_file_prints_offset_and_limit_params ... FAILED
[INFO] [stdout] test tools::list_files::tests::test_list_files_with_glob ... FAILED
[INFO] [stdout] test tools::read_file::tests::test_read_file_prints_tool_name_and_params ... FAILED
[INFO] [stdout] test tools::read_file::tests::test_read_file_rejects_absolute_path ... ok
[INFO] [stdout] test tools::read_file::tests::test_read_file_rejects_binary_file ... FAILED
[INFO] [stdout] test tools::read_file::tests::test_unread_ranges_handles_multiple_known_gaps ... ok
[INFO] [stdout] test tools::recall::tests::parameters_document_every_flag ... ok
[INFO] [stdout] test tools::read_file::tests::test_read_file_slice ... FAILED
[INFO] [stdout] test tools::recall::tests::unset_flags_default_to_false_and_unknown_ids_report_back ... ok
[INFO] [stdout] test tools::write_file::tests::test_write_file_new ... FAILED
[INFO] [stdout] test tools::read_file::tests::test_read_file_rejects_path_traversal ... ok
[INFO] [stdout] test tools::write_file::tests::test_write_file_prints_tool_name_and_params ... FAILED
[INFO] [stdout] test tools::skill::tests::loads_skill_instructions_and_bundled_files ... ok
[INFO] [stdout] test tools::write_file::tests::test_write_file_rejects_absolute_path ... ok
[INFO] [stdout] test tools::write_file::tests::test_write_file_rejects_path_traversal ... ok
[INFO] [stdout] test tools::skill::tests::reports_available_skills_for_an_unknown_name ... ok
[INFO] [stdout] test tools::write_file::tests::test_write_file_rejects_existing ... FAILED
[INFO] [stdout] test tools::skill::tests::refuses_bundled_files_outside_the_skill_directory ... ok
[INFO] [stdout] test tools::dynamic_command::tests::executes_fixed_command_without_a_shell ... ok
[INFO] [stdout] test tools::dynamic_command::tests::returns_stdout_and_stderr_to_the_caller ... ok
[INFO] [stdout] test tools::edit_file::tests::an_agent_edit_does_not_look_like_a_user_edit ... ok
[INFO] [stdout] test watchdog::tests::a_deleted_file_counts_as_changed ... ok
[INFO] [stdout] test watchdog::tests::a_resynced_write_is_not_reported ... ok
[INFO] [stdout] test watchdog::tests::a_write_to_another_file_is_not_reported ... ok
[INFO] [stdout] test watchdog::tests::nothing_is_reported_when_no_file_is_watched ... ok
[INFO] [stdout] test watchdog::tests::reports_a_write_made_outside_rik ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tools::list_files::tests::test_list_files_basic stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::list_files::tests::test_list_files_basic::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: <rik::tools::list_files::tests::test_list_files_basic::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::list_files::tests::test_list_files_prints_glob_param stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::list_files::tests::test_list_files_prints_glob_param::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: <rik::tools::list_files::tests::test_list_files_prints_glob_param::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::list_files::tests::test_list_files_omits_binary_files stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::list_files::tests::test_list_files_omits_binary_files::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: <rik::tools::list_files::tests::test_list_files_omits_binary_files::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::list_files::tests::test_list_files_prints_tool_name_and_params stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::list_files::tests::test_list_files_prints_tool_name_and_params::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: <rik::tools::list_files::tests::test_list_files_prints_tool_name_and_params::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::list_files::tests::test_list_files_respects_gitignore stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::list_files::tests::test_list_files_respects_gitignore::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: <rik::tools::list_files::tests::test_list_files_respects_gitignore::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::read_file::tests::test_read_file_forgets_ranges_when_file_changes stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::read_file::tests::test_read_file_forgets_ranges_when_file_changes::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::read_file::tests::test_read_file_forgets_ranges_when_file_changes
[INFO] [stdout]    5: <rik::tools::read_file::tests::test_read_file_forgets_ranges_when_file_changes::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::read_file::tests::test_read_file_full stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::read_file::tests::test_read_file_full::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::read_file::tests::test_read_file_full
[INFO] [stdout]    5: <rik::tools::read_file::tests::test_read_file_full::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::read_file::tests::test_read_file_omits_known_lines_and_splits_unread_ranges stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::read_file::tests::test_read_file_omits_known_lines_and_splits_unread_ranges::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::read_file::tests::test_read_file_omits_known_lines_and_splits_unread_ranges
[INFO] [stdout]    5: <rik::tools::read_file::tests::test_read_file_omits_known_lines_and_splits_unread_ranges::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::read_file::tests::test_read_file_prints_offset_and_limit_params stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::read_file::tests::test_read_file_prints_offset_and_limit_params::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::read_file::tests::test_read_file_prints_offset_and_limit_params
[INFO] [stdout]    5: <rik::tools::read_file::tests::test_read_file_prints_offset_and_limit_params::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::list_files::tests::test_list_files_with_glob stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::list_files::tests::test_list_files_with_glob::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: <rik::tools::list_files::tests::test_list_files_with_glob::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    5: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    6: test::run_test::{closure#0}
[INFO] [stdout]    7: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    8: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]    9: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   10: <unknown>
[INFO] [stdout]   11: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::read_file::tests::test_read_file_prints_tool_name_and_params stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::read_file::tests::test_read_file_prints_tool_name_and_params::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::read_file::tests::test_read_file_prints_tool_name_and_params
[INFO] [stdout]    5: <rik::tools::read_file::tests::test_read_file_prints_tool_name_and_params::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::read_file::tests::test_read_file_rejects_binary_file stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::read_file::tests::test_read_file_rejects_binary_file::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::read_file::tests::test_read_file_rejects_binary_file
[INFO] [stdout]    5: <rik::tools::read_file::tests::test_read_file_rejects_binary_file::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::read_file::tests::test_read_file_slice stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::read_file::tests::test_read_file_slice::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::read_file::tests::test_read_file_slice
[INFO] [stdout]    5: <rik::tools::read_file::tests::test_read_file_slice::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::write_file::tests::test_write_file_new stdout ----
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<rik::tools::write_file::WriteFileError>>::from
[INFO] [stdout]    1: rik::tools::write_file::tests::test_write_file_new::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::write_file::tests::test_write_file_new
[INFO] [stdout]    5: <rik::tools::write_file::tests::test_write_file_new::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::write_file::tests::test_write_file_prints_tool_name_and_params stdout ----
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<rik::tools::write_file::WriteFileError>>::from
[INFO] [stdout]    1: rik::tools::write_file::tests::test_write_file_prints_tool_name_and_params::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::write_file::tests::test_write_file_prints_tool_name_and_params
[INFO] [stdout]    5: <rik::tools::write_file::tests::test_write_file_prints_tool_name_and_params::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] ---- tools::write_file::tests::test_write_file_rejects_existing stdout ----
[INFO] [stdout] Error: No such file or directory (os error 2)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: <anyhow::Error as core::convert::From<core::io::error::Error>>::from
[INFO] [stdout]    1: rik::tools::write_file::tests::test_write_file_rejects_existing::{closure#0}
[INFO] [stdout]    2: <tokio::runtime::context::scoped::Scoped<tokio::runtime::scheduler::Context>>::set::<<tokio::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio::runtime::scheduler::current_thread::CoreGuard>::block_on<core::pin::Pin<&mut core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>>::{closure#0}, core::option::Option<core::result::Result<(), anyhow::Error>>>::{closure#0}, (alloc::boxed::Box<tokio::runtime::scheduler::current_thread::Core>, core::option::Option<core::result::Result<(), anyhow::Error>>)>
[INFO] [stdout]    3: <tokio::runtime::runtime::Runtime>::block_on::<core::pin::Pin<&mut dyn core::future::future::Future<Output = core::result::Result<(), anyhow::Error>>>>
[INFO] [stdout]    4: rik::tools::write_file::tests::test_write_file_rejects_existing
[INFO] [stdout]    5: <rik::tools::write_file::tests::test_write_file_rejects_existing::{closure#0} as core::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]    6: test::__rust_begin_short_backtrace::<core::result::Result<(), alloc::string::String>, fn() -> core::result::Result<(), alloc::string::String>>
[INFO] [stdout]    7: test::run_test::{closure#0}
[INFO] [stdout]    8: std::sys::backtrace::__rust_begin_short_backtrace::<test::run_test::{closure#1}, ()>
[INFO] [stdout]    9: <std::thread::lifecycle::spawn_unchecked<test::run_test::{closure#1}, ()>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   10: <std::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   11: <unknown>
[INFO] [stdout]   12: clone
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tools::list_files::tests::test_list_files_basic
[INFO] [stdout]     tools::list_files::tests::test_list_files_omits_binary_files
[INFO] [stdout]     tools::list_files::tests::test_list_files_prints_glob_param
[INFO] [stdout]     tools::list_files::tests::test_list_files_prints_tool_name_and_params
[INFO] [stdout]     tools::list_files::tests::test_list_files_respects_gitignore
[INFO] [stdout]     tools::list_files::tests::test_list_files_with_glob
[INFO] [stdout]     tools::read_file::tests::test_read_file_forgets_ranges_when_file_changes
[INFO] [stdout]     tools::read_file::tests::test_read_file_full
[INFO] [stdout]     tools::read_file::tests::test_read_file_omits_known_lines_and_splits_unread_ranges
[INFO] [stdout]     tools::read_file::tests::test_read_file_prints_offset_and_limit_params
[INFO] [stdout]     tools::read_file::tests::test_read_file_prints_tool_name_and_params
[INFO] [stdout]     tools::read_file::tests::test_read_file_rejects_binary_file
[INFO] [stdout]     tools::read_file::tests::test_read_file_slice
[INFO] [stdout]     tools::write_file::tests::test_write_file_new
[INFO] [stdout]     tools::write_file::tests::test_write_file_prints_tool_name_and_params
[INFO] [stdout]     tools::write_file::tests::test_write_file_rejects_existing
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 204 passed; 16 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin rik`
[INFO] running `Command { std: "docker" "inspect" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8", kill_on_drop: false }`
[INFO] [stdout] d8b4ccc66addb21f8233410c9060e66b41d1c70df27db224dcd87354bb21fda8
