[INFO] cloning repository https://github.com/gbrennon/BitPill
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gbrennon/BitPill" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgbrennon%2FBitPill", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgbrennon%2FBitPill'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9f98d25431defa2196e86fe62324714a3bffd653
[INFO] testing gbrennon/BitPill against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgbrennon%2FBitPill" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/gbrennon/BitPill
[INFO] finished tweaking git repo https://github.com/gbrennon/BitPill
[INFO] tweaked toml for git repo https://github.com/gbrennon/BitPill written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/gbrennon/BitPill on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/gbrennon/BitPill 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cc v1.2.59
[INFO] [stderr]   Downloaded fastrand v2.4.0
[INFO] [stderr]   Downloaded indexmap v2.13.1
[INFO] [stderr]   Downloaded actix-http v3.12.0
[INFO] [stderr]   Downloaded tokio v1.51.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7
[INFO] running `Command { std: "docker" "start" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7", 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" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7", 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" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling uuid v1.23.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.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 thiserror-impl v2.0.18
[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 bitpill v0.3.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 26.27s
[INFO] running `Command { std: "docker" "inspect" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7", 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" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling bitpill v0.3.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.94s
[INFO] running `Command { std: "docker" "inspect" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7", 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" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bitpill-6da4a243495e60ab)
[INFO] [stdout] 
[INFO] [stdout] running 456 tests
[INFO] [stdout] test application::dtos::responses::mark_dose_taken_test::response_new_and_fields ... ok
[INFO] [stdout] test application::dtos::responses::test::new_return_self ... ok
[INFO] [stdout] test application::mappers::create_medication_mapper::tests::map_parses_twice_daily_frequency ... ok
[INFO] [stdout] test application::mappers::create_medication_mapper::tests::map_with_valid_request_returns_medication ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_create_request_each_call_generates_unique_id ... ok
[INFO] [stdout] test application::mappers::create_medication_mapper::tests::map_with_zero_dosage_returns_domain_error ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_create_request_with_invalid_scheduled_time_returns_error ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_create_request_with_valid_data_returns_medication ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_create_request_with_zero_dosage_returns_error ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_update_tuple_with_empty_name_returns_error ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_update_tuple_with_invalid_scheduled_time_returns_error ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_update_tuple_with_valid_data_returns_medication_with_given_id ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_once_daily_with_multiple_times_returns_error ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_unknown_frequency_defaults_to_once_daily ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_with_duplicate_times_returns_error ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_with_empty_name_returns_domain_error ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_with_zero_dosage_returns_domain_error ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_with_valid_request_returns_medication_with_given_id ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_twice_daily_without_required_times_returns_error ... ok
[INFO] [stdout] test application::mappers::create_medication_mapper::tests::map_with_invalid_time_returns_domain_error ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_update_tuple_with_zero_dosage_returns_error ... ok
[INFO] [stdout] test application::mappers::create_medication_mapper::tests::map_with_empty_name_returns_domain_error ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_with_invalid_time_returns_domain_error ... ok
[INFO] [stdout] test domain::entities::app_settings::tests::new_sets_navigation_mode ... ok
[INFO] [stdout] test domain::entities::app_settings::tests::clone_produces_equal_entity ... ok
[INFO] [stdout] test application::mappers::update_medication_mapper::tests::map_with_empty_name_and_zero_dosage_returns_aggregated_errors ... ok
[INFO] [stdout] test domain::entities::app_settings::tests::change_navigation_mode_does_not_mutate_original ... ok
[INFO] [stdout] test domain::entities::dose_record::tests::mark_taken_sets_taken_at_and_marks_as_taken ... ok
[INFO] [stdout] test domain::entities::dose_record::tests::mark_taken_twice_returns_error ... ok
[INFO] [stdout] test domain::entities::dose_record::tests::new_assigns_a_unique_id ... ok
[INFO] [stdout] test domain::entities::dose_record::tests::new_creates_record_as_not_taken ... ok
[INFO] [stdout] test domain::entities::dose_record::tests::scheduled_at_returns_the_datetime_passed_to_constructor ... ok
[INFO] [stdout] test domain::entities::medication::tests::custom_accepts_multiple_times ... ok
[INFO] [stdout] test application::mappers::medication_try_from::tests::try_from_create_request_with_empty_name_returns_error ... ok
[INFO] [stdout] test domain::entities::app_settings::tests::equality_holds_for_same_state ... ok
[INFO] [stdout] test domain::entities::dose_record::tests::with_id_allows_constructing_taken_record ... ok
[INFO] [stdout] test domain::entities::medication::tests::custom_rejects_fewer_than_four_times ... ok
[INFO] [stdout] test domain::entities::medication::tests::dosage_returns_the_dosage_passed_to_constructor ... ok
[INFO] [stdout] test domain::entities::medication::tests::name_returns_the_name_passed_to_constructor ... ok
[INFO] [stdout] test domain::entities::medication::tests::new_with_custom_frequency_valid_times_succeeds ... ok
[INFO] [stdout] test domain::entities::medication::tests::once_daily_rejects_empty_times ... ok
[INFO] [stdout] test domain::entities::medication::tests::duplicate_times_are_rejected_for_thrice_daily ... ok
[INFO] [stdout] test domain::entities::medication::tests::duplicate_times_are_rejected_for_twice_daily ... ok
[INFO] [stdout] test domain::entities::medication::tests::twice_daily_accepts_two_scheduled_times ... ok
[INFO] [stdout] test domain::entities::medication::tests::twice_daily_rejects_one_time ... ok
[INFO] [stdout] test domain::entities::medication::tests::new_assigns_a_unique_id ... ok
[INFO] [stdout] test domain::entities::medication::tests::custom_requires_at_least_four_times ... ok
[INFO] [stdout] test domain::entities::medication::tests::with_id_rejects_duplicate_times ... ok
[INFO] [stdout] test domain::entities::medication::tests::scheduled_time_returns_all_times_passed_to_constructor ... ok
[INFO] [stdout] test domain::entities::medication::tests::with_id_rejects_wrong_times_count ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::equality_holds_for_same_id ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::dosage_mg_returns_correct_value ... ok
[INFO] [stdout] test domain::entities::medication::tests::once_daily_accepts_one_scheduled_time ... ok
[INFO] [stdout] test domain::entities::medication::tests::once_daily_rejects_multiple_times ... ok
[INFO] [stdout] test domain::entities::medication::tests::thrice_daily_accepts_three_scheduled_times ... ok
[INFO] [stdout] test domain::entities::medication::tests::thrice_daily_rejects_two_times ... ok
[INFO] [stdout] test domain::entities::medication::tests::with_id_constructs_medication_with_given_id ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::inequality_holds_for_different_ids ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::clone_produces_equal_box ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::new_stores_pills_per_box ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::new_assigns_unique_id ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::with_id_uses_supplied_id ... ok
[INFO] [stdout] test domain::entities::medication_refill::tests::new_assigns_a_unique_id ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::serialization_works ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::new_stores_dosage ... ok
[INFO] [stdout] test domain::entities::medication_refill::tests::new_stores_medication_id ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::inequality_holds_for_different_names ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::new_stores_medication_id ... ok
[INFO] [stdout] test domain::entities::medication_box::tests::new_stores_name ... ok
[INFO] [stdout] test domain::entities::medication_refill::tests::new_stores_packages_purchased ... ok
[INFO] [stdout] test domain::entities::medication_refill::tests::new_stores_pill_strength ... ok
[INFO] [stdout] test domain::entities::medication_refill::tests::new_stores_pills_per_package ... ok
[INFO] [stdout] test domain::entities::medication_refill::tests::with_id_uses_the_supplied_id ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::consume_fails_when_insufficient_stock ... ok
[INFO] [stdout] test domain::entities::medication_refill::tests::new_stores_purchased_at ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::consume_preserves_id ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::consume_preserves_last_replenished_at ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::consume_preserves_medication_id ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::consume_reduces_pill_count ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::consume_returns_new_instance ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::has_stock_returns_false_when_zero ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::has_stock_returns_true_when_positive ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::is_empty_returns_false_when_positive ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::is_empty_returns_true_when_zero ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::new_stores_initial_pill_count ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::new_creates_stock_with_auto_generated_id ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::new_stores_medication_id ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::replenish_increases_pill_count ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::replenish_updates_last_replenished_at ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::with_id_preserves_last_replenished_at ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::replenish_returns_new_instance ... ok
[INFO] [stdout] test domain::entities::medication_stock::tests::with_id_uses_provided_id ... ok
[INFO] [stdout] test domain::value_objects::dosage::tests::display_formats_with_mg_suffix ... ok
[INFO] [stdout] test domain::value_objects::dosage::tests::new_with_zero_amount_returns_error ... ok
[INFO] [stdout] test domain::value_objects::dosage::tests::amount_mg_returns_value_passed_to_constructor ... ok
[INFO] [stdout] test domain::value_objects::dose_record_id::tests::generate_produces_unique_ids ... ok
[INFO] [stdout] test domain::value_objects::dose_record_id::tests::from_uuid_wraps_the_given_uuid ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::clone_produces_equal_id ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::equality_holds_for_same_uuid ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::from_uuid_creates_correct_id ... ok
[INFO] [stdout] test domain::value_objects::dose_record_id::tests::display_formats_as_uuid_string ... ok
[INFO] [stdout] test domain::value_objects::dosage::tests::new_with_valid_amount_returns_dosage ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::from_owned_uuid_creates_correct_id ... ok
[INFO] [stdout] test domain::value_objects::dose_record_id::tests::value_returns_the_inner_uuid ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::hash_is_consistent_for_same_id ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::inequality_holds_for_different_uuids ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::serialization_works ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::generate_returns_a_new_id ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::display_formats_thrice_daily ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::as_str_returns_correct_string ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::from_uuid_reference_creates_correct_id ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::generate_creates_unique_ids ... ok
[INFO] [stdout] test domain::value_objects::medication_box_id::tests::display_returns_uuid_string ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::display_formats_twice_daily ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::custom_with_times_returns_times ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::required_times_count_returns_expected_values ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::scheduled_time_once_daily_returns_one_time ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::scheduled_time_twice_daily_returns_two_times ... ok
[INFO] [stdout] test domain::value_objects::medication_id::tests::value_returns_the_inner_uuid ... ok
[INFO] [stdout] test domain::value_objects::medication_name::tests::new_trims_surrounding_whitespace ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::display_formats_once_daily ... ok
[INFO] [stdout] test domain::value_objects::medication_refill_id::tests::display_formats_as_uuid_string ... ok
[INFO] [stdout] test domain::value_objects::medication_refill_id::tests::from_uuid_wraps_the_given_uuid ... ok
[INFO] [stdout] test domain::value_objects::medication_id::tests::display_formats_as_uuid_string ... ok
[INFO] [stdout] test domain::value_objects::medication_refill_id::tests::generate_produces_unique_ids ... ok
[INFO] [stdout] test domain::value_objects::medication_frequency::tests::display_handles_custom ... ok
[INFO] [stdout] test domain::value_objects::medication_refill_id::tests::value_returns_the_inner_uuid ... ok
[INFO] [stdout] test domain::value_objects::medication_id::tests::from_uuid_wraps_the_given_uuid ... ok
[INFO] [stdout] test domain::value_objects::medication_name::tests::display_formats_as_medication_name_string ... ok
[INFO] [stdout] test domain::value_objects::medication_id::tests::generate_produces_unique_ids ... ok
[INFO] [stdout] test domain::value_objects::medication_name::tests::new_with_whitespace_only_returns_error ... ok
[INFO] [stdout] test domain::value_objects::medication_name::tests::new_with_valid_name_returns_medication_name ... ok
[INFO] [stdout] test domain::value_objects::medication_stock_id::tests::display_formats_as_uuid_string ... ok
[INFO] [stdout] test domain::value_objects::medication_name::tests::new_with_empty_string_returns_error ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::as_str_returns_expected_string ... ok
[INFO] [stdout] test domain::value_objects::medication_stock_id::tests::value_returns_the_inner_uuid ... ok
[INFO] [stdout] test domain::value_objects::medication_stock_id::tests::generate_produces_unique_ids ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::clone_produces_equal_value ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::clone_preserves_variant ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::new_with_valid_variant_returns_ok ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::navigation_mode_variant_as_str ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::try_from_emacs_str_returns_ok ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::try_from_invalid_str_returns_error ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::try_from_invalid_str_returns_err ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::try_from_vi_str_returns_ok ... ok
[INFO] [stdout] test domain::value_objects::medication_stock_id::tests::from_uuid_wraps_the_given_uuid ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::display_matches_as_str ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time::tests::hour_returns_stored_hour ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time::tests::new_with_invalid_hour_returns_error ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time::tests::minute_returns_stored_minute ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::equality_holds_for_same_variant ... ok
[INFO] [stdout] test domain::value_objects::navigation_mode::tests::value_returns_inner_variant ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time_parser::tests::parse_scheduled_times_hour_out_of_range_returns_error ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time::tests::earlier_time_is_less_than_later_time ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time::tests::new_with_invalid_minute_returns_error ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time::tests::new_with_valid_hour_and_minute_returns_scheduled_time ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time_parser::tests::parse_scheduled_times_missing_minute_returns_error ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time_parser::tests::parse_scheduled_times_minute_out_of_range_returns_error ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time_parser::tests::parse_scheduled_times_skips_empty_strings ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time_parser::tests::parse_scheduled_times_error_display_is_user_friendly ... ok
[INFO] [stdout] test domain::value_objects::stock_quantity::tests::consume_fails_when_insufficient_stock ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time::tests::display_formats_as_hh_mm ... ok
[INFO] [stdout] test domain::value_objects::stock_quantity::tests::has_stock_returns_true_when_positive ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time_parser::tests::parse_scheduled_times_second_slot_error_reports_correct_index ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time_parser::tests::parse_scheduled_times_valid_hh_mm_returns_times ... ok
[INFO] [stdout] test domain::value_objects::stock_quantity::tests::replenish_adds_to_existing_quantity ... ok
[INFO] [stdout] test domain::value_objects::stock_quantity::tests::is_zero_returns_true_when_zero ... ok
[INFO] [stdout] test domain::value_objects::stock_quantity::tests::replenish_caps_at_max ... ok
[INFO] [stdout] test domain::value_objects::taken_at::tests::accessors_return_stored_components ... ok
[INFO] [stdout] test domain::value_objects::scheduled_time_parser::tests::parse_scheduled_times_invalid_format_returns_error ... ok
[INFO] [stdout] test domain::value_objects::taken_at::tests::earlier_datetime_is_less_than_later_datetime ... ok
[INFO] [stdout] test domain::value_objects::taken_at::tests::new_with_invalid_hour_returns_error ... ok
[INFO] [stdout] test domain::value_objects::taken_at::tests::new_with_future_datetime_returns_error ... ok
[INFO] [stdout] test domain::value_objects::taken_at::tests::new_with_past_datetime_returns_taken_at ... ok
[INFO] [stdout] test domain::value_objects::stock_quantity::tests::consume_returns_zero_when_exact_amount ... ok
[INFO] [stdout] test domain::value_objects::taken_at::tests::new_with_same_minute_as_now_returns_taken_at ... ok
[INFO] [stdout] test domain::value_objects::stock_quantity::tests::new_creates_quantity_with_given_amount ... ok
[INFO] [stdout] test domain::value_objects::stock_quantity::tests::consume_reduces_quantity ... ok
[INFO] [stdout] test domain::value_objects::taken_at::tests::display_formats_as_date_and_hh_mm ... ok
[INFO] [stdout] test domain::value_objects::taken_at::tests::new_with_invalid_minute_returns_error ... ok
[INFO] [stdout] test infrastructure::clock::system_clock::tests::now_zeroes_seconds_and_nanos ... ok
[INFO] [stdout] test infrastructure::config::app_paths::tests::config_dir_contains_bitpill_segment ... ok
[INFO] [stdout] test infrastructure::clock::system_scheduled_time_supplier::tests::current_returns_valid_hour_and_minute ... ok
[INFO] [stdout] test infrastructure::notifications::console_notification_adapter::tests::notify_dose_due_returns_ok ... ok
[INFO] [stdout] test infrastructure::config::app_paths::tests::with_paths_stores_provided_paths ... ok
[INFO] [stdout] test infrastructure::config::app_paths::tests::resolve_returns_correct_filename_for_each_path ... ok
[INFO] [stdout] test infrastructure::persistence::json_dose_record_repository::tests::with_default_path_uses_env_var_when_set ... ok
[INFO] [stdout] test infrastructure::persistence::json_dose_record_repository::tests::find_all_by_medication_returns_matching_records ... ok
[INFO] [stdout] test infrastructure::persistence::json_settings_repository::tests::save_and_load_roundtrip ... ok
[INFO] [stdout] test infrastructure::persistence::json_settings_repository::tests::load_returns_none_when_file_does_not_exist ... ok
[INFO] [stdout] test infrastructure::persistence::json_medication_repository::tests::data_persists_across_separate_repository_instances ... ok
[INFO] [stdout] test infrastructure::container::tests::new_builds_successfully ... ok
[INFO] [stdout] test infrastructure::persistence::json_dose_record_repository::tests::save_and_find_by_id_roundtrip ... ok
[INFO] [stdout] test infrastructure::persistence::json_medication_repository::tests::delete_removes_medication_from_store ... ok
[INFO] [stdout] test presentation::root::tests::new_creates_presentation_root_with_home_screen ... ok
[INFO] [stdout] test infrastructure::persistence::json_medication_repository::tests::with_default_path_uses_env_var_when_set ... ok
[INFO] [stdout] test infrastructure::persistence::json_settings_repository::tests::load_returns_error_for_invalid_json ... ok
[INFO] [stdout] test infrastructure::persistence::json_dose_record_repository::tests::data_persists_across_separate_repository_instances ... ok
[INFO] [stdout] test infrastructure::persistence::json_medication_repository::tests::save_and_find_by_id_roundtrip ... ok
[INFO] [stdout] test infrastructure::persistence::json_medication_repository::tests::find_all_returns_all_saved_medications ... ok
[INFO] [stdout] test presentation::tui::components::bottom_bar::tests::bottom_bar_constructs ... ok
[INFO] [stdout] test application::mappers::create_medication_mapper::tests::map_unknown_frequency_defaults_to_once_daily ... ok
[INFO] [stdout] test infrastructure::persistence::json_dose_record_repository::tests::delete_removes_record_from_store ... ok
[INFO] [stdout] test presentation::tui::app::tests::app_status_and_navigation ... ok
[INFO] [stdout] test infrastructure::persistence::json_dose_record_repository::tests::save_updates_existing_record_when_saved_twice ... ok
[INFO] [stdout] test infrastructure::persistence::json_medication_repository::tests::save_updates_existing_medication_when_saved_twice ... ok
[INFO] [stdout] test infrastructure::persistence::json_settings_repository::tests::save_returns_error_when_path_is_a_directory ... ok
[INFO] [stdout] test presentation::tui::components::mark_taken_line::tests::untaken_slot_shows_empty_checkbox ... ok
[INFO] [stdout] test presentation::tui::components::settings::tests::navigation_mode_variant_count_is_two ... ok
[INFO] [stdout] test presentation::tui::components::settings::tests::navigation_mode_variant_from_index_returns_emacs ... ok
[INFO] [stdout] test presentation::tui::components::schedule_time::tests::schedule_time_constructs_with_placeholders ... ok
[INFO] [stdout] test presentation::tui::components::item::tests::medication_item_constructs ... ok
[INFO] [stdout] test presentation::tui::components::settings::tests::navigation_mode_variant_from_index_returns_vi ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::event_source_trait_is_object_safe ... ok
[INFO] [stdout] test presentation::tui::components::settings::tests::navigation_mode_variant_from_index_invalid_returns_none ... ok
[INFO] [stdout] test presentation::tui::app_services::tests::default_and_from_container ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_implements_event_source_trait ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_new_is_empty ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_clone_produces_equal_instance ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_no_event_sets_poll_false ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_default_is_empty ... ok
[INFO] [stdout] test presentation::tui::components::detail::tests::medication_detail_with_taken_renders_timestamp ... ok
[INFO] [stdout] test presentation::tui::components::detail::tests::medication_detail_no_schedule_shows_no_schedule ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_poll_returns_configured_result ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_poll_returns_false_by_default ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_read_key_returns_error_when_not_configured ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_read_key_returns_configured_key ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_with_char_event_sets_char ... ok
[INFO] [stdout] test presentation::tui::components::detail::tests::medication_detail_with_no_taken_renders ... ok
[INFO] [stdout] test presentation::tui::components::list::tests::medication_list_constructs_with_items ... ok
[INFO] [stdout] test presentation::tui::components::mark_taken_line::tests::taken_slot_shows_checked_checkbox_and_time ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_with_key_sets_read_result ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_with_poll_result_sets_result ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_with_quit_event_sets_esc ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::default_constructs ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_b_navigates_left ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_backspace_focused_amount ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_backspace_focused_name ... ok
[INFO] [stdout] test presentation::tui::components::table::tests::empty_medication_list_renders_header_only ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_char_focused_amount ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_backspace_focused_scheduled_time ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_char_focused_scheduled_time ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_f_navigates_right ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_n_navigates_down ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_char_focused_other_noop ... ok
[INFO] [stdout] test presentation::tui::components::table::tests::three_column_table_renders_without_panic ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_char_focused_name ... ok
[INFO] [stdout] test presentation::tui::app::tests::tick_with_key_invokes_handler ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_enter_submit_form ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_p_navigates_up ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::emacs_skip_vim_keys ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::extract_error_messages_multiple ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::extract_error_messages_single ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::non_create_screen_returns_continue ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::submit_form_invalid_time_slot_shows_validation_error ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::submit_form_invalid_amount_shows_validation_error ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::submit_form_service_error_shows_validation_error ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_insert_char_amount ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_insert_enter_submit ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_insert_esc_exits ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_insert_char_name ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_d_noop_when_not_custom ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_enter_submit_form ... ok
[INFO] [stdout] test presentation::tui::components::table::tests::two_column_table_renders_without_panic ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_d_removes_custom_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_insert_char_scheduled_time ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_h_navigates_left ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_esc_opens_confirm_cancel ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_i_enters_insert_mode ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_down_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_left_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_right_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_k_navigates_up ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_tab_navigates_right ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_j_navigates_down ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_l_navigates_right ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_insert_backspace_amount ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_insert_backspace_scheduled_time ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_normal_up_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::default_constructs ... ok
[INFO] [stdout] test presentation::tui::handlers::create_medication_handler::tests::vim_insert_backspace_name ... ok
[INFO] [stdout] test presentation::tui::event_source::tests::fake_event_source_with_event_sets_read_result ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_backspace_amount ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_b_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_backspace_scheduled_time ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_backspace_name ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_char_focused_name ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_char_focused_amount ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_n_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_skip_vim_keys ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_p_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::non_edit_screen_returns_continue ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::submit_invalid_amount_shows_error ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::submit_service_error_shows_error ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::submit_invalid_time_shows_error ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_insert_backspace_amount ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_insert_backspace_name ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_insert_enter_submit ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_insert_esc_exits ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_down_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_enter_submit ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_esc_changed_shows_confirm_cancel ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_esc_unchanged_returns_home ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_i_enters_insert_mode ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_j_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_esc_get_err_shows_confirm_cancel ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_h_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_insert_char_name ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_insert_char_scheduled_time ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_insert_char_amount ... ok
[INFO] [stdout] test presentation::tui::components::table::tests::selected_row_is_highlighted ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_d_removes_custom_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_enter_submit ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_f_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::emacs_char_scheduled_time ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_left_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_l_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_up_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::confirm_cancel_esc_returns_previous ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_k_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::confirm_cancel_y_returns_home ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::home_screen_routes_to_list_handler ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::mark_dose_routes_to_handler ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::event_handler_smoke_exercises_branches ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::medication_details_esc_returns_home ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::settings_emacs_f_toggles ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::confirm_quit_esc_returns_previous ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::settings_emacs_b_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::settings_emacs_n_toggles_mode ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::settings_emacs_p_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::emacs_b_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::emacs_f_moves_down ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::settings_help_route_exercised ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::confirm_quit_n_returns_previous ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::emacs_skip_jk ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::non_mark_dose_screen_returns_continue ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_right_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::confirm_delete_n_returns_home ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::settings_enter_saves ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::emacs_p_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::edit_medication_handler::tests::vim_normal_tab_navigates ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::confirm_delete_esc_returns_home ... ok
[INFO] [stdout] test presentation::tui::handlers::event_handler::tests::settings_emacs_skip_vim_keys ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::mark_dose_navigation_and_enter ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::vim_down_moves_down ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::vim_enter_non_slot_marks ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::vim_enter_slot_marks ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::emacs_n_moves_down ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::vim_enter_empty_shows_status ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::vim_esc_returns_home ... ok
[INFO] [stdout] test presentation::tui::handlers::mark_dose_handler::tests::vim_up_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_down_on_field_three_fixed_at_last_slot_stays ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_down_on_field_three_custom_at_last_slot_appends_new_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_left_on_field_two_retreats_frequency ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_left_on_field_two_stays_at_zero ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_right_on_field_three_advances_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_down_on_field_zero_moves_to_field_one ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_right_on_field_two_advances_frequency ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_up_on_field_zero_stays ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::remove_custom_slot_removes_selected_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::remove_custom_slot_clamps_index_when_last_slot_removed ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::resize_slots_custom_preserves_existing_slots ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::resize_slots_custom_ensures_at_least_one_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::resize_slots_grows_vec_for_twice_daily ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_left_on_field_three_retreats_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_up_on_field_three_at_slot_zero_moves_to_field_two ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_right_on_field_two_caps_at_custom ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_up_on_field_three_with_slot_gt_zero_decrements_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_up_on_field_one_moves_to_field_zero ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::remove_custom_slot_does_not_remove_when_only_one_slot ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::resize_slots_truncates_vec_for_once_daily ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::slots_for_custom_empty_vec_returns_one ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::slots_for_custom_returns_vec_length ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::slots_for_once_daily_returns_one ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::slots_for_thrice_daily_returns_three ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::emacs_empty_list_n_noop ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_down_on_field_three_advances_slot_index ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::slots_for_twice_daily_returns_two ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_form_navigation::tests::navigate_down_on_field_three_caps_at_field_three ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::emacs_b_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::emacs_p_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::emacs_empty_list_f_noop ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::emacs_skip_vim_keys ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::emacs_n_moves_down ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::emacs_f_moves_down ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::medication_list_navigation_and_actions ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_down_empty_list_noop ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_j_empty_list_noop ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_j_moves_down ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_e_opens_edit ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_empty_enter_noop ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_enter_opens_details ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_esc_reloads ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_h_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_down_moves_down ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_empty_v_noop ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_c_opens_create ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_d_opens_confirm_delete ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_k_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_q_opens_confirm_quit ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_l_moves_down ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_s_opens_settings ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_up_moves_up ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_unknown_key_noop ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_v_opens_details ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_backspace_returns_key_backspace ... ok
[INFO] [stdout] test presentation::tui::handlers::schedule_result_handler::tests::schedule_result_brings_home_and_loads ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_char_returns_key_char ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_down_returns_key_down ... ok
[INFO] [stdout] test presentation::tui::handlers::medication_list_handler::tests::vim_m_opens_mark_dose ... ok
[INFO] [stdout] test presentation::tui::presenters::mark_dose_presenter::tests::no_records_message ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_enter_returns_key_enter ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_esc_returns_key_esc ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_left_returns_key_left ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_right_returns_key_right ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_tab_returns_key_tab ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_unknown_returns_other ... ok
[INFO] [stdout] test presentation::tui::input::tests::key_enum_derives_clone_debug_partialeq_eq ... ok
[INFO] [stdout] test presentation::tui::presenters::mark_dose_presenter::tests::headers_are_styled_and_grouped ... ok
[INFO] [stdout] test presentation::tui::presenters::medication_details_presenter::tests::present_medication_custom_frequency_renders ... ok
[INFO] [stdout] test presentation::tui::input::tests::from_code_up_returns_key_up ... ok
[INFO] [stdout] test presentation::tui::renderers::confirm_cancel_renderer::tests::test_struct_exists ... ok
[INFO] [stdout] test presentation::tui::presenters::validation_error_presenter::tests::test_present_sets_validation_error_screen ... ok
[INFO] [stdout] test presentation::tui::renderers::settings_renderer::tests::render_settings_help_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::renderers::confirm_quit_renderer::tests::test_render_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::presenters::medication_details_presenter::tests::present_medication_no_schedule_and_no_records_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::presenters::medication_details_presenter::tests::present_with_taken_record_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::presenters::medication_details_presenter::tests::present_with_medication_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::renderers::confirm_delete_renderer::tests::test_render_does_nothing_on_wrong_screen ... ok
[INFO] [stdout] test presentation::tui::renderers::confirm_delete_renderer::tests::test_render_does_not_panic_on_confirm_delete ... ok
[INFO] [stdout] test presentation::tui::renderers::confirm_cancel_renderer::tests::test_render_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::presenters::medication_details_presenter::tests::present_with_no_medication_renders_not_found ... ok
[INFO] [stdout] test presentation::tui::presenters::schedule_result_presenter::tests::present_with_zero_count_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::templates::screen_template::tests::render_very_short_terminal_uses_fallback_help_bar ... ok
[INFO] [stdout] test presentation::tui::view_state::settings_state::tests::settings_state_clone_produces_equal_state ... ok
[INFO] [stdout] test presentation::tui::view_state::settings_state::tests::settings_state_new_with_emacs_mode_sets_index_1 ... ok
[INFO] [stdout] test presentation::tui::view_state::settings_state::tests::settings_state_new_with_vi_mode_sets_index_0 ... ok
[INFO] [stdout] test presentation::tui::view_state::settings_state::tests::settings_state_toggle_cycles_multiple_times ... ok
[INFO] [stdout] test presentation::tui::view_state::settings_state::tests::settings_state_toggle_cycles_from_emacs_to_vi ... ok
[INFO] [stdout] test runner::tests::run_app_with_tui_mode_returns_ok ... ok
[INFO] [stdout] test runner::tests::parse_mode_returns_second_argument ... ok
[INFO] [stdout] test runner::tests::run_app_with_default_mode_returns_tui ... ok
[INFO] [stdout] test runner::tests::run_app_with_unknown_mode_falls_through_to_tui ... ok
[INFO] [stdout] test presentation::tui::templates::screen_template::tests::render_normal_height_no_panic ... ok
[INFO] [stdout] test presentation::tui::renderers::tests::render_confirm_cancel_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::view_state::settings_state::tests::settings_state_toggle_cycles_from_vi_to_emacs ... ok
[INFO] [stdout] test presentation::tui::presenters::schedule_result_presenter::tests::present_renders_scheduled_count ... ok
[INFO] [stdout] test runner::tests::run_app_with_api_mode_returns_ok_when_feature_disabled ... ok
[INFO] [stdout] test presentation::tui::view_state::settings_state::tests::settings_state_count_returns_2 ... ok
[INFO] [stdout] test runner::tests::parse_mode_defaults_to_tui_when_no_second_argument ... ok
[INFO] [stdout] test infrastructure::persistence::json_settings_repository::tests::save_returns_error_when_mutex_is_poisoned ... ok
[INFO] [stdout] test infrastructure::persistence::json_settings_repository::tests::load_returns_error_when_mutex_is_poisoned ... ok
[INFO] [stdout] test presentation::tui::renderers::tests::render_confirm_delete_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::renderers::tests::render_confirm_quit_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::renderers::tests::render_validation_error_does_not_panic ... ok
[INFO] [stdout] test presentation::tui::renderers::tests::render_settings_help_does_not_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 456 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bitpill-c3391ee6714374c1)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test_run_returns_ok ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_run_returns_ok stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'tests::test_run_returns_ok' (1923) panicked at src/main.rs:35:9:
[INFO] [stdout] assertion failed: run().is_ok()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x608979085e88 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x608979085e88 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x608979085e88 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x608979085e88 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x60897909aeea - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x60897909aeea - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x60897908ac52 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x60897908ac52 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x6089790636c6 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6089790636c6 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x60897907d9f9 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x608978e4db3c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x608978e4db3c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x60897907dbb2 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x60897907dbb2 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x6089790637b4 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x608979058759 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x60897906449d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x60897909b6ac - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x60897909b672 - core[8fb95b77d25ab6c8]::panicking::panic
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x608978e402cc - bitpill[da170ff9827b9119]::tests::test_run_returns_ok
[INFO] [stdout]                                at /opt/rustwide/workdir/src/main.rs:35:9
[INFO] [stdout]   21:     0x608978e3f917 - bitpill[da170ff9827b9119]::tests::test_run_returns_ok::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/main.rs:33:29
[INFO] [stdout]   22:     0x608978e40ac6 - <bitpill[da170ff9827b9119]::tests::test_run_returns_ok::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x608978e40c1b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x608978e40c1b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x608978e4e495 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x608978e4e495 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x608978e4e495 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x608978e4e495 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x608978e4e495 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x608978e4e495 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x608978e4e495 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x608978e47da4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x608978e47da4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x608978e51512 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x608978e51512 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x608978e51512 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x608978e51512 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x608978e51512 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x608978e51512 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x608978e51512 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x608979084fff - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   42:     0x608979084fff - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x75ec932b1aa4 - <unknown>
[INFO] [stdout]   44:     0x75ec9333ea64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::test_run_returns_ok
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin bitpill`
[INFO] running `Command { std: "docker" "inspect" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7", kill_on_drop: false }`
[INFO] [stdout] d9df06b2f67e797f2c70bc6bbbbf7a5f5a1e517e38322e59b493eda1404b2bc7
