[INFO] fetching crate tiny-business-simulator 0.4.0...
[INFO] testing tiny-business-simulator-0.4.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate tiny-business-simulator 0.4.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate tiny-business-simulator 0.4.0
[INFO] finished tweaking crates.io crate tiny-business-simulator 0.4.0
[INFO] tweaked toml for crates.io crate tiny-business-simulator 0.4.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tiny-business-simulator 0.4.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tiny-business-simulator 0.4.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db
[INFO] running `Command { std: "docker" "start" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db", 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" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db", 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" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling line-clipping v0.3.7
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling lru v0.18.1
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling time v0.3.54
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling tiny-business-simulator v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.46s
[INFO] running `Command { std: "docker" "inspect" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db", 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" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tiny-business-simulator v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.87s
[INFO] running `Command { std: "docker" "inspect" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db", 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" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/cli.rs (/opt/rustwide/target/debug/build/tiny-business-simulator/712651fcf7565078/out/tiny_business_simulator-712651fcf7565078)
[INFO] [stdout] 
[INFO] [stdout] running 112 tests
[INFO] [stdout] test lang::tests::fmt_substitutes_placeholders ... ok
[INFO] [stdout] test lang::tests::pad_to_pads_with_spaces ... ok
[INFO] [stdout] test lang::tests::fmt_handles_multibyte_and_bare_brace ... ok
[INFO] [stdout] test lang::tests::value_column_aligns_across_all_languages ... ok
[INFO] [stdout] test lang::tests::default_is_english ... ok
[INFO] [stdout] test lang::tests::fmt_block_right_aligns_numeric_columns ... ok
[INFO] [stdout] test lang::tests::from_code_roundtrip ... ok
[INFO] [stdout] test lang::tests::str_width_counts_ascii_and_double_width ... ok
[INFO] [stdout] test parser::tests::accepts_any_iso_4217_currency_code ... ok
[INFO] [stdout] test parser::tests::rejects_cost_line_with_too_few_tokens ... ok
[INFO] [stdout] test parser::tests::parses_valid_test_data_file ... ok
[INFO] [stdout] test lang::tests::pad_left_right_justifies ... ok
[INFO] [stdout] test parser::tests::parses_a_valid_product_with_multiple_costs ... ok
[INFO] [stdout] test parser::tests::parses_product_with_cad_and_no_costs ... ok
[INFO] [stdout] test parser::tests::ignores_blank_lines ... ok
[INFO] [stdout] test parser::tests::parses_product_with_usd_and_hours ... ok
[INFO] [stdout] test parser::tests::rejects_invalid_cost_currency ... ok
[INFO] [stdout] test parser::tests::rejects_invalid_sale_currency ... ok
[INFO] [stdout] test parser::tests::rejects_invalid_time_unit ... ok
[INFO] [stdout] test parser::tests::rejects_non_numeric_sale_price ... ok
[INFO] [stdout] test parser::tests::rejects_cost_line_without_minus_prefix ... ok
[INFO] [stdout] test parser::tests::rejects_product_line_without_plus_prefix ... ok
[INFO] [stdout] test parser::tests::rejects_empty_product_name ... ok
[INFO] [stdout] test parser::tests::rejects_sale_section_with_wrong_token_count ... ok
[INFO] [stdout] test parser::tests::rejects_line_with_bad_prefix ... ok
[INFO] [stdout] test parser::tests::rejects_time_section_with_wrong_token_count ... ok
[INFO] [stdout] test parser::tests::rejects_missing_product_line ... ok
[INFO] [stdout] test simulator::tests::compute_product_shares_handles_extreme_rolls_and_zero_goal ... ok
[INFO] [stdout] test parser::tests::rejects_product_line_with_wrong_section_count ... ok
[INFO] [stdout] test simulator::tests::compute_product_shares_normalizes_to_100_percent ... ok
[INFO] [stdout] test simulator::tests::per_product_and_totals_lines_align_value_column ... ok
[INFO] [stdout] test simulator::tests::print_product_stats_aligns_value_column ... ok
[INFO] [stdout] test simulator::tests::parallel_range_annual_binding ... ok
[INFO] [stdout] test simulator::tests::parallel_range_min_never_exceeds_max ... ok
[INFO] [stdout] test simulator::tests::parallel_range_monthly_binding_cap_to_one_workday ... ok
[INFO] [stdout] test simulator::tests::parallel_range_typical_multi_product_totals ... ok
[INFO] [stdout] test simulator::tests::parallel_range_zero_minutes_forces_one ... ok
[INFO] [stdout] test simulator::tests::result_file_path_appends_resultado ... ok
[INFO] [stdout] test simulator::tests::compute_result_sums_costs_and_converts_hours ... ok
[INFO] [stdout] test tui::tests::compact_value_does_not_decrease_when_value_grows ... ok
[INFO] [stdout] test tui::tests::collect_txt_files_ignores_state_file ... ok
[INFO] [stdout] test parser::tests::rejects_non_numeric_cost_price ... ok
[INFO] [stdout] test simulator::tests::write_result_file_monthly_in_all_languages ... ok
[INFO] [stdout] test parser::tests::rejects_non_numeric_production_time ... ok
[INFO] [stdout] test tui::tests::compute_month_scales_multiple_products_proportionally ... ok
[INFO] [stdout] test tui::tests::donut_uses_capped_sales ... ok
[INFO] [stdout] test tui::tests::edit_yearly_propagates_to_all_months ... ok
[INFO] [stdout] test tui::tests::compact_value_formats_small_numbers_as_is ... ok
[INFO] [stdout] test tui::tests::compact_value_uses_k_suffix_for_thousands ... ok
[INFO] [stdout] test tui::tests::compact_value_uses_m_suffix_for_millions ... ok
[INFO] [stdout] test simulator::tests::write_totals_file_monthly_in_all_languages ... ok
[INFO] [stdout] test tui::tests::compute_totals_monthly_and_annual ... ok
[INFO] [stdout] test tui::tests::fix_costs_can_make_goal_unmet_under_capacity ... ok
[INFO] [stdout] test tui::tests::export_results_contains_correct_numeric_values ... ok
[INFO] [stdout] test tui::tests::fit_bar_width_fills_available_width ... ok
[INFO] [stdout] test tui::tests::compute_totals_annual_workdays_sum_per_month ... ok
[INFO] [stdout] test tui::tests::edit_yearly_skips_month_locked_months ... ok
[INFO] [stdout] test tui::tests::export_results_writes_12_monthly_rows_and_totals ... ok
[INFO] [stdout] test tui::tests::fix_costs_increase_required_sales_and_reduce_profit ... ok
[INFO] [stdout] test parser::tests::rejects_duplicate_product_line ... ok
[INFO] [stdout] test tui::tests::fix_costs_persist_in_state_roundtrip ... ok
[INFO] [stdout] test tui::tests::compute_totals_with_varying_monthly_goals ... ok
[INFO] [stdout] test tui::tests::edit_yearly_locked_product_is_noop ... ok
[INFO] [stdout] test tui::tests::initial_monthly_percentages_sum_to_1000 ... ok
[INFO] [stdout] test tui::tests::month_parallel_range_caps_to_one_workday ... ok
[INFO] [stdout] test lang::tests::all_languages_have_required_sales_needle_distinct ... ok
[INFO] [stdout] test parser::tests::display_uses_selected_language ... ok
[INFO] [stdout] test lang::tests::fmt_aligned_pads_label_with_spaces ... ok
[INFO] [stdout] test tui::tests::load_state_normalizes_when_all_products_locked ... ok
[INFO] [stdout] test tui::tests::load_state_normalizes_when_product_removed ... ok
[INFO] [stdout] test tui::tests::load_state_normalizes_when_product_added ... ok
[INFO] [stdout] test tui::tests::month_totals_differ_per_month ... ok
[INFO] [stdout] test tui::tests::load_state_returns_none_when_no_file ... ok
[INFO] [stdout] test tui::tests::month_parallel_clamps_value_into_range ... ok
[INFO] [stdout] test tui::tests::month_totals_unchanged_when_capacity_sufficient ... ok
[INFO] [stdout] test tui::tests::month_totals_scales_down_when_capacity_exceeds ... ok
[INFO] [stdout] test tui::tests::percent_sliders_step_in_tenths_and_display_one_decimal ... ok
[INFO] [stdout] test tui::tests::monthly_profit_does_not_meet_goal_when_capped ... ok
[INFO] [stdout] test tui::tests::monthly_edit_recomputes_yearly_as_mean ... ok
[INFO] [stdout] test tui::tests::redistribute_month_freezes_locked_product ... ok
[INFO] [stdout] test tui::tests::redistribute_month_includes_zero_products ... ok
[INFO] [stdout] test tui::tests::redistribute_month_locked_changed_is_noop ... ok
[INFO] [stdout] test tui::tests::month_parallel_range_decoupled_from_workday_hours ... ok
[INFO] [stdout] test lang::tests::prefix_before_value_strips_trailing_whitespace ... ok
[INFO] [stdout] test tui::tests::monthly_profit_meets_goal_when_capacity_sufficient ... ok
[INFO] [stdout] test tui::tests::period_next_prev_wraps ... ok
[INFO] [stdout] test tui::tests::redistribute_month_setting_zero_distributes_to_others ... ok
[INFO] [stdout] test tui::tests::raising_min_clamps_overrides ... ok
[INFO] [stdout] test tui::tests::redistribute_month_yearly_locked_is_frozen ... ok
[INFO] [stdout] test tui::tests::redistribute_month_clamped_by_locked_room ... ok
[INFO] [stdout] test tui::tests::redistribute_month_keeps_total_at_1000 ... ok
[INFO] [stdout] test tui::tests::share_for_month_normalizes_percentages ... ok
[INFO] [stdout] test tui::tests::slider_track_fills_proportionally ... ok
[INFO] [stdout] test tui::tests::state_file_is_not_hidden_txt ... ok
[INFO] [stdout] test tui::tests::totals_match_capped_chart_values ... ok
[INFO] [stdout] test tui::tests::word_wrap_hard_splits_long_words ... ok
[INFO] [stdout] test tui::tests::yearly_pct_is_mean_of_months ... ok
[INFO] [stdout] test tui::tests::word_wrap_empty_returns_empty_line ... ok
[INFO] [stdout] test tui::tests::word_wrap_breaks_at_spaces ... ok
[INFO] [stdout] test tui::tests::yearly_lock_renders_month_checkbox_checked_and_greyed ... ok
[INFO] [stdout] test tui::tests::yearly_ref_check_matches_sum_of_monthly_goals ... ok
[INFO] [stdout] test tui::tests::yearly_ref_sum_includes_monthly_fix_costs ... ok
[INFO] [stdout] test tui::tests::save_then_load_state_roundtrip ... ok
[INFO] [stdout] test tui::tests::share_for_month_all_zero_splits_equally ... ok
[INFO] [stdout] test tui::tests::slider_clamps_and_steps ... ok
[INFO] [stdout] test tui::tests::period_bar_renders_full_year_and_selected_month ... ok
[INFO] [stdout] test tui::tests::graph_arrow_marks_selected_month_bars ... ok
[INFO] [stdout] test tui::tests::graph_renders_tick_for_met_goal_and_cross_for_unmet ... ok
[INFO] [stdout] test tui::tests::settings_renders_two_columns_side_by_side ... ok
[INFO] [stdout] test tui::tests::sidebar_padding_clamps_to_fit_all_product_rows ... ok
[INFO] [stdout] test tui::tests::totals_renders_two_columns_side_by_side ... ok
[INFO] [stdout] test simulator::tests::compute_product_shares_panics_on_length_mismatch - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 112 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db", kill_on_drop: false }`
[INFO] [stdout] 5df95c0aa9b7b631de3207b807a5aea6970b63f9fcd49766448419ded009b8db
