[INFO] cloning repository https://github.com/mathew-bravo/kontra
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mathew-bravo/kontra" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmathew-bravo%2Fkontra", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmathew-bravo%2Fkontra'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b855fd71d997c2cfad0b14a28affd74ae9a24a46
[INFO] testing mathew-bravo/kontra against 1.95.0 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmathew-bravo%2Fkontra" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mathew-bravo/kontra
[INFO] finished tweaking git repo https://github.com/mathew-bravo/kontra
[INFO] tweaked toml for git repo https://github.com/mathew-bravo/kontra written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mathew-bravo/kontra on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mathew-bravo/kontra already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 12fb96aa5970dc27f2d92c58f8e19b7be7977443132fd09e6d0c5e621d96a80f
[INFO] running `Command { std: "docker" "start" "-a" "12fb96aa5970dc27f2d92c58f8e19b7be7977443132fd09e6d0c5e621d96a80f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "12fb96aa5970dc27f2d92c58f8e19b7be7977443132fd09e6d0c5e621d96a80f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12fb96aa5970dc27f2d92c58f8e19b7be7977443132fd09e6d0c5e621d96a80f", kill_on_drop: false }`
[INFO] [stdout] 12fb96aa5970dc27f2d92c58f8e19b7be7977443132fd09e6d0c5e621d96a80f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f5cec883d28d4e1390f92f1054e90b771866d6d171f144ae5ac289b84e21b7be
[INFO] running `Command { std: "docker" "start" "-a" "f5cec883d28d4e1390f92f1054e90b771866d6d171f144ae5ac289b84e21b7be", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling kontra v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.65s
[INFO] running `Command { std: "docker" "inspect" "f5cec883d28d4e1390f92f1054e90b771866d6d171f144ae5ac289b84e21b7be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5cec883d28d4e1390f92f1054e90b771866d6d171f144ae5ac289b84e21b7be", kill_on_drop: false }`
[INFO] [stdout] f5cec883d28d4e1390f92f1054e90b771866d6d171f144ae5ac289b84e21b7be
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 15faa61e9824b10e6de5cd03ff028a14837c1fd0c6cca394087de1811465cdb8
[INFO] running `Command { std: "docker" "start" "-a" "15faa61e9824b10e6de5cd03ff028a14837c1fd0c6cca394087de1811465cdb8", kill_on_drop: false }`
[INFO] [stderr]    Compiling kontra v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.30s
[INFO] running `Command { std: "docker" "inspect" "15faa61e9824b10e6de5cd03ff028a14837c1fd0c6cca394087de1811465cdb8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15faa61e9824b10e6de5cd03ff028a14837c1fd0c6cca394087de1811465cdb8", kill_on_drop: false }`
[INFO] [stdout] 15faa61e9824b10e6de5cd03ff028a14837c1fd0c6cca394087de1811465cdb8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cb5b87d6d07e6afe209b7fb4f53a99209c1d60a496a6a69a20cd634fa0d83b43
[INFO] running `Command { std: "docker" "start" "-a" "cb5b87d6d07e6afe209b7fb4f53a99209c1d60a496a6a69a20cd634fa0d83b43", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kontra-697381ddbd0a44d6)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test calendar::tests::add_business_days_skips_weekends_and_crosses_month_and_year ... ok
[INFO] [stdout] test calendar::tests::is_business_day_respects_weekend_and_holiday_rules ... ok
[INFO] [stdout] test calendar::tests::next_business_day_moves_to_next_valid_day ... ok
[INFO] [stdout] test calendar::tests::add_business_days_skips_configured_holidays ... ok
[INFO] [stdout] test chunk::tests::chunk_write_and_read_back ... ok
[INFO] [stdout] test chunk::tests::disassemble_constant_and_return ... ok
[INFO] [stdout] test chunk::tests::opcode_u8_roundtrip ... ok
[INFO] [stdout] test compiler::tests::compile_condition_grouping_changes_opcode_order ... ok
[INFO] [stdout] test compiler::tests::compile_condition_mixed_and_or_emits_precedence_order ... ok
[INFO] [stdout] test compiler::tests::compile_contract_missing_closing_brace ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_event_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_phase_name_reports_error ... ok
[INFO] [stdout] test chunk::tests::add_constant_returns_index ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_term_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_event_date_decl ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_party_role_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_obligation_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_empty_contract_body_produces_return_only ... ok
[INFO] [stdout] test compiler::tests::compile_empty_string_produces_return ... ok
[INFO] [stdout] test compiler::tests::compile_single_party_contract ... ok
[INFO] [stdout] test compiler::tests::compile_multi_party_contract ... ok
[INFO] [stdout] test compiler::tests::compile_duplicate_remedy_name_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_obligation_all_fields_with_due_identifier ... ok
[INFO] [stdout] test compiler::tests::compile_remedy_with_direct_fields ... ok
[INFO] [stdout] test compiler::tests::compile_obligation_inline_due_emits_set_due_with_raw_constant ... ok
[INFO] [stdout] test compiler::tests::compile_term_missing_from_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_remedy_with_phases_emits_phase_opcodes ... ok
[INFO] [stdout] test compiler::tests::compile_tracks_error_on_bad_token ... ok
[INFO] [stdout] test compiler::tests::compile_whitespace_only_produces_return ... ok
[INFO] [stdout] test config::tests::parse_registry_json_rejects_invalid_holiday_format ... ok
[INFO] [stdout] test config::tests::parse_registry_json_supports_custom_default_and_calendar_fields ... ok
[INFO] [stdout] test config::tests::parse_registry_json_empty_calendars_falls_back_to_phase2_default ... ok
[INFO] [stdout] test compiler::tests::compile_term_business_days_from_breach_of ... ok
[INFO] [stdout] test compiler::tests::compile_term_calendar_days_from_event ... ok
[INFO] [stdout] test config::tests::parse_registry_json_rejects_invalid_weekday ... ok
[INFO] [stdout] test diff::tests::diff_obligations_detects_condition_change ... ok
[INFO] [stdout] test diff::tests::diff_remedies_detects_breach_target_change ... ok
[INFO] [stdout] test diff::tests::diff_ordering_is_deterministic_independent_of_declaration_order ... ok
[INFO] [stdout] test diff::tests::risk_warnings_flag_removed_terminal_remedy_and_removed_phase ... ok
[INFO] [stdout] test diff::tests::diff_parties_detects_field_level_change ... ok
[INFO] [stdout] test diff::tests::render_diff_includes_changed_term_added_obligation_and_removed_phase ... ok
[INFO] [stdout] test compiler::tests::compile_contract_missing_contract_keyword ... ok
[INFO] [stdout] test engine::tests::active_obligation_breaches_after_deadline ... ok
[INFO] [stdout] test diff::tests::diff_phases_detects_phase_field_change ... ok
[INFO] [stdout] test engine::tests::active_when_condition_becomes_true ... ok
[INFO] [stdout] test engine::tests::breach_anchor_uses_first_day_after_due_not_eval_date ... ok
[INFO] [stdout] test engine::tests::breach_cascade_is_deterministic_across_repeated_runs ... ok
[INFO] [stdout] test compiler::tests::compile_obligation_unknown_field_reports_error ... ok
[INFO] [stdout] test compiler::tests::compile_event_triggered_by_decl ... ok
[INFO] [stdout] test diff::tests::diff_events_detects_changed_definition ... ok
[INFO] [stdout] test diff::tests::diff_terms_detects_duration_change ... ok
[INFO] [stdout] test engine::tests::condition_before_uses_event_date_threshold ... ok
[INFO] [stdout] test engine::tests::business_and_calendar_day_due_dates_diverge ... ok
[INFO] [stdout] test engine::tests::breach_cascade_traces_multi_step_and_scoped_dependencies ... ok
[INFO] [stdout] test engine::tests::obligation_without_condition_activates_when_evaluated ... ok
[INFO] [stdout] test engine::tests::condition_grouping_changes_default_precedence ... ok
[INFO] [stdout] test engine::tests::business_day_term_skips_configured_holidays_in_due_resolution ... ok
[INFO] [stdout] test engine::tests::remedy_phase_activates_when_target_breaches ... ok
[INFO] [stdout] test engine::tests::query_state_computes_due_and_overdue_for_breached_item ... ok
[INFO] [stdout] test engine::tests::business_day_term_skips_weekends_in_due_resolution ... ok
[INFO] [stdout] test config::tests::load_calendar_registry_from_path_reads_json_file ... ok
[INFO] [stdout] test engine::tests::forked_runtime_can_diverge_from_canonical_state ... ok
[INFO] [stdout] test engine::tests::condition_precedence_treats_and_tighter_than_or ... ok
[INFO] [stdout] test engine::tests::repeated_simulations_from_same_base_are_deterministic ... ok
[INFO] [stdout] test engine::tests::runtime_uses_default_calendar_for_term_without_override ... ok
[INFO] [stdout] test engine::tests::query_state_includes_all_runtime_items_sorted ... ok
[INFO] [stdout] test engine::tests::runtime_rejects_unknown_term_calendar_override ... ok
[INFO] [stdout] test engine::tests::snapshot_display_formats_pending_and_breached ... ok
[INFO] [stdout] test engine::tests::pending_before_condition_is_met ... ok
[INFO] [stdout] test error::tests::compile_error_display ... ok
[INFO] [stdout] test error::tests::runtime_error_with_line_display ... ok
[INFO] [stdout] test engine::tests::simulate_with_does_not_mutate_canonical_runtime ... ok
[INFO] [stdout] test error::tests::runtime_error_without_line_display ... ok
[INFO] [stdout] test error::tests::scan_error_display ... ok
[INFO] [stdout] test error::tests::span_fields ... ok
[INFO] [stdout] test scanner::tests::line_comments_are_ignored ... ok
[INFO] [stdout] test scanner::tests::scan_small_contract_snippet ... ok
[INFO] [stdout] test scanner::tests::unterminated_string_produces_error_token ... ok
[INFO] [stdout] test types::tests::from_calendars_empty_falls_back_to_phase2_default ... ok
[INFO] [stdout] test types::tests::normalize_uses_sorted_first_calendar_when_default_is_invalid ... ok
[INFO] [stdout] test types::tests::standard_calendar_defaults_to_weekdays_only ... ok
[INFO] [stdout] test vm::tests::interpret_condition_and_builds_condition_tree ... ok
[INFO] [stdout] test vm::tests::interpret_minimal_contract_builds_party_and_obligation ... ok
[INFO] [stdout] test vm::tests::interpret_condition_grouping_with_or_and_before_builds_tree ... ok
[INFO] [stdout] test vm::tests::interpret_remedy_with_phase_builds_nested_structure ... ok
[INFO] [stdout] test types::tests::from_calendars_rejects_duplicate_ids ... ok
[INFO] [stdout] test vm::tests::runtime_error_includes_source_line_for_stack_underflow ... ok
[INFO] [stdout] test vm::tests::vm_rejects_duplicate_party_roles_even_if_bytecode_repeats_them ... ok
[INFO] [stdout] test engine::tests::runtime_uses_term_calendar_override_when_present ... ok
[INFO] [stdout] test config::tests::parse_registry_json_normalizes_invalid_default_id ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kontra-b7b156b7ab8f7ec5)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test tests::format_simulation_output_labels_canonical_and_simulated_sections ... ok
[INFO] [stdout] test tests::parse_date_rejects_invalid_format ... ok
[INFO] [stdout] test tests::parse_date_accepts_valid_iso ... ok
[INFO] [stdout] test tests::parse_eval_options_parses_repeated_trigger_and_at ... ok
[INFO] [stdout] test tests::parse_simulate_options_parses_multiple_triggers_without_at ... ok
[INFO] [stdout] test tests::parse_simulate_options_requires_trigger ... ok
[INFO] [stdout] test tests::parse_trigger_arg_accepts_valid_pair ... ok
[INFO] [stdout] test tests::parse_trigger_arg_rejects_missing_equal ... ok
[INFO] [stdout] test tests::parse_simulate_options_rejects_unknown_flag ... ok
[INFO] [stdout] test tests::parse_eval_options_rejects_malformed_at_date ... ok
[INFO] [stdout] test tests::repl_help_text_includes_simulate_cascade_and_examples ... ok
[INFO] [stdout] test tests::parse_eval_options_rejects_unknown_flag ... ok
[INFO] [stdout] test tests::parse_simulate_options_parses_repeated_trigger_and_at ... ok
[INFO] [stdout] test tests::resolve_runtime_item_for_cascade_rejects_unknown_item ... ok
[INFO] [stdout] test tests::run_help_text_has_clear_usage ... ok
[INFO] [stdout] test tests::resolve_runtime_item_for_cascade_supports_unique_suffix_match ... ok
[INFO] [stdout] test tests::run_cli_unknown_subcommand_is_actionable ... ok
[INFO] [stdout] test tests::render_simulation_output_matches_expected_golden_flow ... ok
[INFO] [stdout] test tests::resolve_runtime_item_for_cascade_rejects_ambiguous_suffix_match ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kontra
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cb5b87d6d07e6afe209b7fb4f53a99209c1d60a496a6a69a20cd634fa0d83b43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb5b87d6d07e6afe209b7fb4f53a99209c1d60a496a6a69a20cd634fa0d83b43", kill_on_drop: false }`
[INFO] [stdout] cb5b87d6d07e6afe209b7fb4f53a99209c1d60a496a6a69a20cd634fa0d83b43
