[INFO] cloning repository https://github.com/JohnBCoding/quest-
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JohnBCoding/quest-" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnBCoding%2Fquest-", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnBCoding%2Fquest-'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8c649c98cff32984f0c1b606bcc8fa73d068e17d
[INFO] testing JohnBCoding/quest- against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnBCoding%2Fquest-" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/JohnBCoding/quest-
[INFO] finished tweaking git repo https://github.com/JohnBCoding/quest-
[INFO] tweaked toml for git repo https://github.com/JohnBCoding/quest- written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JohnBCoding/quest- on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JohnBCoding/quest- 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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.114
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.114
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.114
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.114
[INFO] [stderr]   Downloaded wasm-logger v0.2.0
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.64
[INFO] [stderr]   Downloaded js-sys v0.3.91
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.42
[INFO] [stderr]   Downloaded zerocopy v0.8.42
[INFO] [stderr]   Downloaded web-sys v0.3.91
[INFO] [stderr]   Downloaded libc v0.2.183
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5058c24b983f1314bdbbd6465f00f5ad5e7b32c095fd7784f6414ecaf49b5f9e
[INFO] running `Command { std: "docker" "start" "-a" "5058c24b983f1314bdbbd6465f00f5ad5e7b32c095fd7784f6414ecaf49b5f9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5058c24b983f1314bdbbd6465f00f5ad5e7b32c095fd7784f6414ecaf49b5f9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5058c24b983f1314bdbbd6465f00f5ad5e7b32c095fd7784f6414ecaf49b5f9e", kill_on_drop: false }`
[INFO] [stdout] 5058c24b983f1314bdbbd6465f00f5ad5e7b32c095fd7784f6414ecaf49b5f9e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5bbd9eae5affa29652c1b063fd4b53104c372234a5ffd121d6d1305fa06a54d1
[INFO] running `Command { std: "docker" "start" "-a" "5bbd9eae5affa29652c1b063fd4b53104c372234a5ffd121d6d1305fa06a54d1", kill_on_drop: false }`
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.114
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling wasm-bindgen v0.2.114
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.114
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling gloo-worker-macros v0.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling implicit-clone-derive v0.1.2
[INFO] [stderr]    Compiling implicit-clone v0.4.9
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling yew-macro v0.21.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.114
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling quest-core v0.1.0 (/opt/rustwide/workdir/quest-core)
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling js-sys v0.3.91
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling pinned v0.1.0
[INFO] [stderr]    Compiling prokio v0.1.0
[INFO] [stderr]    Compiling web-sys v0.3.91
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.64
[INFO] [stderr]    Compiling serde-wasm-bindgen v0.6.5
[INFO] [stderr]    Compiling gloo-timers v0.3.0
[INFO] [stderr]    Compiling gloo-utils v0.2.0
[INFO] [stderr]    Compiling gloo-events v0.2.0
[INFO] [stderr]    Compiling gloo-dialogs v0.2.0
[INFO] [stderr]    Compiling gloo-render v0.2.0
[INFO] [stderr]    Compiling wasm-logger v0.2.0
[INFO] [stderr]    Compiling gloo-console v0.3.0
[INFO] [stderr]    Compiling gloo-history v0.2.2
[INFO] [stderr]    Compiling gloo-file v0.3.0
[INFO] [stderr]    Compiling gloo-worker v0.4.0
[INFO] [stderr]    Compiling gloo-storage v0.3.0
[INFO] [stderr]    Compiling gloo-net v0.4.0
[INFO] [stderr]    Compiling gloo v0.10.0
[INFO] [stderr]    Compiling yew v0.21.0
[INFO] [stderr]    Compiling quest-web v0.1.0 (/opt/rustwide/workdir/quest-web)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.89s
[INFO] running `Command { std: "docker" "inspect" "5bbd9eae5affa29652c1b063fd4b53104c372234a5ffd121d6d1305fa06a54d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5bbd9eae5affa29652c1b063fd4b53104c372234a5ffd121d6d1305fa06a54d1", kill_on_drop: false }`
[INFO] [stdout] 5bbd9eae5affa29652c1b063fd4b53104c372234a5ffd121d6d1305fa06a54d1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f493f35703c087f2f4efca3dcd63d33c39f4e14f9446fd7dc898486180ceb27f
[INFO] running `Command { std: "docker" "start" "-a" "f493f35703c087f2f4efca3dcd63d33c39f4e14f9446fd7dc898486180ceb27f", kill_on_drop: false }`
[INFO] [stderr]    Compiling quest-core v0.1.0 (/opt/rustwide/workdir/quest-core)
[INFO] [stderr]    Compiling quest-web v0.1.0 (/opt/rustwide/workdir/quest-web)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.34s
[INFO] running `Command { std: "docker" "inspect" "f493f35703c087f2f4efca3dcd63d33c39f4e14f9446fd7dc898486180ceb27f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f493f35703c087f2f4efca3dcd63d33c39f4e14f9446fd7dc898486180ceb27f", kill_on_drop: false }`
[INFO] [stdout] f493f35703c087f2f4efca3dcd63d33c39f4e14f9446fd7dc898486180ceb27f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4a5475ccff80d14eda7861e1ae59f080e675fe17b1278e667b27a56e89d30781
[INFO] running `Command { std: "docker" "start" "-a" "4a5475ccff80d14eda7861e1ae59f080e675fe17b1278e667b27a56e89d30781", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/quest_core-c2fb0b7dd2b49d1f)
[INFO] [stdout] 
[INFO] [stdout] running 143 tests
[INFO] [stdout] test action::tests::action_serialization_roundtrip ... ok
[INFO] [stdout] test action::tests::default_assassination_has_correct_values ... ok
[INFO] [stdout] test action::tests::default_attack_has_correct_values ... ok
[INFO] [stdout] test action::tests::default_health_potion_has_correct_values ... ok
[INFO] [stdout] test action::tests::deserialization_rejects_invalid_trigger ... ok
[INFO] [stdout] test action::tests::every_n_actions_serialization_roundtrip ... ok
[INFO] [stdout] test action::tests::missing_condition_defaults_to_none ... ok
[INFO] [stdout] test action::tests::trigger_matches_every_n ... ok
[INFO] [stdout] test area::tests::area_deserialization_rejects_invalid_json ... ok
[INFO] [stdout] test area::tests::area_deserialization_without_spawn_tables_defaults_to_none ... ok
[INFO] [stdout] test area::tests::area_serialization_roundtrip ... ok
[INFO] [stdout] test area::tests::custom_area_creation ... ok
[INFO] [stdout] test area::tests::get_by_id_returns_dying_forest_with_spawn_tables ... ok
[INFO] [stdout] test area::tests::get_by_id_returns_none_for_invalid_id ... ok
[INFO] [stdout] test area::tests::registry_loads_successfully ... ok
[INFO] [stdout] test area::tests::starting_area_has_description ... ok
[INFO] [stdout] test area::tests::starting_area_has_no_spawn_table_ids ... ok
[INFO] [stdout] test area::tests::starting_area_is_the_beach ... ok
[INFO] [stdout] test equipment::tests::armor_item_has_armor_slot ... ok
[INFO] [stdout] test equipment::tests::get_all_by_drop_source_returns_split_hilt_blade ... ok
[INFO] [stdout] test equipment::tests::get_by_id_returns_split_hilt_blade ... ok
[INFO] [stdout] test equipment::tests::get_first_by_drop_source_returns_none_for_unknown_source ... ok
[INFO] [stdout] test equipment::tests::registry_loads_successfully ... ok
[INFO] [stdout] test equipment::tests::split_hilt_blade_can_equip_both_hands ... ok
[INFO] [stdout] test fruit::tests::fruit_serialization_roundtrip ... ok
[INFO] [stdout] test fruit::tests::get_by_drop_source_finds_instinct_fruit ... ok
[INFO] [stdout] test fruit::tests::get_by_drop_source_returns_none_for_unknown_boss ... ok
[INFO] [stdout] test fruit::tests::get_by_id_returns_none_for_nonexistent ... ok
[INFO] [stdout] test fruit::tests::get_by_id_returns_valid_fruit ... ok
[INFO] [stdout] test fruit::tests::registry_loads_successfully ... ok
[INFO] [stdout] test game_state::tests::advance_encounter_after_standard_mob_does_not_set_in_town ... ok
[INFO] [stdout] test game_state::tests::beach_boss_triggers_fruit_scene_not_town ... ok
[INFO] [stdout] test game_state::tests::beach_boss_with_auto_combat_triggers_town ... ok
[INFO] [stdout] test game_state::tests::boss_kill_grants_base_experience ... ok
[INFO] [stdout] test game_state::tests::boss_portal_cannot_be_entered_early ... ok
[INFO] [stdout] test game_state::tests::complete_equipment_scene_equips_item_and_sets_inventory_flag ... ok
[INFO] [stdout] test game_state::tests::complete_fruit_scene_eats_fruit_and_clears_flag ... ok
[INFO] [stdout] test game_state::tests::complete_fruit_scene_noop_when_not_active ... ok
[INFO] [stdout] test game_state::tests::deserialize_migrates_old_auto_combat_layout ... ok
[INFO] [stdout] test game_state::tests::deserialize_old_town_save_unlocks_portals ... ok
[INFO] [stdout] test game_state::tests::deserialize_returns_error_for_corrupted_data ... ok
[INFO] [stdout] test game_state::tests::deserialize_returns_error_for_wrong_version ... ok
[INFO] [stdout] test game_state::tests::drop_count_ranges_match_requested_rarity_rules ... ok
[INFO] [stdout] test game_state::tests::dying_forest_boss_portal_uses_weighted_boss_table ... ok
[INFO] [stdout] test game_state::tests::enter_area_fails_for_invalid_id ... ok
[INFO] [stdout] test game_state::tests::enter_area_transitions_correctly ... ok
[INFO] [stdout] test game_state::tests::enter_area_with_rng_supports_weighted_spawn_tables ... ok
[INFO] [stdout] test game_state::tests::enter_boss_portal_spawns_boss ... ok
[INFO] [stdout] test game_state::tests::execute_attack_ignored_when_no_mob ... ok
[INFO] [stdout] test game_state::tests::execute_attack_kills_mob_and_increments_encounters ... ok
[INFO] [stdout] test game_state::tests::execute_attack_reduces_hp_and_returns_true ... ok
[INFO] [stdout] test game_state::tests::execute_attack_stops_spawning_when_cap_reached ... ok
[INFO] [stdout] test game_state::tests::execute_mob_attack_ignored_when_no_mob ... ok
[INFO] [stdout] test game_state::tests::execute_attack_with_rng_rolls_within_player_range ... ok
[INFO] [stdout] test game_state::tests::execute_mob_attack_with_rng_rolls_within_mob_range ... ok
[INFO] [stdout] test game_state::tests::fringe_boss_triggers_town ... ok
[INFO] [stdout] test game_state::tests::overkill_damage_clamps_at_zero ... ok
[INFO] [stdout] test game_state::tests::finish_first_inventory_visit_enters_town_once ... ok
[INFO] [stdout] test game_state::tests::player_levels_up_when_xp_threshold_is_met_on_mob_death ... ok
[INFO] [stdout] test game_state::tests::new_game_creates_valid_state ... ok
[INFO] [stdout] test game_state::tests::execute_mob_attack_reduces_player_health ... ok
[INFO] [stdout] test game_state::tests::portal_to_town_unlocks_portals_and_clears_encounter_state ... ok
[INFO] [stdout] test game_state::tests::prioritized_action_falls_through_when_potion_empty ... ok
[INFO] [stdout] test game_state::tests::prioritized_action_falls_through_to_attack_when_potion_not_eligible ... ok
[INFO] [stdout] test game_state::tests::prioritized_action_respects_trigger_frequency ... ok
[INFO] [stdout] test game_state::tests::prioritized_action_returns_assassination_when_execute_triggers ... ok
[INFO] [stdout] test game_state::tests::prioritized_action_uses_potion_before_attack_when_low_health ... ok
[INFO] [stdout] test game_state::tests::rng_restore_produces_working_manager ... ok
[INFO] [stdout] test game_state::tests::standard_mob_kill_on_beach_does_not_trigger_fruit_scene ... ok
[INFO] [stdout] test game_state::tests::rat_face_subsequent_kill_drops_item_without_scene ... ok
[INFO] [stdout] test game_state::tests::rat_face_first_boss_kill_triggers_equipment_scene ... ok
[INFO] [stdout] test game_state::tests::town_entry_refills_potions ... ok
[INFO] [stdout] test game_state::tests::rare_boss_drop_rolls_record_recent_item_ids ... ok
[INFO] [stdout] test game_state::tests::validate_rejects_empty_string ... ok
[INFO] [stdout] test game_state::tests::serialize_deserialize_roundtrip ... ok
[INFO] [stdout] test game_state::tests::validate_rejects_random_garbage ... ok
[INFO] [stdout] test game_state::tests::sync_rng_updates_snapshot ... ok
[INFO] [stdout] test game_state::tests::validate_rejects_valid_json_wrong_shape ... ok
[INFO] [stdout] test game_state::tests::validate_accepts_valid_save ... ok
[INFO] [stdout] test item::tests::fruit_of_assassination_has_required_effect_text ... ok
[INFO] [stdout] test item::tests::get_by_id_returns_dull_claymore ... ok
[INFO] [stdout] test item::tests::registry_loads_successfully ... ok
[INFO] [stdout] test item::tests::split_hilt_blade_is_loaded_from_equipment_category ... ok
[INFO] [stdout] test game_state::tests::validate_rejects_wrong_version ... ok
[INFO] [stdout] test item_spawn_table::tests::pick_weighted_returns_none_when_all_weights_are_zero ... ok
[INFO] [stdout] test item_spawn_table::tests::roll_drop_respects_zero_and_hundred_percent ... ok
[INFO] [stdout] test item_spawn_table::tests::spawn_table_defaults_weights_when_omitted ... ok
[INFO] [stdout] test item_spawn_table::tests::spawn_table_deserializes_area_id_alias ... ok
[INFO] [stdout] test item_spawn_table::tests::get_by_id_returns_dying_forest_table ... ok
[INFO] [stdout] test item_spawn_table::tests::registry_loads_successfully ... ok
[INFO] [stdout] test mob::tests::damage_range_uses_max_at_least_base ... ok
[INFO] [stdout] test mob::tests::mob_creation ... ok
[INFO] [stdout] test mob::tests::mob_registry_loads_properly ... ok
[INFO] [stdout] test mob::tests::registry_loads_successfully ... ok
[INFO] [stdout] test mob::tests::take_damage ... ok
[INFO] [stdout] test mob_spawn_table::tests::get_by_id_returns_dying_forest_table ... ok
[INFO] [stdout] test mob_spawn_table::tests::get_by_id_returns_none_for_invalid_id ... ok
[INFO] [stdout] test mob_spawn_table::tests::registry_loads_successfully ... ok
[INFO] [stdout] test mob_spawn_table::tests::roll_for_unknown_table_returns_none ... ok
[INFO] [stdout] test mob_spawn_table::tests::roll_returns_none_when_total_weight_is_zero ... ok
[INFO] [stdout] test mob_spawn_table::tests::roll_returns_none_when_entries_are_empty ... ok
[INFO] [stdout] test player::tests::add_item_adds_to_item_inventory ... ok
[INFO] [stdout] test player::tests::attack_damage_defaults_to_fists ... ok
[INFO] [stdout] test player::tests::custom_name_player ... ok
[INFO] [stdout] test player::tests::default_player_has_correct_name ... ok
[INFO] [stdout] test player::tests::default_player_has_starter_stats ... ok
[INFO] [stdout] test player::tests::default_player_is_alive ... ok
[INFO] [stdout] test player::tests::dual_wield_scales_combined_weapon_range ... ok
[INFO] [stdout] test player::tests::eat_fruit_adds_to_list_and_sets_up_action ... ok
[INFO] [stdout] test item_spawn_table::tests::pick_item_id_only_returns_known_entries_from_table ... ok
[INFO] [stdout] test player::tests::eating_fruit_item_adds_action_and_removes_from_item_inventory ... ok
[INFO] [stdout] test player::tests::ensure_auto_combat_actions_migrates_old_layout ... ok
[INFO] [stdout] test player::tests::eating_same_fruit_twice_does_not_duplicate ... ok
[INFO] [stdout] test player::tests::equip_item_to_main_hand_uses_weapon_range ... ok
[INFO] [stdout] test player::tests::gain_experience_increments_without_level_up ... ok
[INFO] [stdout] test player::tests::gain_experience_levels_up_at_threshold_and_resets_exp ... ok
[INFO] [stdout] test player::tests::has_auto_combat_false_on_fresh_player ... ok
[INFO] [stdout] test player::tests::dead_player_is_not_alive ... ok
[INFO] [stdout] test player::tests::has_auto_combat_true_after_eating_instinct ... ok
[INFO] [stdout] test player::tests::has_eaten_fruit_false_for_uneaten ... ok
[INFO] [stdout] test player::tests::health_potion_does_not_trigger_at_or_above_threshold ... ok
[INFO] [stdout] test player::tests::list_item_inventory_items_returns_registered_items ... ok
[INFO] [stdout] test player::tests::player_deserialization_rejects_invalid_json ... ok
[INFO] [stdout] test player::tests::player_deserialization_rejects_missing_fields ... ok
[INFO] [stdout] test mob_spawn_table::tests::weighted_boss_rolls_favor_common_entries ... ok
[INFO] [stdout] test player::tests::player_serialization_roundtrip ... ok
[INFO] [stdout] test player::tests::player_with_fruits_serialization_roundtrip ... ok
[INFO] [stdout] test player::tests::refill_health_potions_restores_capacity ... ok
[INFO] [stdout] test player::tests::take_damage_clamps_at_zero ... ok
[INFO] [stdout] test player::tests::total_equipment_weight_counts_only_equipped_items ... ok
[INFO] [stdout] test player::tests::total_equipment_weight_is_zero_for_empty_inventory ... ok
[INFO] [stdout] test player::tests::two_handed_main_hand_blocks_off_hand_equips ... ok
[INFO] [stdout] test player::tests::two_handed_weapon_cannot_equip_to_off_hand ... ok
[INFO] [stdout] test player::tests::unequip_slot_returns_item_to_inventory ... ok
[INFO] [stdout] test player::tests::use_health_potion_heals_and_consumes_use ... ok
[INFO] [stdout] test rng::tests::different_categories_produce_different_sequences ... ok
[INFO] [stdout] test rng::tests::new_rng_manager_has_default_categories ... ok
[INFO] [stdout] test rng::tests::seeded_rng_is_reproducible ... ok
[INFO] [stdout] test rng::tests::snapshot_deserialization_rejects_invalid_json ... ok
[INFO] [stdout] test rng::tests::gen_range_respects_bounds ... ok
[INFO] [stdout] test rng::tests::unknown_category_auto_creates ... ok
[INFO] [stdout] test rng::tests::snapshot_roundtrip_serialization ... ok
[INFO] [stdout] test mob_spawn_table::tests::weighted_mob_rolls_favor_common_entries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 143 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/quest_web-be820253b3d3c519)
[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] [stderr]    Doc-tests quest_core
[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" "4a5475ccff80d14eda7861e1ae59f080e675fe17b1278e667b27a56e89d30781", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a5475ccff80d14eda7861e1ae59f080e675fe17b1278e667b27a56e89d30781", kill_on_drop: false }`
[INFO] [stdout] 4a5475ccff80d14eda7861e1ae59f080e675fe17b1278e667b27a56e89d30781
