[INFO] fetching crate alf_tui 0.5.0...
[INFO] testing alf_tui-0.5.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate alf_tui 0.5.0 into /workspace/builds/worker-1-tc2/source
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate alf_tui 0.5.0
[INFO] finished tweaking crates.io crate alf_tui 0.5.0
[INFO] tweaked toml for crates.io crate alf_tui 0.5.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate alf_tui 0.5.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate alf_tui 0.5.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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4
[INFO] running `Command { std: "docker" "start" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4", 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" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4", 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" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling find-msvc-tools v0.1.12
[INFO] [stderr]    Compiling bitflags v2.13.2
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling cc v1.4.5
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling smallvec v1.16.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling instability v0.3.13
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling quick-xml v0.42.0
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling jiff-core v0.1.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling compact_str v0.8.2
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling jiff v0.2.35
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling fs4 v0.8.4
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling nucleo-matcher v0.3.1
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling darling_macro v0.24.1
[INFO] [stderr]    Compiling darling v0.24.1
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling ratatui v0.28.1
[INFO] [stderr]    Compiling env_filter v2.0.0
[INFO] [stderr]    Compiling env_logger v0.11.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling plist v1.10.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling onig v6.5.3
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling alf_tui v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 53s
[INFO] running `Command { std: "docker" "inspect" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4", 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" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling vte v0.14.1
[INFO] [stderr]    Compiling husky-rs v0.2.2
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling console v0.16.6
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling strip-ansi-escapes v0.2.1
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling insta v1.48.0
[INFO] [stderr]    Compiling alf_tui v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4", 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" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.28s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/alf_tui/992d6427f1075d00/out/alf-992d6427f1075d00)
[INFO] [stdout] 
[INFO] [stdout] running 337 tests
[INFO] [stdout] test cli::cli_tests::test_config_rejects_an_unknown_action ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_bails_before_validating_paths_when_no_config_exists ... ok
[INFO] [stdout] test cli::cli_tests::test_config_add_accepts_one_or_more_paths ... ok
[INFO] [stdout] test cli::cli_tests::test_config_add_requires_at_least_one_path ... ok
[INFO] [stdout] test cli::cli_tests::test_config_requires_an_action ... ok
[INFO] [stdout] test cli::cli_tests::test_config_actions_parse_to_their_variants ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_does_not_write_when_every_path_is_a_duplicate ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_appends_to_the_existing_list ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_bails_when_no_config_exists ... ok
[INFO] [stdout] test cli::cli_tests::test_config_add_preserves_path_order_and_repeats ... ok
[INFO] [stdout] test cli::cli_tests::test_cli_definition_is_internally_consistent ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_does_not_write_when_a_path_is_a_directory ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_persists_the_added_path ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_leaves_the_config_untouched_when_a_path_is_relative ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_detects_duplicates_across_path_forms ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_persists_only_the_new_paths_when_some_are_duplicates ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_errors_before_adding_when_the_list_is_mixed ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_errors_when_a_path_is_a_directory ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_errors_when_a_path_is_missing ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_persists_the_raw_path_form ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_leaves_the_config_untouched_when_a_path_is_missing ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_releases_the_lock_after_an_all_duplicate_add ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_rejects_a_relative_path_that_exists ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_releases_the_lock_after_a_failed_add ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_accepts_a_symlink_to_a_regular_file ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_detects_a_symlink_and_its_target_as_one_file ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_adds_a_single_existing_file ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_adds_multiple_existing_files ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_treats_a_dot_dot_segment_as_the_same_file ... ok
[INFO] [stdout] test cli::init::init_tests::test_detect_shell_files_finds_fish_config ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_dedupes_repeats_within_one_invocation ... ok
[INFO] [stdout] test cli::init::init_tests::test_detect_shell_files_ignores_nonstandard_files ... ok
[INFO] [stdout] test cli::init::init_tests::test_detect_shell_files_finds_zshrc ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_persists_multiple_paths_in_one_invocation ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_rejects_a_relative_path_mixed_with_valid_paths ... ok
[INFO] [stdout] test cli::init::init_tests::test_print_shell_hook_supported_shells_return_ok ... ok
[INFO] [stdout] test cli::init::init_tests::test_print_shell_hook_unsupported_shell_returns_err ... ok
[INFO] [stdout] test cli::init::init_tests::test_detect_shell_files_returns_empty_on_an_empty_dir ... ok
[INFO] [stdout] test config::config_tests::test_config_default_alias_expansion_is_name ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_preserves_the_raw_path_form ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_reports_the_config_path_when_no_config_exists ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_reports_relativeness_before_missing_files ... ok
[INFO] [stdout] test config::config_tests::test_config_default_case_matching_is_smart ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_add_source_files_releases_the_lock_after_a_successful_add ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_tolerates_a_stale_configured_entry ... ok
[INFO] [stdout] test cli::init::init_tests::test_detect_shell_files_finds_bashrc ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_rejects_relative_paths ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_reports_the_expanded_path_when_missing ... ok
[INFO] [stdout] test cli::init::init_tests::test_detect_shell_files_finds_multiple_standard_files ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_dedupes_a_symlink_and_its_target_in_one_invocation ... ok
[INFO] [stdout] test config::config_tests::test_config_default_enable_regex_is_true ... ok
[INFO] [stdout] test config::config_tests::test_config_default_keybind_mode ... ok
[INFO] [stdout] test config::config_tests::test_config_default_parse_comments ... ok
[INFO] [stdout] test config::config_tests::test_config_default_show_type_badges ... ok
[INFO] [stdout] test config::config_tests::test_config_default_normalize_is_true ... ok
[INFO] [stdout] test config::config_tests::test_config_default_substring_matching_is_true ... ok
[INFO] [stdout] test config::config_tests::test_config_default_shell_files_empty ... ok
[INFO] [stdout] test config::config_tests::test_config_default_syntax_highlighting ... ok
[INFO] [stdout] test config::config_tests::test_config_default_theme ... ok
[INFO] [stdout] test config::config_tests::test_config_parse_valid_toml_with_custom_values ... ok
[INFO] [stdout] test config::config_tests::test_get_config_path_ends_with_config_toml ... ok
[INFO] [stdout] test config::config_tests::test_config_parse_invalid_toml_returns_error ... ok
[INFO] [stdout] test config::config_tests::test_get_config_path_contains_alf_segment ... ok
[INFO] [stdout] test config::config_tests::test_config_parse_toml_with_alias_expansion_script ... ok
[INFO] [stdout] test config::config_tests::test_get_config_path_errors_when_no_home_can_be_resolved ... ok
[INFO] [stdout] test config::config_tests::test_config_lock_can_be_reacquired_after_each_release ... ok
[INFO] [stdout] test config::config_tests::test_save_and_load_config_roundtrip ... ok
[INFO] [stdout] test config::config_tests::test_load_config_fails_when_missing ... ok
[INFO] [stdout] test config::config_tests::test_expand_path_uses_the_same_home_as_the_config_path ... ok
[INFO] [stdout] test config::config_tests::test_config_lock_is_created_before_any_config_exists ... ok
[INFO] [stdout] test config::config_tests::test_expand_path_resolves_home_prefixes ... ok
[INFO] [stdout] test config::config_tests::test_get_config_path_falls_back_to_userprofile_when_home_is_empty ... ok
[INFO] [stdout] test parser::parser_tests::test_alias_extraction_with_quotes ... ok
[INFO] [stdout] test parser::parser_tests::test_comment_extraction ... ok
[INFO] [stdout] test parser::parser_tests::test_function_extraction_multiline ... ok
[INFO] [stdout] test parser::parser_tests::test_dot_notation_function_names ... ok
[INFO] [stdout] test parser::parser_tests::test_concise_comment_format ... ok
[INFO] [stdout] test parser::parser_tests::test_empty_line_stops_multiline_comment_parsing ... ok
[INFO] [stdout] test config::config_tests::test_config_script_expansion_toml_format ... ok
[INFO] [stdout] test config::config_tests::test_config_default_toml_format ... ok
[INFO] [stdout] test parser::parser_tests::test_mixed_comment_formats ... ok
[INFO] [stdout] test parser::parser_tests::test_non_alf_comments_ignored ... ok
[INFO] [stdout] test parser::parser_tests::test_multiline_comment_format ... ok
[INFO] [stdout] test parser::parser_tests::test_parse_empty_file_returns_empty ... ok
[INFO] [stdout] test parser::parser_tests::test_parse_nonexistent_file_returns_error ... ok
[INFO] [stdout] test search::search_tests::test_multiple_comments_search ... ok
[INFO] [stdout] test parser::parser_tests::test_parse_sample_bashrc ... ok
[INFO] [stdout] test search::search_tests::test_score_ordering ... ok
[INFO] [stdout] test search::search_tests::test_no_match_returns_empty ... ok
[INFO] [stdout] test search::search_tests::test_fuzzy_match_by_name ... ok
[INFO] [stdout] test search::search_tests::test_smart_case_search ... ok
[INFO] [stdout] test tui::app::app_tests::filter::test_cycle_filter_backward_full_cycle ... ok
[INFO] [stdout] test parser::parser_tests::test_parse_sample_zshrc ... ok
[INFO] [stdout] test tui::app::app_tests::filter::test_cycle_filter_forward_full_cycle ... ok
[INFO] [stdout] test tui::app::app_tests::filter::test_set_filter_all_restores_full_count ... ok
[INFO] [stdout] test tui::app::app_tests::filter::test_filter_clamps_selection_when_count_shrinks ... ok
[INFO] [stdout] test tui::app::app_tests::filter::test_set_filter_functions_reduces_visible_count ... ok
[INFO] [stdout] test parser::parser_tests::test_source_file_tracking ... ok
[INFO] [stdout] test search::search_tests::test_case_sensitive_search ... ok
[INFO] [stdout] test tui::app::app_tests::group_mode_and_sort_order::test_cycle_group_mode_backward_changes_group ... ok
[INFO] [stdout] test search::search_tests::test_empty_query_returns_all_entries ... ok
[INFO] [stdout] test search::search_tests::test_fuzzy_match_by_comment ... ok
[INFO] [stdout] test tui::app::app_tests::group_mode_and_sort_order::test_cycle_group_mode_changes_group ... ok
[INFO] [stdout] test tui::app::app_tests::filter::test_set_filter_aliases_reduces_visible_count ... ok
[INFO] [stdout] test tui::app::app_tests::group_mode_and_sort_order::test_toggle_sort_order_reverses_visible_entry_order ... ok
[INFO] [stdout] test tui::app::app_tests::help_modal::test_help_scroll_operations_with_max_set ... ok
[INFO] [stdout] test tui::app::app_tests::help_modal::test_help_scroll_down_increments ... ok
[INFO] [stdout] test tui::app::app_tests::initial_state::test_new_app_all_entries_visible ... ok
[INFO] [stdout] test tui::app::app_tests::help_modal::test_help_scroll_up_decrements ... ok
[INFO] [stdout] test tui::app::app_tests::initial_state::test_new_app_exit_action_is_none ... ok
[INFO] [stdout] test tui::app::app_tests::help_modal::test_toggle_help_twice_hides_modal ... ok
[INFO] [stdout] test tui::app::app_tests::group_mode_and_sort_order::test_toggle_sort_order_changes_order ... ok
[INFO] [stdout] test tui::app::app_tests::navigation::test_move_bottom_on_empty_app_no_panic ... ok
[INFO] [stdout] test tui::app::app_tests::initial_state::test_new_app_search_query_is_empty ... ok
[INFO] [stdout] test tui::app::app_tests::initial_state::test_new_app_input_mode_is_normal ... ok
[INFO] [stdout] test tui::app::app_tests::navigation::test_move_down_increments_selection ... ok
[INFO] [stdout] test tui::app::app_tests::navigation::test_move_bottom_jumps_to_last ... ok
[INFO] [stdout] test tui::app::app_tests::navigation::test_move_down_at_last_stays_at_last ... ok
[INFO] [stdout] test tui::app::app_tests::initial_state::test_new_app_should_not_quit ... ok
[INFO] [stdout] test tui::app::app_tests::initial_state::test_new_app_selected_index_is_zero ... ok
[INFO] [stdout] test cli::config_cmd::config_cmd_tests::test_resolve_new_source_files_errors_when_a_path_is_a_fifo ... ok
[INFO] [stdout] test tui::app::app_tests::navigation::test_move_down_on_empty_app_no_panic ... ok
[INFO] [stdout] test tui::app::app_tests::panel_cycling::test_cycle_panel_forward_sequence ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_clear_search_restores_all_entries ... ok
[INFO] [stdout] test config::config_tests::test_get_config_path_falls_back_when_home_is_unset ... ok
[INFO] [stdout] test tui::app::app_tests::navigation::test_move_top_jumps_to_zero ... ok
[INFO] [stdout] test tui::app::app_tests::scroll::test_scroll_up_on_list_panel_saturates_at_zero ... ok
[INFO] [stdout] test tui::app::app_tests::scroll::test_scroll_down_on_list_panel_jumps_selection ... ok
[INFO] [stdout] test tui::app::app_tests::navigation::test_move_up_decrements_selection ... ok
[INFO] [stdout] test tui::app::app_tests::panel_cycling::test_cycle_panel_forward_three_times_returns_to_list ... ok
[INFO] [stdout] test tui::app::app_tests::panel_cycling::test_cycle_panel_backward_three_times_returns_to_list ... ok
[INFO] [stdout] test config::config_tests::test_config_lock_path_sits_beside_the_config_file ... ok
[INFO] [stdout] test config::config_tests::test_expand_path_passes_through_paths_without_a_home_prefix ... ok
[INFO] [stdout] test tui::app::app_tests::navigation::test_move_up_at_top_stays_at_zero ... ok
[INFO] [stdout] test config::config_tests::test_home_resolution_accepts_non_unicode_values ... ok
[INFO] [stdout] test config::config_tests::test_save_config_leaves_no_temporary_files_behind ... ok
[INFO] [stdout] test config::config_tests::test_is_first_run_returns_false_after_save ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_exit_search_clear_query_returns_to_normal_and_clears ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_enter_search_mode_sets_search_input_mode ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_exit_search_keep_query_returns_to_normal ... ok
[INFO] [stdout] test config::config_tests::test_is_first_run_returns_true_when_no_config ... ok
[INFO] [stdout] test tui::app::app_tests::theme_cycling::test_cycle_theme_next_then_prev_returns_to_original ... ok
[INFO] [stdout] test tui::app::app_tests::selected_entry::test_selected_entry_returns_none_when_empty ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_search_delete_char_updates_visible_entries ... ok
[INFO] [stdout] test tui::app::app_tests::select_entry::test_select_entry_on_empty_app_sets_quit_but_no_action ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_1_sets_aliases_filter ... ok
[INFO] [stdout] test tui::app::app_tests::tick::test_tick_with_no_pending_key_no_panic ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_backspace_in_search_mode_removes_last_char ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_search_insert_char_filters_visible_entries ... ok
[INFO] [stdout] test tui::app::app_tests::pending_key::test_set_and_clear_pending_key ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_set_search_query_filters_by_name ... ok
[INFO] [stdout] test tui::app::app_tests::theme_cycling::test_cycle_theme_next_changes_theme_name ... ok
[INFO] [stdout] test tui::app::app_tests::selected_entry::test_selected_entry_returns_first_visible_by_default ... ok
[INFO] [stdout] test tui::app::app_tests::theme_cycling::test_cycle_theme_next_full_cycle_returns_to_start ... ok
[INFO] [stdout] test tui::app::app_tests::tick::test_tick_does_not_alter_state_when_key_fresh ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_3_sets_all_filter ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_capital_g_moves_to_last_entry ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_2_sets_functions_filter ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_search_cursor_left_and_right ... ok
[INFO] [stdout] test tui::app::app_tests::theme_cycling::test_cycle_theme_prev_full_cycle_returns_to_start ... ok
[INFO] [stdout] test tui::app::app_tests::theme_cycling::test_cycle_theme_prev_changes_theme_name ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_char_in_search_mode_appends_to_query ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_b_page_scrolls_to_first ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_c_always_quits ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_k_half_page_scrolls_up ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_g_cycles_group_mode ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_s_toggles_sort_order ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_f_page_scrolls_to_last ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_j_half_page_scrolls_down ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_u_clears_search_query ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_ctrl_d_always_quits ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_enter_in_normal_mode_on_empty_app_quits_with_no_action ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_down_arrow_moves_selection_down ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_esc_closes_help_modal ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_esc_in_search_mode_returns_to_normal ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_n_cycles_panel_forward ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_p_cycles_panel_backward ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_pending_key_cleared_on_esc ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_q_closes_help_modal ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_enter_in_search_mode_sets_execute_action ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_enter_in_normal_mode_sets_execute_action ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_q_in_normal_mode_quits ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_og_sequence_cycles_group_mode_forward ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_h_cycles_filter_backward ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_tab_in_normal_mode_on_empty_app_quits_with_no_action ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_os_sequence_toggles_sort_order ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_tab_in_search_mode_sets_populate_action ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_invalid_sequence_clears_pending_key ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_j_in_normal_mode_moves_selection_down ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_g_in_normal_mode_moves_to_top ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_i_in_normal_mode_enters_search ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_question_mark_toggles_help_open ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_og_upper_sequence_cycles_group_mode_backward ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_tj_sequence_cycles_theme_next ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_tk_sequence_cycles_theme_prev ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_get_visible_entry_empty_visible_returns_none ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_is_empty_false_after_adding_visible_index ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_new_stores_entries ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_k_in_normal_mode_moves_selection_up ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_sort_visible_indices_by_name_ascending ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_sort_visible_indices_by_name_descending ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_sort_visible_indices_subset_of_entries ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_new_visible_indices_starts_empty ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_l_cycles_filter_forward ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_slash_in_normal_mode_enters_search ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_cycle_group_mode_full_cycle ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_filter_all_returns_all_entries ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_is_empty_true_initially ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_cycle_filter_backward ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_filter_aliases_returns_only_aliases ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_group_mode_functions_first_puts_functions_before_aliases ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_search_query_filters_by_name ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_search_query_matches_by_value ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_search_query_no_match_returns_empty ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_set_filter_directly ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_sort_ascending_no_grouping_all_a_to_z ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_sort_ascending_orders_aliases_a_to_z ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_sort_descending_orders_aliases_z_to_a ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_visible_count_is_zero_initially ... ok
[INFO] [stdout] test tui::app::app_tests::search_mode::test_set_search_query_no_match_empties_visible ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_group_mode_aliases_first_puts_aliases_before_functions ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_visible_count_reflects_indices ... ok
[INFO] [stdout] test tui::app::app_tests::select_entry::test_select_entry_execute_sets_quit_and_action ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_filter_functions_returns_only_functions ... ok
[INFO] [stdout] test tui::app::app_tests::select_entry::test_select_entry_populate_sets_quit_and_action ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_tab_in_normal_mode_sets_populate_action ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_default_not_searching ... ok
[INFO] [stdout] test tui::keybinds::keybind_tests::test_up_arrow_moves_selection_up ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_enter_search_sets_search_mode ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_get_visible_entry_out_of_range_returns_none ... ok
[INFO] [stdout] test tui::state::data::data_tests::test_get_visible_entry_returns_correct_entry ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_cycle_filter_forward ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_cycle_group_mode_backward_full_cycle ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_cycle_group_mode_none_to_aliases ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_toggle_sort_order_ascending_to_descending ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_clear_pending_key_removes_key ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_is_pending_key_expired_false_immediately_after_set ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_overwrite_pending_key ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_set_pending_key_records_timestamp ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_clamp_zero_count_resets_to_zero ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_clear_pending_key_removes_timestamp ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_bottom_jumps_to_last ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_bottom_with_empty_list_stays_at_zero ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_default_mode_is_normal ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_bottom_with_single_item ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_down_increments_from_zero ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_exit_search_from_normal_stays_normal ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_default_no_pending_key ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_enter_search_twice_stays_in_search ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_exit_search_returns_to_normal ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_set_pending_key_stores_key ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_clamp_within_range_no_change ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_down_with_empty_list_stays_at_zero ... ok
[INFO] [stdout] test tui::state::input::input_tests::test_is_pending_key_expired_false_when_no_key ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_down_stops_at_last_item ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_down_then_up_returns_to_start ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_up_decrements_from_non_zero ... ok
[INFO] [stdout] test tui::state::filter::filter_tests::test_toggle_sort_order_descending_to_ascending ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_top_resets_to_zero ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_move_up_stops_at_zero ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_clamp_above_range_reduces_to_last ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_delete_char_removes_last_character ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_delete_char_removes_mid_character ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_insert_char_special_chars_unchanged ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_insert_char_utf8_multibyte ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_insert_char_converts_uppercase_to_lowercase ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_clear_resets_cursor_to_zero ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_move_cursor_left_decrements ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_scroll_down_clamps_to_last_item ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_insert_char_appends_at_end ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_scroll_down_increments_by_amount ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_new_state_is_empty ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_scroll_up_decrements_by_amount ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_move_cursor_right_increments ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_move_cursor_left_stops_at_zero ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_delete_char_at_start_is_noop ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_cycle_panel_forward_script_wraps_to_list ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_delete_char_utf8_multibyte ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_clear_empties_query ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_scroll_down_with_empty_list_stays_at_zero ... ok
[INFO] [stdout] test tui::state::navigation::navigation_tests::test_scroll_up_saturates_at_zero ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_cycle_panel_backward_list_to_script ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_set_query_replaces_existing_query ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_set_query_stores_lowercased ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_cycle_panel_backward_script_to_description ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_cycle_panel_backward_description_wraps_to_list ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_cycle_panel_forward_list_to_description ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_set_query_positions_cursor_at_end ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_move_cursor_right_stops_at_end ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_help_scroll_down_increments_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_move_top_on_script_zeroes_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_move_top_on_description_zeroes_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_help_jump_bottom_sets_offset_to_max ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_move_top_on_list_resets_navigation ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_scroll_up_on_description_panel_decrements_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_scroll_down_on_list_panel_moves_navigation ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_scroll_down_on_script_panel_increments_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_scroll_up_on_description_panel_saturates_at_zero ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_scroll_down_on_description_panel_clamped_to_max ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_cycle_panel_forward_description_to_script ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_reset_detail_scroll_zeroes_script_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_scroll_up_on_list_panel_moves_navigation ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_toggle_help_closes_modal ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_help_jump_top_sets_offset_to_zero ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_help_scroll_up_decrements_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_help_scroll_down_clamped_to_max ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_move_bottom_on_list_moves_navigation_to_last ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_scroll_down_on_description_panel_increments_offset ... ok
[INFO] [stdout] test tui::state::search::search_tests::test_insert_char_at_mid_position ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_help_scroll_up_saturates_at_zero ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_scroll_up_on_script_panel_decrements_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_toggle_help_opens_modal ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_toggle_help_resets_scroll_when_opening ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_toggle_help_does_not_reset_scroll_when_closing ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_ui_state_default_all_offsets_zero ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_move_bottom_on_script_sets_max ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_move_bottom_on_description_sets_max ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_reset_detail_scroll_zeroes_description_offset ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_update_description_max_scroll_when_total_less_than_visible ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_update_help_max_scroll ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_default_theme_matches_from_name_default ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_from_name_is_case_insensitive ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_each_theme_has_non_empty_display_name ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_ui_state_default_help_hidden ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_from_name_returns_none_for_empty_string ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_ui_state_default_panel_is_list ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_from_name_returns_some_for_all_valid_names ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_update_description_max_scroll_when_total_exceeds_visible ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_each_theme_has_non_empty_name ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_update_script_max_scroll ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_from_name_returns_none_for_unknown_name ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_available_themes_are_alphabetically_sorted ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_theme_name_field_matches_lookup_key ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/alf_tui/f720d647c8e12631/out/alf-f720d647c8e12631)
[INFO] [stdout] test tui::themes::theme_tests::test_available_themes_contains_expected_names ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_available_themes_returns_eight_themes ... ok
[INFO] [stdout] test tui::themes::theme_tests::test_default_theme_name_is_default ... ok
[INFO] [stdout] test tui::state::ui::ui_state_tests::test_update_description_max_scroll_when_total_equals_visible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 337 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests alf
[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] [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" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4", kill_on_drop: false }`
[INFO] [stdout] dcfbc84bfae42c4f7774823fafe0ecc463d3147f867f8eb3f5b86daae8f5ebe4
