[INFO] cloning repository https://github.com/Wagomu056/tudo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Wagomu056/tudo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWagomu056%2Ftudo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWagomu056%2Ftudo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 608b66d30488f2c0cf8848fe52531442be5843a3 [INFO] testing Wagomu056/tudo against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWagomu056%2Ftudo" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/Wagomu056/tudo [INFO] finished tweaking git repo https://github.com/Wagomu056/tudo [INFO] tweaked toml for git repo https://github.com/Wagomu056/tudo written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Wagomu056/tudo on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Wagomu056/tudo 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.113 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.113 [INFO] [stderr] Downloaded tempfile v3.26.0 [INFO] [stderr] Downloaded directories v5.0.1 [INFO] [stderr] Downloaded js-sys v0.3.90 [INFO] [stderr] Downloaded wasm-bindgen v0.2.113 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.113 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4b4e39c5b44ddfe491d87271f6d14062bfd6dacff0d921a1f3904a5a6c446f50 [INFO] running `Command { std: "docker" "start" "-a" "4b4e39c5b44ddfe491d87271f6d14062bfd6dacff0d921a1f3904a5a6c446f50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4b4e39c5b44ddfe491d87271f6d14062bfd6dacff0d921a1f3904a5a6c446f50", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4b4e39c5b44ddfe491d87271f6d14062bfd6dacff0d921a1f3904a5a6c446f50", kill_on_drop: false }` [INFO] [stdout] 4b4e39c5b44ddfe491d87271f6d14062bfd6dacff0d921a1f3904a5a6c446f50 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d0abd305e646f8820afdc54b77ab44f5e1b3bca1a4d08c752e209fcc8d72e164 [INFO] running `Command { std: "docker" "start" "-a" "d0abd305e646f8820afdc54b77ab44f5e1b3bca1a4d08c752e209fcc8d72e164", kill_on_drop: false }` [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling tudo v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.31s [INFO] running `Command { std: "docker" "inspect" "d0abd305e646f8820afdc54b77ab44f5e1b3bca1a4d08c752e209fcc8d72e164", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0abd305e646f8820afdc54b77ab44f5e1b3bca1a4d08c752e209fcc8d72e164", kill_on_drop: false }` [INFO] [stdout] d0abd305e646f8820afdc54b77ab44f5e1b3bca1a4d08c752e209fcc8d72e164 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1861449bc421b7ccf549a0cf34dfdfd005881518a70a1ad63aca8415a3c69e6f [INFO] running `Command { std: "docker" "start" "-a" "1861449bc421b7ccf549a0cf34dfdfd005881518a70a1ad63aca8415a3c69e6f", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling tudo v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 5.59s [INFO] running `Command { std: "docker" "inspect" "1861449bc421b7ccf549a0cf34dfdfd005881518a70a1ad63aca8415a3c69e6f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1861449bc421b7ccf549a0cf34dfdfd005881518a70a1ad63aca8415a3c69e6f", kill_on_drop: false }` [INFO] [stdout] 1861449bc421b7ccf549a0cf34dfdfd005881518a70a1ad63aca8415a3c69e6f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 54bd4acc9cfe77fb59fd39dd4f4ba82026e4285741eb5bec971599b41939d7c2 [INFO] running `Command { std: "docker" "start" "-a" "54bd4acc9cfe77fb59fd39dd4f4ba82026e4285741eb5bec971599b41939d7c2", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tudo-078d083eff94ed3e) [INFO] [stdout] [INFO] [stdout] running 111 tests [INFO] [stdout] test app::tests::click_empty_area_no_change ... ok [INFO] [stdout] test app::tests::click_in_input_mode_does_not_change_focus ... ok [INFO] [stdout] test app::tests::click_memo_updates_focused_memo ... ok [INFO] [stdout] test app::tests::click_task_sets_focus ... ok [INFO] [stdout] test app::tests::click_task_switches_from_memo_to_kanban ... ok [INFO] [stdout] test app::tests::click_task_cross_column_switches_focus ... ok [INFO] [stdout] test app::tests::click_memo_sets_focus ... ok [INFO] [stdout] test app::tests::memo_delete_clamps_focus ... ok [INFO] [stdout] test app::tests::memo_create_focuses_new_memo ... ok [INFO] [stdout] test app::tests::click_memo_switches_from_kanban ... ok [INFO] [stdout] test app::tests::memo_delete_last_item_leaves_empty ... ok [INFO] [stdout] test app::tests::memo_create_empty_title_rejected ... ok [INFO] [stdout] test app::tests::memo_edit_title ... ok [INFO] [stdout] test app::tests::memo_enter_from_empty_kanban_column ... ok [INFO] [stdout] test app::tests::memo_enter_from_kanban_bottom ... ok [INFO] [stdout] test app::tests::memo_exit_to_kanban_from_first_row ... ok [INFO] [stdout] test app::tests::memo_move_down_last_row_noop ... ok [INFO] [stdout] test app::tests::memo_move_down_advances_by_memo_cols ... ok [INFO] [stdout] test app::tests::memo_move_left_boundary_noop ... ok [INFO] [stdout] test app::tests::memo_move_left_decrements_index ... ok [INFO] [stdout] test app::tests::memo_move_right_boundary_noop ... ok [INFO] [stdout] test app::tests::memo_delete_removes_correct_item ... ok [INFO] [stdout] test app::tests::test_create_task_placed_at_top_of_column_order ... ok [INFO] [stdout] test app::tests::memo_move_right_advances_index ... ok [INFO] [stdout] test app::tests::memo_edit_detail ... ok [INFO] [stdout] test app::tests::memo_move_up_row_subtracts_memo_cols ... ok [INFO] [stdout] test app::tests::test_advance_at_done_boundary_preserves_focus ... ok [INFO] [stdout] test app::tests::test_create_task_focuses_new_task_at_top_of_column ... ok [INFO] [stdout] test app::tests::test_create_task_focuses_new_task ... ok [INFO] [stdout] test app::tests::test_advance_moves_focus_across_all_statuses ... ok [INFO] [stdout] test app::tests::test_advance_places_task_at_top_of_destination ... ok [INFO] [stdout] test app::tests::test_advance_status_keeps_focus_on_task ... ok [INFO] [stdout] test app::tests::test_create_task_places_at_top_of_todo ... ok [INFO] [stdout] test app::tests::test_reorder_preserves_task_status ... ok [INFO] [stdout] test app::tests::test_create_task_at_top_with_mixed_statuses ... ok [INFO] [stdout] test app::tests::test_reorder_task_up_at_first_is_noop ... ok [INFO] [stdout] test app::tests::test_reorder_task_up_swaps_and_follows_focus ... ok [INFO] [stdout] test app::tests::test_reorder_within_status_task_map_up ... ok [INFO] [stdout] test app::tests::test_retreat_at_todo_boundary_preserves_focus ... ok [INFO] [stdout] test app::tests::test_retreat_moves_focus_across_all_statuses ... ok [INFO] [stdout] test model::tests::clear_resets_cursor_and_buffer ... ok [INFO] [stdout] test app::tests::test_reorder_within_status_task_map_down ... ok [INFO] [stdout] test app::tests::test_retreat_places_task_at_top_of_destination ... ok [INFO] [stdout] test model::tests::cursor_starts_at_zero_on_default ... ok [INFO] [stdout] test app::tests::test_source_column_clamped_when_last_task_moves_out ... ok [INFO] [stdout] test model::tests::cursor_stays_on_char_boundary_after_insert ... ok [INFO] [stdout] test model::tests::delete_char_back_at_beginning_is_noop ... ok [INFO] [stdout] test app::tests::test_reorder_task_down_at_last_is_noop ... ok [INFO] [stdout] test model::tests::cursor_stays_on_char_boundary_after_delete ... ok [INFO] [stdout] test model::tests::insert_char_at_end ... ok [INFO] [stdout] test app::tests::test_reorder_task_down_swaps_and_follows_focus ... ok [INFO] [stdout] test model::tests::insert_char_in_middle ... ok [INFO] [stdout] test model::tests::insert_cjk_char_advances_cursor_by_utf8_len ... ok [INFO] [stdout] test model::tests::move_end_goes_to_buffer_len ... ok [INFO] [stdout] test model::tests::move_home_goes_to_zero ... ok [INFO] [stdout] test model::tests::move_left_ascii ... ok [INFO] [stdout] test model::tests::delete_char_back_at_end ... ok [INFO] [stdout] test model::tests::move_left_at_start_is_noop ... ok [INFO] [stdout] test model::tests::move_left_cjk ... ok [INFO] [stdout] test app::tests::test_retreat_status_keeps_focus_on_task ... ok [INFO] [stdout] test model::tests::move_right_ascii ... ok [INFO] [stdout] test model::tests::delete_char_back_in_middle ... ok [INFO] [stdout] test model::tests::move_through_mixed_text ... ok [INFO] [stdout] test model::tests::delete_cjk_char_back ... ok [INFO] [stdout] test model::tests::set_buffer_cjk_cursor_at_end ... ok [INFO] [stdout] test model::tests::move_right_at_end_is_noop ... ok [INFO] [stdout] test model::tests::set_buffer_moves_cursor_to_end ... ok [INFO] [stdout] test model::tests::move_right_cjk ... ok [INFO] [stdout] test model::tests::status_task_map_remove_by_id_removes_correct_task ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_ascii_no_wrap ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_at_newline_char ... ok [INFO] [stdout] test model::tests::status_task_map_insert_at_top_places_at_index_zero ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_cjk ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_ascii_at_end ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_cjk_mid ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_start_of_second_line ... ok [INFO] [stdout] test model::tests::status_task_map_new_returns_empty_lists ... ok [INFO] [stdout] test model::tests::status_task_map_from_flat_distributes_by_status ... ok [INFO] [stdout] test model::tests::status_task_map_remove_by_id_noop_when_not_found ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_empty_buffer ... ok [INFO] [stdout] test ui::tests::truncate_ascii_exact_width ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_wraps_to_next_row ... ok [INFO] [stdout] test ui::tests::truncate_ascii_short_no_truncation ... ok [INFO] [stdout] test ui::tests::truncate_cjk_exact_fit ... ok [INFO] [stdout] test ui::tests::truncate_ascii_adds_ellipsis ... ok [INFO] [stdout] test ui::tests::truncate_empty_string ... ok [INFO] [stdout] test ui::tests::truncate_cjk_respects_double_width ... ok [INFO] [stdout] test ui::tests::cursor_visual_pos_with_newline ... ok [INFO] [stdout] test ui::tests::truncate_mixed_ascii_and_cjk ... ok [INFO] [stdout] test ui::tests::wrap_ascii_exact_width ... ok [INFO] [stdout] test ui::tests::wrap_ascii_splits ... ok [INFO] [stdout] test ui::tests::wrap_cjk_boundary_breaks_before_overflow ... ok [INFO] [stdout] test ui::tests::wrap_ascii_short_no_wrap ... ok [INFO] [stdout] test ui::tests::wrap_lines_ascii_multiline ... ok [INFO] [stdout] test ui::tests::wrap_cjk_respects_double_width ... ok [INFO] [stdout] test ui::tests::wrap_lines_cjk_exactly_fills_width_no_extra_wrap ... ok [INFO] [stdout] test ui::tests::wrap_lines_cjk_multiline ... ok [INFO] [stdout] test ui::tests::wrap_empty_string ... ok [INFO] [stdout] test ui::tests::wrap_cjk_exact_width ... ok [INFO] [stdout] test ui::tests::wrap_lines_single_line_unchanged ... ok [INFO] [stdout] test ui::tests::wrap_lines_mixed_multiline ... ok [INFO] [stdout] test url::tests::simulate_wrap_multi_word_wraps_twice ... ok [INFO] [stdout] test url::tests::simulate_wrap_short_line_no_wrap ... ok [INFO] [stdout] test ui::tests::wrap_mixed_ascii_and_cjk ... ok [INFO] [stdout] test ui::tests::wrap_lines_cjk_at_boundary_1col_remaining_wraps ... ok [INFO] [stdout] test ui::tests::wrap_zero_width_returns_whole_string ... ok [INFO] [stdout] test model::tests::insert_char_at_beginning ... ok [INFO] [stdout] test url::tests::simulate_wrap_line_exactly_at_width ... ok [INFO] [stdout] test app::tests::test_reorder_does_not_affect_other_columns ... ok [INFO] [stdout] test app::tests::memo_create_adds_to_board ... ok [INFO] [stdout] test url::tests::simulate_wrap_wraps_at_word_boundary ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 111 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tudo-d7645d358cf957f1) [INFO] [stdout] test tests::test_m_key_idempotent_when_memo_focused ... ok [INFO] [stdout] test tests::test_t_key_idempotent_when_kanban_focused ... ok [INFO] [stdout] test tests::test_t_key_focuses_kanban ... ok [INFO] [stdout] test tests::test_m_key_focuses_memo ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/model_tests.rs (/opt/rustwide/target/debug/deps/model_tests-f051eb959046225a) [INFO] [stdout] [INFO] [stdout] running 30 tests [INFO] [stdout] test appstate_new_has_empty_clickable_urls ... ok [INFO] [stdout] test board_state_with_memos_round_trips ... ok [INFO] [stdout] test boardstate_next_id_greater_than_all_task_ids ... ok [INFO] [stdout] test advance_status_todo_to_doing ... ok [INFO] [stdout] test board_state_missing_memos_field_deserializes_to_empty ... ok [INFO] [stdout] test delete_focused_card_removes_task ... ok [INFO] [stdout] test boardstate_version_is_one ... ok [INFO] [stdout] test input_state_clear_resets_buffer ... ok [INFO] [stdout] test focused_task_returns_none_on_empty_column ... ok [INFO] [stdout] test input_state_pop_char_no_op_when_empty ... ok [INFO] [stdout] test input_state_push_char_appends ... ok [INFO] [stdout] test memo_new_has_correct_fields ... ok [INFO] [stdout] test focused_task_returns_correct_task ... ok [INFO] [stdout] test input_state_pop_char_removes_last ... ok [INFO] [stdout] test retreat_status_todo_is_noop ... ok [INFO] [stdout] test retreat_status_doing_to_todo ... ok [INFO] [stdout] test status_next_done_is_none ... ok [INFO] [stdout] test status_next_todo_to_doing ... ok [INFO] [stdout] test status_prev_doing_to_todo ... ok [INFO] [stdout] test status_prev_done_to_checking ... ok [INFO] [stdout] test advance_status_done_is_noop ... ok [INFO] [stdout] test status_prev_todo_is_none ... ok [INFO] [stdout] test status_prev_checking_to_doing ... ok [INFO] [stdout] test task_title_valid_when_non_empty ... ok [INFO] [stdout] test url_hit_region_derives_debug_clone_partialeq ... ok [INFO] [stdout] test task_title_must_not_be_empty ... ok [INFO] [stdout] test tasks_for_column_returns_only_matching_status ... ok [INFO] [stdout] test status_next_doing_to_checking ... ok [INFO] [stdout] test url_hit_region_fields_accessible ... ok [INFO] [stdout] test status_next_checking_to_done ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/storage_tests.rs (/opt/rustwide/target/debug/deps/storage_tests-7486d2d239d6aff4) [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test daily_filter_removes_done_tasks_from_previous_days ... ok [INFO] [stdout] test save_and_load_board_with_memos ... ok [INFO] [stdout] test board_state_tasks_round_trip_across_multiple_statuses ... ok [INFO] [stdout] test append_done_entry_writes_two_json_lines ... ok [INFO] [stdout] test load_board_returns_default_when_file_missing ... ok [INFO] [stdout] test legacy_flat_json_loads_and_distributes_by_status ... ok [INFO] [stdout] test save_and_load_board_round_trip ... ok [INFO] [stdout] test todo_order_preserved_through_serialization_round_trip ... ok [INFO] [stdout] test load_board_reads_from_data_dir ... ok [INFO] [stdout] test append_done_entry_writes_to_data_dir_not_cwd ... ok [INFO] [stdout] test resolve_data_dir_creates_directory ... ok [INFO] [stdout] test load_board_errors_on_corrupt_json ... ok [INFO] [stdout] test resolve_data_dir_path_ends_with_tudo ... ok [INFO] [stdout] test resolve_data_dir_returns_same_path_on_repeated_calls ... ok [INFO] [stdout] test resolve_data_dir_returns_ok ... ok [INFO] [stdout] test save_board_writes_to_data_dir_not_cwd ... ok [INFO] [stdout] test save_and_load_round_trip_via_data_dir ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/url_tests.rs (/opt/rustwide/target/debug/deps/url_tests-708ec5067f15f584) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test extract_no_url_returns_empty ... ok [INFO] [stdout] test detail_url_regions_url_spanning_line_break_two_regions ... ok [INFO] [stdout] test extract_plain_url_in_middle ... ok [INFO] [stdout] test extract_url_at_end ... ok [INFO] [stdout] test detail_url_regions_no_wrap_single_region ... ok [INFO] [stdout] test extract_url_at_start ... ok [INFO] [stdout] test extract_url_in_parens_matched ... ok [INFO] [stdout] test extract_http_scheme ... ok [INFO] [stdout] test handle_left_click_non_url_no_status_msg ... ok [INFO] [stdout] test extract_url_strips_trailing_period ... ok [INFO] [stdout] test extract_url_unmatched_close_paren_terminates ... ok [INFO] [stdout] test extract_url_with_query_and_fragment ... ok [INFO] [stdout] test list_item_url_regions_correct_fields ... ok [INFO] [stdout] test handle_left_click_preserves_focused_col_and_card ... ok [INFO] [stdout] test open_url_returns_ok_for_valid_https ... ok [INFO] [stdout] test handle_left_click_opens_url_on_hit ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests tudo [INFO] [stderr] /usr/bin/xdg-open: 882: /usr/bin/xdg-open: 882: www-browser: not found [INFO] [stderr] www-browser: not found [INFO] [stderr] /usr/bin/xdg-open: 882: www-browser: not found [INFO] [stderr] /usr/bin/xdg-open: 882: links2: not found [INFO] [stderr] /usr/bin/xdg-open: 882: links2: not found [INFO] [stderr] /usr/bin/xdg-open: 882: elinks: not found [INFO] [stderr] /usr/bin/xdg-open: 882: elinks: not found [INFO] [stderr] /usr/bin/xdg-open: 882: links: not found [INFO] [stderr] /usr/bin/xdg-open: 882: lynx: not found [INFO] [stderr] /usr/bin/xdg-open: 882: w3m: not found [INFO] [stderr] xdg-open: no method available for opening 'https://example.com' [INFO] [stderr] /usr/bin/xdg-open: 882: links: not found [INFO] [stderr] /usr/bin/xdg-open: 882: lynx: not found [INFO] [stderr] /usr/bin/xdg-open: 882: w3m: not found [INFO] [stderr] xdg-open: no method available for opening 'https://x.com' [INFO] [stderr] /usr/bin/xdg-open: 882: links2: not found [INFO] [stderr] /usr/bin/xdg-open: 882: elinks: not found [INFO] [stderr] /usr/bin/xdg-open: 882: links: not found [INFO] [stderr] /usr/bin/xdg-open: 882: lynx: not found [INFO] [stderr] /usr/bin/xdg-open: 882: w3m: not found [INFO] [stderr] xdg-open: no method available for opening 'https://x.com' [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" "54bd4acc9cfe77fb59fd39dd4f4ba82026e4285741eb5bec971599b41939d7c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "54bd4acc9cfe77fb59fd39dd4f4ba82026e4285741eb5bec971599b41939d7c2", kill_on_drop: false }` [INFO] [stdout] 54bd4acc9cfe77fb59fd39dd4f4ba82026e4285741eb5bec971599b41939d7c2