[INFO] cloning repository https://github.com/fdidron/fairu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fdidron/fairu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffdidron%2Ffairu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffdidron%2Ffairu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 502b5bab975037b369f20f504a0f015057066019
[INFO] testing fdidron/fairu against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffdidron%2Ffairu" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/fdidron/fairu
[INFO] finished tweaking git repo https://github.com/fdidron/fairu
[INFO] tweaked toml for git repo https://github.com/fdidron/fairu written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fdidron/fairu on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/fdidron/fairu already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pango-sys v0.22.0
[INFO] [stderr]   Downloaded pango v0.22.8
[INFO] [stderr]   Downloaded cfg-expr v0.20.8
[INFO] [stderr]   Downloaded graphene-sys v0.22.8
[INFO] [stderr]   Downloaded system-deps v7.0.8
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.22.0
[INFO] [stderr]   Downloaded cairo-sys-rs v0.22.0
[INFO] [stderr]   Downloaded gobject-sys v0.22.6
[INFO] [stderr]   Downloaded gsk4-sys v0.11.4
[INFO] [stderr]   Downloaded gtk4-macros v0.11.4
[INFO] [stderr]   Downloaded nucleo v0.5.0
[INFO] [stderr]   Downloaded graphene-rs v0.22.8
[INFO] [stderr]   Downloaded gsk4 v0.11.4
[INFO] [stderr]   Downloaded cairo-rs v0.22.0
[INFO] [stderr]   Downloaded glib-macros v0.22.6
[INFO] [stderr]   Downloaded glib-sys v0.22.8
[INFO] [stderr]   Downloaded gdk4-sys v0.11.4
[INFO] [stderr]   Downloaded gio-sys v0.22.8
[INFO] [stderr]   Downloaded gtk4-sys v0.11.4
[INFO] [stderr]   Downloaded gdk4 v0.11.4
[INFO] [stderr]   Downloaded gio v0.22.8
[INFO] [stderr]   Downloaded glib v0.22.8
[INFO] [stderr]   Downloaded gtk4 v0.11.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed
[INFO] running `Command { std: "docker" "start" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed", 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" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed", 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" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling futures-core v0.3.33
[INFO] [stderr]    Compiling futures-macro v0.3.33
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.33
[INFO] [stderr]    Compiling futures-channel v0.3.33
[INFO] [stderr]    Compiling glib-macros v0.22.6
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling futures-io v0.3.33
[INFO] [stderr]    Compiling cfg-expr v0.20.8
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-util v0.3.33
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling system-deps v7.0.8
[INFO] [stderr]    Compiling toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]    Compiling glib-sys v0.22.8
[INFO] [stderr]    Compiling gobject-sys v0.22.6
[INFO] [stderr]    Compiling gio-sys v0.22.8
[INFO] [stderr]    Compiling futures-executor v0.3.33
[INFO] [stderr]    Compiling pango-sys v0.22.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.22.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.22.0
[INFO] [stderr]    Compiling graphene-sys v0.22.8
[INFO] [stderr]    Compiling gdk4-sys v0.11.4
[INFO] [stderr]    Compiling gsk4-sys v0.11.4
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling gtk4-sys v0.11.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling nucleo-matcher v0.3.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling glib v0.22.8
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling globset v0.4.20
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling gtk4-macros v0.11.4
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling ignore v0.4.33
[INFO] [stderr]    Compiling trash v5.2.6
[INFO] [stderr]    Compiling nucleo v0.5.0
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling fairu-core v0.1.0 (/opt/rustwide/workdir/fairu-core)
[INFO] [stderr]    Compiling gio v0.22.8
[INFO] [stderr]    Compiling cairo-rs v0.22.0
[INFO] [stderr]    Compiling graphene-rs v0.22.8
[INFO] [stderr]    Compiling pango v0.22.8
[INFO] [stderr]    Compiling gdk-pixbuf v0.22.0
[INFO] [stderr]    Compiling gdk4 v0.11.4
[INFO] [stderr]    Compiling gsk4 v0.11.4
[INFO] [stderr]    Compiling gtk4 v0.11.4
[INFO] [stderr]    Compiling fairu-app v0.1.0 (/opt/rustwide/workdir/fairu-app)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 31s
[INFO] running `Command { std: "docker" "inspect" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed", 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" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling glib v0.22.8
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling fairu-core v0.1.0 (/opt/rustwide/workdir/fairu-core)
[INFO] [stderr]    Compiling gio v0.22.8
[INFO] [stderr]    Compiling cairo-rs v0.22.0
[INFO] [stderr]    Compiling graphene-rs v0.22.8
[INFO] [stderr]    Compiling gdk-pixbuf v0.22.0
[INFO] [stderr]    Compiling pango v0.22.8
[INFO] [stderr]    Compiling gdk4 v0.11.4
[INFO] [stderr]    Compiling gsk4 v0.11.4
[INFO] [stderr]    Compiling gtk4 v0.11.4
[INFO] [stderr]    Compiling fairu-app v0.1.0 (/opt/rustwide/workdir/fairu-app)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 47s
[INFO] running `Command { std: "docker" "inspect" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed", 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" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fairu-1a6947510205e052)
[INFO] [stdout] 
[INFO] [stdout] running 121 tests
[INFO] [stdout] test browser::tests::a_lone_row_is_entered_but_never_launched ... ok
[INFO] [stdout] test browser::tests::a_fully_typed_label_keeps_its_characters ... ok
[INFO] [stdout] test browser::tests::a_list_that_fits_is_visible_whole ... ok
[INFO] [stdout] test browser::tests::a_partly_scrolled_row_counts_once_it_is_half_there ... ok
[INFO] [stdout] test browser::tests::a_typed_label_opens_whatever_it_lands_on ... ok
[INFO] [stdout] test browser::tests::a_viewport_shorter_than_a_row_still_shows_one ... ok
[INFO] [stdout] test browser::tests::a_typed_prefix_is_coloured_apart_from_the_rest ... ok
[INFO] [stdout] test browser::tests::an_empty_or_unmeasured_list_answers_sensibly ... ok
[INFO] [stdout] test browser::tests::an_untyped_label_is_all_next_key ... ok
[INFO] [stdout] test browser::tests::dir_up_leaves_the_cursor_on_the_directory_left ... ok
[INFO] [stdout] test browser::tests::jump_never_opens_anything ... ok
[INFO] [stdout] test browser::tests::the_default_action_opens ... ok
[INFO] [stdout] test browser::tests::a_relative_root_does_not_walk_into_an_empty_path ... ok
[INFO] [stdout] test browser::tests::sizes_use_binary_units ... ok
[INFO] [stdout] test bulk::tests::a_non_zero_exit_is_a_cancel_whatever_the_buffer_says ... ok
[INFO] [stdout] test browser::tests::the_bottom_of_a_long_list_ends_on_the_last_row ... ok
[INFO] [stdout] test bulk::tests::an_edited_buffer_comes_back_whole ... ok
[INFO] [stdout] test bulk::tests::an_unreadable_buffer_is_a_failure ... ok
[INFO] [stdout] test bulk::tests::a_long_preview_counts_the_rest ... ok
[INFO] [stdout] test browser::tests::a_missing_mtime_renders_empty ... ok
[INFO] [stdout] test bulk::tests::an_untouched_buffer_is_a_cancel ... ok
[INFO] [stdout] test bulk::tests::the_preview_lists_the_renames_under_the_tally ... ok
[INFO] [stdout] test browser::tests::the_filesystem_root_has_no_parent ... ok
[INFO] [stdout] test bulk::tests::the_buffer_lands_in_a_file_of_its_own ... ok
[INFO] [stdout] test browser::tests::the_top_of_a_long_list_starts_at_the_first_row ... ok
[INFO] [stdout] test browser::tests::label_characters_are_escaped ... ok
[INFO] [stdout] test commands::tests::a_bulk_rename_only_takes_the_entries_of_this_directory ... ok
[INFO] [stdout] test commands::tests::a_copy_into_the_same_directory_is_kept ... ok
[INFO] [stdout] test commands::tests::a_move_into_the_same_directory_is_dropped ... ok
[INFO] [stdout] test commands::tests::a_delete_confirmation_names_what_goes ... ok
[INFO] [stdout] test dnd::tests::a_gnome_payload_carries_its_transfer ... ok
[INFO] [stdout] test commands::tests::a_long_delete_confirmation_counts_the_rest ... ok
[INFO] [stdout] test dnd::tests::a_keyboard_hand_off_falls_back_to_the_cursor ... ok
[INFO] [stdout] test dnd::tests::a_drag_from_a_marked_row_carries_both_sets ... ok
[INFO] [stdout] test dnd::tests::a_gnome_payload_without_its_word_falls_back_to_uris ... ok
[INFO] [stdout] test dnd::tests::file_operations_target_the_selection_and_the_collection_together ... ok
[INFO] [stdout] test dnd::tests::a_uri_list_is_always_a_copy ... ok
[INFO] [stdout] test dnd::tests::selection_and_collection_are_separate_sets ... ok
[INFO] [stdout] test dnd::tests::an_empty_payload_yields_nothing ... ok
[INFO] [stdout] test finder::tests::cwd_root_is_the_browser_directory ... ok
[INFO] [stdout] test finder::tests::git_root_falls_back_to_the_browser_directory ... ok
[INFO] [stdout] test finder::tests::a_git_file_marks_a_worktree_root ... ok
[INFO] [stdout] test finder::tests::colours_scale_to_pango_channels ... ok
[INFO] [stdout] test browser::tests::a_known_mtime_renders_as_a_timestamp ... ok
[INFO] [stdout] test finder::tests::home_root_falls_back_to_the_browser_directory ... ok
[INFO] [stdout] test finder::tests::home_root_is_the_home_directory ... ok
[INFO] [stdout] test finder::tests::matched_characters_become_byte_ranges ... ok
[INFO] [stdout] test help::tests::every_described_action_reads_as_a_sentence ... ok
[INFO] [stdout] test finder::tests::git_root_walks_up_to_the_repository ... ok
[INFO] [stdout] test finder::tests::out_of_range_indices_are_dropped ... ok
[INFO] [stdout] test help::tests::every_key_of_an_action_collapses_into_one_row ... ok
[INFO] [stdout] test finder::tests::multibyte_characters_shift_the_ranges ... ok
[INFO] [stdout] test help::tests::chords_and_modifiers_are_spelled_out ... ok
[INFO] [stdout] test help::tests::an_unbound_default_leaves_the_overlay ... ok
[INFO] [stdout] test help::tests::the_footer_lists_the_overlays_own_keys ... ok
[INFO] [stdout] test help::tests::rows_are_ordered_by_function ... ok
[INFO] [stdout] test finder::tests::the_collected_label_hides_at_zero ... ok
[INFO] [stdout] test help::tests::a_remapped_key_shows_up_remapped ... ok
[INFO] [stdout] test jobs::tests::a_clean_batch_reports_what_it_did ... ok
[INFO] [stdout] test jobs::tests::a_batch_that_did_nothing_still_says_something ... ok
[INFO] [stdout] test help::tests::sections_are_one_per_mode ... ok
[INFO] [stdout] test jobs::tests::a_finished_or_unstarted_operation_hides_it ... ok
[INFO] [stdout] test jobs::tests::a_label_overrides_the_operations_own_description ... ok
[INFO] [stdout] test jobs::tests::a_slow_operation_shows_it ... ok
[INFO] [stdout] test jobs::tests::a_quick_operation_never_shows_the_strip ... ok
[INFO] [stdout] test jobs::tests::several_failures_are_counted_rather_than_listed ... ok
[INFO] [stdout] test jobs::tests::an_unmeasured_operation_has_no_fraction ... ok
[INFO] [stdout] test jobs::tests::bytes_drive_the_bar_when_there_are_any ... ok
[INFO] [stdout] test jobs::tests::entries_drive_it_when_no_bytes_move ... ok
[INFO] [stdout] test jobs::tests::the_conflict_prompt_takes_the_strips_place ... ok
[INFO] [stdout] test jobs::tests::skips_cancels_and_failures_are_all_reported ... ok
[INFO] [stdout] test keys::tests::action_names_belong_to_their_mode ... ok
[INFO] [stdout] test jobs::tests::titles_count_their_files ... ok
[INFO] [stdout] test keys::tests::every_default_binding_names_a_known_action ... ok
[INFO] [stdout] test keys::tests::filter_mode_only_binds_escape_and_enter ... ok
[INFO] [stdout] test keys::tests::f_starts_sniping_out_of_the_box ... ok
[INFO] [stdout] test keys::tests::escape_clears_the_pending_chord_first ... ok
[INFO] [stdout] test keys::tests::a_binding_with_an_unknown_action_is_ignored ... ok
[INFO] [stdout] test keys::tests::a_dead_chord_falls_through_to_the_plain_binding ... ok
[INFO] [stdout] test keys::tests::chords_need_both_keys ... ok
[INFO] [stdout] test keys::tests::finder_mode_uses_the_finder_keymap ... ok
[INFO] [stdout] test keys::tests::hand_off_bindings_work_out_of_the_box ... ok
[INFO] [stdout] test keys::tests::hand_off_actions_are_remappable ... ok
[INFO] [stdout] test keys::tests::bare_modifier_presses_are_not_chords ... ok
[INFO] [stdout] test keys::tests::a_bare_modifier_leaves_the_chord_pending ... ok
[INFO] [stdout] test keys::tests::help_mode_scrolls_and_closes ... ok
[INFO] [stdout] test keys::tests::help_is_remappable_and_can_be_unbound ... ok
[INFO] [stdout] test keys::tests::modifiers_are_carried_over ... ok
[INFO] [stdout] test keys::tests::named_keys_map_to_their_config_names ... ok
[INFO] [stdout] test keys::tests::o_opens_a_terminal_and_is_remappable ... ok
[INFO] [stdout] test keys::tests::help_mode_swallows_everything_else ... ok
[INFO] [stdout] test keys::tests::printable_keys_become_characters ... ok
[INFO] [stdout] test keys::tests::question_mark_opens_the_help ... ok
[INFO] [stdout] test keys::tests::shift_stays_a_modifier_for_named_keys ... ok
[INFO] [stdout] test keys::tests::plan_bindings_work_out_of_the_box ... ok
[INFO] [stdout] test keys::tests::snipe_mode_gives_up_on_anything_that_is_not_a_label_key ... ok
[INFO] [stdout] test keys::tests::snipe_is_remappable_and_can_be_unbound ... ok
[INFO] [stdout] test keys::tests::shift_folds_into_the_character ... ok
[INFO] [stdout] test keys::tests::unknown_action_names_do_not_resolve ... ok
[INFO] [stdout] test keys::tests::the_arrow_layer_navigates_directories ... ok
[INFO] [stdout] test keys::tests::user_bindings_override_the_fallbacks ... ok
[INFO] [stdout] test keys::tests::unbound_keys_fall_through ... ok
[INFO] [stdout] test keys::tests::snipe_mode_reads_plain_characters_as_label_keys ... ok
[INFO] [stdout] test keys::tests::switching_mode_drops_a_pending_chord ... ok
[INFO] [stdout] test keys::tests::user_chords_are_honoured ... ok
[INFO] [stdout] test prompt::tests::a_plain_name_passes ... ok
[INFO] [stdout] test prompt::tests::a_taken_name_is_refused_by_name ... ok
[INFO] [stdout] test prompt::tests::surrounding_whitespace_is_dropped ... ok
[INFO] [stdout] test prompt::tests::a_name_without_an_extension_is_selected_whole ... ok
[INFO] [stdout] test prompt::tests::a_name_stays_inside_its_directory ... ok
[INFO] [stdout] test prompt::tests::an_empty_name_is_refused ... ok
[INFO] [stdout] test prompt::tests::the_directory_entries_are_not_names ... ok
[INFO] [stdout] test tests::cwd_accepts_both_spellings ... ok
[INFO] [stdout] test tests::missing_value_is_an_error ... ok
[INFO] [stdout] test prompt::tests::the_prompt_selects_the_stem_of_a_name ... ok
[INFO] [stdout] test prompt::tests::the_selection_counts_characters_not_bytes ... ok
[INFO] [stdout] test ui::tests::extensions_are_lowercased ... ok
[INFO] [stdout] test tests::no_arguments_falls_back_to_the_process_cwd ... ok
[INFO] [stdout] test tests::unknown_argument_is_an_error ... ok
[INFO] [stdout] test ui::tests::dotfiles_and_bare_names_have_no_extension ... ok
[INFO] [stdout] test tests::nonexistent_path_is_an_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 121 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fairu_core-9ae1a0e82812e889)
[INFO] [stdout] 
[INFO] [stdout] running 251 tests
[INFO] [stdout] test bulk_rename::tests::a_configured_editor_wins_and_keeps_its_arguments ... ok
[INFO] [stdout] test bulk_rename::tests::a_name_with_a_nul_byte_is_refused ... ok
[INFO] [stdout] test bulk_rename::tests::a_non_utf8_buffer_path_is_a_descriptive_error ... ok
[INFO] [stdout] test bulk_rename::tests::a_name_with_a_separator_is_refused ... ok
[INFO] [stdout] test bulk_rename::tests::a_non_utf8_selection_is_refused_rather_than_mangled ... ok
[INFO] [stdout] test bulk_rename::tests::a_removed_line_is_refused_and_never_read_as_a_delete ... ok
[INFO] [stdout] test bulk_rename::tests::a_non_utf8_neighbour_in_the_directory_is_ignored ... ok
[INFO] [stdout] test bulk_rename::tests::a_chain_runs_from_its_free_end ... ok
[INFO] [stdout] test bulk_rename::tests::a_buffer_without_a_trailing_newline_is_accepted ... ok
[INFO] [stdout] test bulk_rename::tests::a_chain_that_looks_like_a_cycle_until_its_last_link ... ok
[INFO] [stdout] test bulk_rename::tests::a_long_chain_is_fully_ordered ... ok
[INFO] [stdout] test bulk_rename::tests::a_target_taken_by_a_selected_entry_is_fine ... ok
[INFO] [stdout] test bulk_rename::tests::a_target_taken_by_an_unselected_entry_is_refused ... ok
[INFO] [stdout] test bulk_rename::tests::a_temporary_name_avoids_what_the_directory_already_holds ... ok
[INFO] [stdout] test bulk_rename::tests::a_cycle_is_entered_at_the_same_place_whatever_the_selection_order ... ok
[INFO] [stdout] test bulk_rename::tests::a_temporary_name_avoids_a_name_the_buffer_asks_for ... ok
[INFO] [stdout] test bulk_rename::tests::a_swap_goes_through_a_temporary_name ... ok
[INFO] [stdout] test bulk_rename::tests::a_three_cycle_is_broken_once ... ok
[INFO] [stdout] test bulk_rename::tests::a_terminal_editor_is_wrapped_in_the_terminal ... ok
[INFO] [stdout] test bulk_rename::tests::a_windowed_editor_is_recognised_behind_a_path ... ok
[INFO] [stdout] test bulk_rename::tests::a_cycle_and_a_chain_in_one_buffer ... ok
[INFO] [stdout] test bulk_rename::tests::a_windowed_editor_needs_no_terminal ... ok
[INFO] [stdout] test bulk_rename::tests::an_added_line_is_refused_too ... ok
[INFO] [stdout] test bulk_rename::tests::an_uninstalled_visual_falls_through_to_editor ... ok
[INFO] [stdout] test bulk_rename::tests::an_empty_or_blank_name_is_refused ... ok
[INFO] [stdout] test bulk_rename::tests::an_empty_selection_makes_an_empty_buffer ... ok
[INFO] [stdout] test bulk_rename::tests::an_entry_selected_twice_is_refused ... ok
[INFO] [stdout] test bulk_rename::tests::crlf_line_endings_are_accepted ... ok
[INFO] [stdout] test bulk_rename::tests::an_uninstalled_editor_variable_still_falls_through_to_the_probe_list ... ok
[INFO] [stdout] test bulk_rename::tests::independent_renames_keep_their_selection_order ... ok
[INFO] [stdout] test bulk_rename::tests::emulators_that_take_a_bare_command_get_no_exec_flag ... ok
[INFO] [stdout] test bulk_rename::tests::no_editor_is_a_descriptive_error ... ok
[INFO] [stdout] test bulk_rename::tests::keeping_a_name_another_line_takes_is_a_duplicate ... ok
[INFO] [stdout] test bulk_rename::tests::a_windowed_editor_that_already_waits_is_not_told_twice ... ok
[INFO] [stdout] test bulk_rename::tests::the_buffer_is_one_name_per_line_and_nothing_else ... ok
[INFO] [stdout] test bulk_rename::tests::the_buffer_round_trips_through_an_untouched_edit ... ok
[INFO] [stdout] test bulk_rename::tests::the_dot_names_are_refused ... ok
[INFO] [stdout] test bulk_rename::tests::no_terminal_for_a_terminal_editor_is_a_descriptive_error ... ok
[INFO] [stdout] test bulk_rename::tests::nothing_installed_resolves_to_nothing ... ok
[INFO] [stdout] test bulk_rename::tests::the_inverse_keeps_the_counts ... ok
[INFO] [stdout] test bulk_rename::tests::the_probe_list_runs_when_neither_variable_is_set ... ok
[INFO] [stdout] test bulk_rename::tests::the_terminals_own_arguments_come_before_the_command ... ok
[INFO] [stdout] test bulk_rename::tests::two_independent_cycles_each_get_their_own_temporary ... ok
[INFO] [stdout] test bulk_rename::tests::two_lines_asking_for_the_same_name_are_refused ... ok
[INFO] [stdout] test bulk_rename::tests::unchanged_lines_are_no_ops_not_errors ... ok
[INFO] [stdout] test bulk_rename::tests::visual_beats_editor ... ok
[INFO] [stdout] test bulk_rename::tests::whitespace_inside_a_name_is_kept_verbatim ... ok
[INFO] [stdout] test bulk_rename::tests::reversing_the_steps_without_swapping_their_ends_is_not_an_undo ... ok
[INFO] [stdout] test bulk_rename::tests::the_inverse_of_a_chain_undoes_it ... ok
[INFO] [stdout] test config::tests::a_snipe_alphabet_needs_two_distinct_printable_keys ... ok
[INFO] [stdout] test config::tests::a_snipe_error_names_the_section ... ok
[INFO] [stdout] test config::tests::a_snipe_alphabet_overrides_the_default ... ok
[INFO] [stdout] test config::tests::a_non_string_terminal_is_an_error ... ok
[INFO] [stdout] test config::tests::a_completed_label_opens_its_row_unless_the_config_says_otherwise ... ok
[INFO] [stdout] test config::tests::a_terminal_command_line_is_kept_whole ... ok
[INFO] [stdout] test config::tests::an_unknown_snipe_action_is_rejected ... ok
[INFO] [stdout] test config::tests::config_path_needs_a_home ... ok
[INFO] [stdout] test config::tests::an_editor_command_line_is_kept_whole ... ok
[INFO] [stdout] test config::tests::defaults_match_the_plan ... ok
[INFO] [stdout] test config::tests::empty_text_yields_defaults ... ok
[INFO] [stdout] test config::tests::enum_spellings_parse ... ok
[INFO] [stdout] test config::tests::invalid_enum_value_is_an_error ... ok
[INFO] [stdout] test config::tests::invalid_toml_is_an_error ... ok
[INFO] [stdout] test config::tests::key_parse_errors_are_descriptive ... ok
[INFO] [stdout] test config::tests::absent_file_yields_defaults ... ok
[INFO] [stdout] test config::tests::key_strings_round_trip_through_display ... ok
[INFO] [stdout] test config::tests::loads_from_explicit_path ... ok
[INFO] [stdout] test config::tests::parse_errors_name_the_file ... ok
[INFO] [stdout] test config::tests::parses_chord_sequences ... ok
[INFO] [stdout] test config::tests::parses_modifiers ... ok
[INFO] [stdout] test config::tests::parses_named_and_function_keys ... ok
[INFO] [stdout] test config::tests::parses_plain_characters ... ok
[INFO] [stdout] test config::tests::partial_file_overrides_only_named_fields ... ok
[INFO] [stdout] test config::tests::plus_is_usable_as_a_key ... ok
[INFO] [stdout] test config::tests::prefix_lookup_finds_pending_chords ... ok
[INFO] [stdout] test config::tests::shift_stays_a_modifier_for_named_keys ... ok
[INFO] [stdout] test config::tests::unknown_field_is_an_error ... ok
[INFO] [stdout] test config::tests::aliased_key_spellings_hit_the_same_binding ... ok
[INFO] [stdout] test bulk_rename::tests::a_step_resolves_inside_its_directory ... ok
[INFO] [stdout] test config::tests::keymap_entries_merge_over_defaults ... ok
[INFO] [stdout] test config::tests::config_path_falls_back_to_home ... ok
[INFO] [stdout] test config::tests::invalid_key_string_names_the_mode_and_key ... ok
[INFO] [stdout] test config::tests::config_path_prefers_xdg_config_home ... ok
[INFO] [stdout] test config::tests::unknown_mode_tables_are_kept ... ok
[INFO] [stdout] test handoff::tests::a_keyboard_hand_off_falls_back_to_the_cursor ... ok
[INFO] [stdout] test config::tests::wrong_value_type_is_an_error ... ok
[INFO] [stdout] test handoff::tests::a_free_name_is_used_as_is ... ok
[INFO] [stdout] test handoff::tests::a_keyboard_hand_off_prefers_the_marked_sets ... ok
[INFO] [stdout] test handoff::tests::dragging_with_nothing_marked_carries_the_pressed_row ... ok
[INFO] [stdout] test handoff::tests::a_foreign_first_line_is_not_a_gnome_payload ... ok
[INFO] [stdout] test handoff::tests::gnome_payloads_lead_with_the_transfer_word ... ok
[INFO] [stdout] test handoff::tests::a_taken_name_grows_a_copy_suffix ... ok
[INFO] [stdout] test handoff::tests::dotfiles_keep_their_leading_dot ... ok
[INFO] [stdout] test handoff::tests::only_the_last_extension_moves ... ok
[INFO] [stdout] test handoff::tests::other_schemes_and_empty_uris_are_rejected ... ok
[INFO] [stdout] test handoff::tests::a_path_in_both_sets_is_carried_once ... ok
[INFO] [stdout] test handoff::tests::path_text_joins_with_newlines ... ok
[INFO] [stdout] test handoff::tests::plain_paths_need_no_escaping ... ok
[INFO] [stdout] test handoff::tests::a_broken_escape_is_kept_verbatim ... ok
[INFO] [stdout] test handoff::tests::gnome_payloads_round_trip ... ok
[INFO] [stdout] test handoff::tests::a_trailing_newline_does_not_add_a_path ... ok
[INFO] [stdout] test handoff::tests::foreign_uri_spellings_are_accepted ... ok
[INFO] [stdout] test handoff::tests::pressing_a_collected_row_drags_the_whole_union ... ok
[INFO] [stdout] test handoff::tests::non_utf8_names_survive_the_trip ... ok
[INFO] [stdout] test handoff::tests::repeated_conflicts_are_numbered ... ok
[INFO] [stdout] test handoff::tests::unsafe_bytes_are_percent_encoded ... ok
[INFO] [stdout] test handoff::tests::uri_lists_skip_comments_and_blank_lines ... ok
[INFO] [stdout] test handoff::tests::uri_lists_tolerate_bare_newlines ... ok
[INFO] [stdout] test handoff::tests::uri_lists_round_trip ... ok
[INFO] [stdout] test handoff::tests::uris_round_trip_through_paths ... ok
[INFO] [stdout] test model::tests::entries_expose_hidden_and_extension ... ok
[INFO] [stdout] test model::tests::filter_matches_anywhere_in_the_name ... ok
[INFO] [stdout] test model::tests::empty_query_matches_everything ... ok
[INFO] [stdout] test model::tests::leading_zeros_do_not_change_numeric_order ... ok
[INFO] [stdout] test model::tests::lowercase_query_ignores_case ... ok
[INFO] [stdout] test handoff::tests::uri_lists_are_crlf_terminated ... ok
[INFO] [stdout] test model::tests::query_with_uppercase_is_case_sensitive ... ok
[INFO] [stdout] test model::tests::directories_sort_above_files ... ok
[INFO] [stdout] test handoff::tests::pressing_a_selected_row_drags_the_whole_union ... ok
[INFO] [stdout] test handoff::tests::pressing_an_unmarked_row_drags_that_row_alone ... ok
[INFO] [stdout] test model::tests::name_order_is_case_insensitive_and_natural ... ok
[INFO] [stdout] test model::tests::mtime_sorts_newest_first ... ok
[INFO] [stdout] test model::tests::size_sorts_largest_first ... ok
[INFO] [stdout] test ops::conflict::tests::a_resolution_becomes_a_policy ... ok
[INFO] [stdout] test ops::conflict::tests::answers_carry_the_apply_to_all_flag ... ok
[INFO] [stdout] test ops::conflict::tests::entry_info_describes_directories ... ok
[INFO] [stdout] test ops::conflict::tests::policies_map_to_resolutions ... ok
[INFO] [stdout] test ops::engine::tests::a_fresh_copy_preserves_permissions_and_mtime ... ok
[INFO] [stdout] test ops::engine::tests::a_move_within_one_filesystem_is_a_rename ... ok
[INFO] [stdout] test ops::engine::tests::exdev_is_recognised_as_a_cross_device_error ... ok
[INFO] [stdout] test model::tests::sort_key_cycles_back_to_name ... ok
[INFO] [stdout] test model::tests::dirs_first_can_be_disabled ... ok
[INFO] [stdout] test ops::engine::tests::a_same_device_move_renames_and_moves_no_bytes ... ok
[INFO] [stdout] test ops::engine::tests::moving_back_renames_within_a_filesystem ... ok
[INFO] [stdout] test ops::engine::tests::scratch_names_do_not_collide ... ok
[INFO] [stdout] test ops::tests::a_clean_outcome_has_no_errors_and_no_cancel ... ok
[INFO] [stdout] test model::tests::type_sorts_by_extension_then_name ... ok
[INFO] [stdout] test ops::engine::tests::a_cross_device_move_copies_the_tree_then_deletes_the_source ... ok
[INFO] [stdout] test ops::conflict::tests::entry_info_reads_without_following_symlinks ... ok
[INFO] [stdout] test ops::tests::a_missing_source_fails_without_stopping_the_job ... ok
[INFO] [stdout] test ops::engine::tests::scratch_files_are_removed_unless_kept ... ok
[INFO] [stdout] test ops::tests::a_destination_that_is_not_a_directory_fails_the_job ... ok
[INFO] [stdout] test ops::tests::a_finished_job_yields_its_outcome_once ... ok
[INFO] [stdout] test ops::engine::tests::removing_a_tree_takes_everything_but_never_follows_a_link ... ok
[INFO] [stdout] test ops::tests::a_same_filesystem_move_skips_the_byte_scan ... ok
[INFO] [stdout] test ops::tests::a_symlinked_directory_is_copied_as_a_link_not_descended_into ... ok
[INFO] [stdout] test ops::tests::a_directory_cannot_be_copied_into_itself ... ok
[INFO] [stdout] test ops::tests::cancelling_twice_and_dropping_are_both_fine ... ok
[INFO] [stdout] test ops::tests::a_rename_refuses_a_path_as_a_name ... ok
[INFO] [stdout] test ops::tests::constructors_match_the_variants ... ok
[INFO] [stdout] test ops::tests::a_skip_inside_a_merge_keeps_the_old_file ... ok
[INFO] [stdout] test ops::tests::apply_to_all_stops_the_asking ... ok
[INFO] [stdout] test ops::tests::a_notify_callback_wakes_the_caller ... ok
[INFO] [stdout] test ops::tests::cancelling_while_a_question_waits_stops_the_job ... ok
[INFO] [stdout] test ops::tests::copying_counts_every_nested_entry_in_the_totals ... ok
[INFO] [stdout] test ops::tests::copying_a_file_reports_items_and_bytes ... ok
[INFO] [stdout] test ops::tests::copying_several_sources_describes_the_count ... ok
[INFO] [stdout] test ops::tests::copying_a_directory_onto_one_merges_it ... ok
[INFO] [stdout] test ops::tests::copying_a_directory_recurses ... ok
[INFO] [stdout] test ops::tests::descriptions_name_a_single_entry_and_count_the_rest ... ok
[INFO] [stdout] test ops::tests::making_a_directory_creates_every_level_and_undoes_them ... ok
[INFO] [stdout] test ops::tests::making_a_directory_that_exists_fails ... ok
[INFO] [stdout] test ops::tests::deleting_is_recursive_and_never_undoable ... ok
[INFO] [stdout] test ops::tests::moving_a_directory_takes_the_whole_tree ... ok
[INFO] [stdout] test ops::tests::moving_removes_the_source ... ok
[INFO] [stdout] test ops::tests::overwriting_replaces_a_symlink_instead_of_writing_through_it ... ok
[INFO] [stdout] test ops::tests::operations_report_their_targets_and_kind ... ok
[INFO] [stdout] test ops::tests::renaming_moves_within_the_directory_and_undoes ... ok
[INFO] [stdout] test ops::tests::moving_onto_an_existing_file_follows_the_policy ... ok
[INFO] [stdout] test ops::tests::overwriting_a_file_with_itself_is_refused ... ok
[INFO] [stdout] test ops::tests::renaming_onto_an_existing_name_follows_the_policy ... ok
[INFO] [stdout] test ops::tests::the_auto_rename_policy_uses_a_free_name ... ok
[INFO] [stdout] test ops::tests::the_overwrite_policy_replaces_the_destination ... ok
[INFO] [stdout] test ops::tests::several_operations_undo_in_reverse_order ... ok
[INFO] [stdout] test ops::tests::the_skip_policy_leaves_the_destination_alone ... ok
[INFO] [stdout] test ops::tests::undoing_a_copy_that_replaced_something_is_refused ... ok
[INFO] [stdout] test ops::tests::undoing_a_move_puts_the_entries_back ... ok
[INFO] [stdout] test ops::tests::undoing_a_move_reports_a_destination_that_came_back ... ok
[INFO] [stdout] test ops::tests::trashing_removes_entries_and_can_be_undone ... ok
[INFO] [stdout] test ops::trash::tests::original_paths_are_absolute_with_a_resolved_parent ... ok
[INFO] [stdout] test ops::tests::undoing_a_copy_removes_the_copies ... ok
[INFO] [stdout] test ops::trash::tests::the_xdg_backend_round_trips_an_entry ... ignored, writes to the user's XDG trash
[INFO] [stdout] test ops::tests::the_ask_policy_asks_once_per_conflict ... ok
[INFO] [stdout] test ops::trash::tests::the_test_backend_round_trips_an_entry ... ok
[INFO] [stdout] test ops::undo::tests::a_failing_restore_surfaces_the_trash_error ... ok
[INFO] [stdout] test ops::undo::tests::a_trash_step_restores_through_the_backend ... ok
[INFO] [stdout] test ops::trash::tests::restoring_onto_an_occupied_path_fails ... ok
[INFO] [stdout] test ops::tests::creating_a_file_that_exists_fails ... ok
[INFO] [stdout] test ops::tests::creating_a_file_leaves_an_empty_file_and_undoes_it ... ok
[INFO] [stdout] test ops::undo::tests::a_blocked_entry_reports_why_and_leaves_the_stack ... ok
[INFO] [stdout] test ops::undo::tests::a_tree_snapshot_removes_the_whole_copy ... ok
[INFO] [stdout] test ops::undo::tests::an_empty_stack_has_nothing_to_undo ... ok
[INFO] [stdout] test ops::undo::tests::moving_back_onto_an_occupied_path_fails ... ok
[INFO] [stdout] test ops::undo::tests::an_entry_without_steps_is_not_undoable ... ok
[INFO] [stdout] test ops::undo::tests::entries_undo_newest_first ... ok
[INFO] [stdout] test ops::undo::tests::removing_a_directory_that_gained_a_file_is_refused ... ok
[INFO] [stdout] test ops::undo::tests::removing_a_file_that_is_already_gone_succeeds ... ok
[INFO] [stdout] test ops::undo::tests::the_limit_drops_the_oldest_entries ... ok
[INFO] [stdout] test ops::undo::tests::removing_a_changed_file_is_refused ... ok
[INFO] [stdout] test ops::tests::cancelling_mid_copy_leaves_no_partial_file ... ok
[INFO] [stdout] test search::tests::file_root_is_an_error ... ok
[INFO] [stdout] test search::tests::defaults_include_hidden_and_ignored_paths ... ok
[INFO] [stdout] test search::tests::exact_match_outranks_scattered_match ... ok
[INFO] [stdout] test search::tests::options_come_from_the_finder_config ... ok
[INFO] [stdout] test search::tests::missing_root_is_an_error ... ok
[INFO] [stdout] test search::tests::dropping_a_session_stops_the_walk ... ok
[INFO] [stdout] test search::tests::cancel_stops_the_walk_and_is_idempotent ... ok
[INFO] [stdout] test search::tests::hidden_files_can_be_excluded ... ok
[INFO] [stdout] test search::tests::ignored_files_can_be_excluded ... ok
[INFO] [stdout] test search::tests::query_update_does_not_restart_the_walk ... ok
[INFO] [stdout] test search::tests::max_results_is_respected ... ok
[INFO] [stdout] test snipe::tests::a_cursor_off_the_visible_range_still_orders_by_distance ... ok
[INFO] [stdout] test snipe::tests::a_short_list_gets_one_character_labels ... ok
[INFO] [stdout] test snipe::tests::a_dead_end_after_a_narrow_matches_nothing ... ok
[INFO] [stdout] test search::tests::symlink_cycles_do_not_hang ... ok
[INFO] [stdout] test snipe::tests::a_single_character_label_jumps_at_once ... ok
[INFO] [stdout] test search::tests::query_update_narrows_results ... ok
[INFO] [stdout] test search::tests::sessions_can_be_held_as_trait_objects ... ok
[INFO] [stdout] test snipe::tests::an_unusable_alphabet_labels_nothing ... ok
[INFO] [stdout] test snipe::tests::duplicate_rows_are_labelled_once ... ok
[INFO] [stdout] test snipe::tests::an_unknown_character_matches_nothing ... ok
[INFO] [stdout] test search::tests::symlinked_directories_are_skipped_unless_followed ... ok
[INFO] [stdout] test snipe::tests::a_two_character_label_narrows_then_jumps ... ok
[INFO] [stdout] test snipe::tests::a_two_key_alphabet_still_labels_a_long_list ... ok
[INFO] [stdout] test snipe::tests::labels_stay_as_short_as_the_alphabet_allows ... ok
[INFO] [stdout] test snipe::tests::an_empty_session_matches_nothing ... ok
[INFO] [stdout] test snipe::tests::one_more_target_than_keys_expands_a_single_key ... ok
[INFO] [stdout] test snipe::tests::ordering_does_not_depend_on_input_order ... ok
[INFO] [stdout] test snipe::tests::the_cursor_row_is_labelled_first ... ok
[INFO] [stdout] test snipe::tests::labels_only_use_the_alphabet ... ok
[INFO] [stdout] test search::tests::results_carry_match_indices ... ok
[INFO] [stdout] test snipe::tests::typing_a_whole_label_reaches_every_row ... ok
[INFO] [stdout] test terminal::tests::a_command_line_splits_on_whitespace ... ok
[INFO] [stdout] test terminal::tests::a_configured_command_is_not_looked_up_on_path ... ok
[INFO] [stdout] test terminal::tests::a_term_naming_no_binary_falls_through_to_the_probe_list ... ok
[INFO] [stdout] test terminal::tests::an_explicit_path_needs_an_execute_bit ... ok
[INFO] [stdout] test terminal::tests::an_uninstalled_terminal_env_falls_through ... ok
[INFO] [stdout] test terminal::tests::blank_settings_count_as_unset ... ok
[INFO] [stdout] test terminal::tests::nothing_installed_resolves_to_nothing ... ok
[INFO] [stdout] test terminal::tests::term_names_the_emulator_after_the_xterm_prefix ... ok
[INFO] [stdout] test terminal::tests::terminal_env_is_used_when_it_names_an_installed_binary ... ok
[INFO] [stdout] test terminal::tests::the_config_entry_wins_and_keeps_its_arguments ... ok
[INFO] [stdout] test terminal::tests::the_probe_list_is_walked_in_order ... ok
[INFO] [stdout] test tests::version_is_not_empty ... ok
[INFO] [stdout] test snipe::tests::generation_is_deterministic ... ok
[INFO] [stdout] test snipe::tests::narrowing_only_ever_shrinks_the_candidate_set ... ok
[INFO] [stdout] test snipe::tests::nearer_targets_never_get_a_longer_label ... ok
[INFO] [stdout] test terminal::tests::a_bare_name_is_looked_up_in_path ... ok
[INFO] [stdout] test snipe::tests::there_is_exactly_one_label_per_target ... ok
[INFO] [stdout] test bulk_rename::tests::applying_a_plan_and_then_its_inverse_returns_the_directory ... ok
[INFO] [stdout] test snipe::tests::labels_are_prefix_free ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 250 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 5.24s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests fairu_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed", kill_on_drop: false }`
[INFO] [stdout] 17733373f501cd415ee01af60bef9b7a936910ac510b153e67d2438457fb39ed
