[INFO] cloning repository https://github.com/lollek/omoria [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lollek/omoria" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flollek%2Fomoria", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flollek%2Fomoria'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 54546b4bcd1284c93e076ab2ec70fe022baadb2f [INFO] testing lollek/omoria against master#c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af for pr-154756 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flollek%2Fomoria" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/lollek/omoria [INFO] finished tweaking git repo https://github.com/lollek/omoria [INFO] tweaked toml for git repo https://github.com/lollek/omoria written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lollek/omoria on toolchain c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lollek/omoria 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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded quote v1.0.38 [INFO] [stderr] Downloaded unicode-ident v1.0.1 [INFO] [stderr] Downloaded serial_test v3.2.0 [INFO] [stderr] Downloaded serial_test_derive v3.2.0 [INFO] [stderr] Downloaded cfg-if v0.1.5 [INFO] [stderr] Downloaded rand_core v0.3.1 [INFO] [stderr] Downloaded enum-iterator-derive v1.4.0 [INFO] [stderr] Downloaded enum-iterator v1.5.0 [INFO] [stderr] Downloaded pkg-config v0.3.14 [INFO] [stderr] Downloaded fuchsia-cprng v0.1.1 [INFO] [stderr] Downloaded rdrand v0.4.0 [INFO] [stderr] Downloaded itoa v1.0.14 [INFO] [stderr] Downloaded scopeguard v1.1.0 [INFO] [stderr] Downloaded winreg v0.5.1 [INFO] [stderr] Downloaded ncurses v5.101.0 [INFO] [stderr] Downloaded addr2line v0.17.0 [INFO] [stderr] Downloaded rustc-demangle v0.1.21 [INFO] [stderr] Downloaded miniz_oxide v0.5.4 [INFO] [stderr] Downloaded backtrace v0.3.66 [INFO] [stderr] Downloaded serde v1.0.217 [INFO] [stderr] Downloaded memchr v2.5.0 [INFO] [stderr] Downloaded scc v2.3.0 [INFO] [stderr] Downloaded syn v2.0.96 [INFO] [stderr] Downloaded serde_json v1.0.135 [INFO] [stderr] Downloaded cc v1.0.73 [INFO] [stderr] Downloaded rand v0.4.6 [INFO] [stderr] Downloaded serde_derive v1.0.217 [INFO] [stderr] Downloaded object v0.29.0 [INFO] [stderr] Downloaded proc-macro2 v1.0.93 [INFO] [stderr] Downloaded pancurses v0.16.1 [INFO] [stderr] Downloaded once_cell v1.20.2 [INFO] [stderr] Downloaded bitflags v2.8.0 [INFO] [stderr] Downloaded smallvec v1.10.0 [INFO] [stderr] Downloaded rand_core v0.4.2 [INFO] [stderr] Downloaded log v0.4.5 [INFO] [stderr] Downloaded autocfg v1.4.0 [INFO] [stderr] Downloaded sdd v3.0.5 [INFO] [stderr] Downloaded redox_syscall v0.5.8 [INFO] [stderr] Downloaded pdcurses-sys v0.7.0 [INFO] [stderr] Downloaded gimli v0.26.2 [INFO] [stderr] Downloaded libc v0.2.169 [INFO] [stderr] Downloaded winapi v0.3.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ae14174762dda86e79ce74c529597077a5fade9c0595a0c3f08ca4b40880ec95 [INFO] running `Command { std: "docker" "start" "-a" "ae14174762dda86e79ce74c529597077a5fade9c0595a0c3f08ca4b40880ec95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ae14174762dda86e79ce74c529597077a5fade9c0595a0c3f08ca4b40880ec95", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ae14174762dda86e79ce74c529597077a5fade9c0595a0c3f08ca4b40880ec95", kill_on_drop: false }` [INFO] [stdout] ae14174762dda86e79ce74c529597077a5fade9c0595a0c3f08ca4b40880ec95 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ae6fe2adf161eeef78e5f218c0f7323510648e4d4d6e63b03b7e8bb6396d61e8 [INFO] running `Command { std: "docker" "start" "-a" "ae6fe2adf161eeef78e5f218c0f7323510648e4d4d6e63b03b7e8bb6396d61e8", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Compiling unicode-ident v1.0.1 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling pkg-config v0.3.14 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Compiling gimli v0.26.2 [INFO] [stderr] Compiling serde_json v1.0.135 [INFO] [stderr] Compiling cfg-if v0.1.5 [INFO] [stderr] Compiling rustc-demangle v0.1.21 [INFO] [stderr] Compiling itoa v1.0.14 [INFO] [stderr] Compiling miniz_oxide v0.5.4 [INFO] [stderr] Compiling log v0.4.5 [INFO] [stderr] Compiling object v0.29.0 [INFO] [stderr] Compiling ncurses v5.101.0 [INFO] [stderr] Compiling backtrace v0.3.66 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling pancurses v0.16.1 [INFO] [stderr] Compiling addr2line v0.17.0 [INFO] [stderr] Compiling enum-iterator-derive v1.4.0 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Compiling enum-iterator v1.5.0 [INFO] [stderr] Compiling omoria v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.38s [INFO] running `Command { std: "docker" "inspect" "ae6fe2adf161eeef78e5f218c0f7323510648e4d4d6e63b03b7e8bb6396d61e8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ae6fe2adf161eeef78e5f218c0f7323510648e4d4d6e63b03b7e8bb6396d61e8", kill_on_drop: false }` [INFO] [stdout] ae6fe2adf161eeef78e5f218c0f7323510648e4d4d6e63b03b7e8bb6396d61e8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9d73e1fc6c354a5c806fdd08f04a0efb1597f28128284e742709928fd8374db8 [INFO] running `Command { std: "docker" "start" "-a" "9d73e1fc6c354a5c806fdd08f04a0efb1597f28128284e742709928fd8374db8", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling smallvec v1.10.0 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling sdd v3.0.5 [INFO] [stderr] Compiling once_cell v1.20.2 [INFO] [stderr] Compiling serial_test_derive v3.2.0 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling scc v2.3.0 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling serial_test v3.2.0 [INFO] [stderr] Compiling omoria v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 16.28s [INFO] running `Command { std: "docker" "inspect" "9d73e1fc6c354a5c806fdd08f04a0efb1597f28128284e742709928fd8374db8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9d73e1fc6c354a5c806fdd08f04a0efb1597f28128284e742709928fd8374db8", kill_on_drop: false }` [INFO] [stdout] 9d73e1fc6c354a5c806fdd08f04a0efb1597f28128284e742709928fd8374db8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=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" "+c2efcc4ae006a6b2761cb42572fc9cee0d1ce4af" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1e6af935759617420869c671e9e94262a5221ba376a0c9b3990e69f93289d9eb [INFO] running `Command { std: "docker" "start" "-a" "1e6af935759617420869c671e9e94262a5221ba376a0c9b3990e69f93289d9eb", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/omoria-9f0b58814547d01d) [INFO] [stdout] [INFO] [stdout] running 541 tests [INFO] [stdout] test combat::fighting::tests::managed_to_hit_sometimes_hits_via_natural_one_on_d20 ... ok [INFO] [stdout] test data::item_name::subtype::ammo::tests::test_arrow ... ok [INFO] [stdout] test data::item_name::subtype::ammo::tests::test_bolt ... ok [INFO] [stdout] test combat::fighting::tests::managed_to_hit_hits_when_attack_roll_exceeds_ac ... ok [INFO] [stdout] test data::item_name::subtype::ammo::tests::test_iron_shot ... ok [INFO] [stdout] test data::item_name::subtype::amulet::test::test_names_multiple_unidentified ... ok [INFO] [stdout] test data::item_name::subtype::amulet::test::test_names_single_identified ... ok [INFO] [stdout] test data::item_name::subtype::ammo::tests::test_rounded_pebble ... ok [INFO] [stdout] test data::item_name::subtype::amulet::test::test_names_single_unidentified ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_identified ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_unidentified_quantity_prefixes ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist_acid ... ok [INFO] [stdout] test data::item_name::subtype::bag::tests::test_bag_of_holding1500 ... ok [INFO] [stdout] test data::item_name::subtype::bag::tests::test_bag_of_holding1000 ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist_fire ... ok [INFO] [stdout] test data::item_name::subtype::bag::tests::test_bag_of_holding500 ... ok [INFO] [stdout] test data::item_name::subtype::bag::tests::test_bag_of_holding250 ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist ... ok [INFO] [stdout] test data::item_name::subtype::bag::tests::test_bag_of_devouring ... ok [INFO] [stdout] test data::item_name::subtype::book::tests::test_magic_book_2 ... ok [INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_large_wooden_chest ... ok [INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_small_iron_chest ... ok [INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_small_steel_chest ... ok [INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_identified ... ok [INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_identified_includes_charges ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_known ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_unidentified ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist_lightning ... ok [INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_small_wooden_chest ... ok [INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_large_steel_chest ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_unidentified_to_hit ... ok [INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_large_iron_chest ... ok [INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_identified_includes_charges_even_zero ... ok [INFO] [stdout] test data::item_name::subtype::dungeon_feature::tests::test_closed_door_single ... ok [INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_multiple_prefix ... ok [INFO] [stdout] test data::item_name::subtype::dungeon_feature::tests::test_unseen_trap_none_prefix ... ok [INFO] [stdout] test data::item_name::subtype::food::tests::test_ration_of_food ... ok [INFO] [stdout] test data::item_name::subtype::flask::tests::test_flask_of_oil_multiple ... ok [INFO] [stdout] test data::item_name::subtype::flask::tests::test_flask_of_oil_single ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_fine_sapphire ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_fine_diamond ... ok [INFO] [stdout] test data::item_name::subtype::flask::tests::test_flask_of_oil_none ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_fine_agate ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_acid_balls ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_annihilation ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_identify ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_detect_monster ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_light ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_remove_curse ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_summoning ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_large_sack_of_pearls ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_recall ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_large_pouch_of_diamonds ... ok [INFO] [stdout] test data::item_name::subtype::dungeon_feature::tests::test_closed_door_multiple_prefix ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_detect_invisible ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_darkness ... ok [INFO] [stdout] test data::item_name::subtype::gem_helm::tests::test_gem_helm_iron_unidentified ... ok [INFO] [stdout] test data::item_name::subtype::gem_helm::tests::test_gem_helm_none_prefix_no_plural ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_rough_sapphire ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_small_bag_of_opals ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_small_bag_of_sapphires ... ok [INFO] [stdout] test data::item_name::subtype::gem_helm::tests::test_gem_helm_iron_identified_adds_of_gems ... ok [INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_none_prefix ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_small_pouch_of_diamonds ... ok [INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_known_subtype_but_not_identified ... ok [INFO] [stdout] test data::item_name::subtype::gem_helm::tests::test_gem_helm_multiple_prefix_no_plural ... ok [INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_identified ... ok [INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_known_subtype_does_not_show_charges_when_not_identified ... ok [INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_unidentified_unknown_subtype ... ok [INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist_cold ... ok [INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_identified_shows_charges ... ok [INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_known_subtype_but_not_identified ... ok [INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_known_subtype_does_not_show_charges_when_not_identified ... ok [INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_unidentified_unknown_subtype ... ok [INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_none_prefix ... ok [INFO] [stdout] test data::item_name::subtype::instrument::tests::test_instrument_none_prefix ... ok [INFO] [stdout] test data::item_name::subtype::instrument::tests::test_instrument_multiple_prefix ... ok [INFO] [stdout] test data::item_name::subtype::jewelry::tests::test_jewelry_large_mithril_garter_belt ... ok [INFO] [stdout] test data::item_name::subtype::instrument::tests::test_instrument_single ... ok [INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_multiple_prefix ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_dispel_evil ... ok [INFO] [stdout] test data::item_name::subtype::gem_helm::tests::test_gem_helm_steel_unidentified ... ok [INFO] [stdout] test data::item_name::subtype::instrument::tests::test_instrument_known_subtype_has_no_effect_without_item_identification ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_large_sack_of_sapphires ... ok [INFO] [stdout] test data::item_name::subtype::gem::tests::test_rough_diamond ... ok [INFO] [stdout] test data::item_name::subtype::jewelry::tests::test_jewelry_small_gold_pendant ... ok [INFO] [stdout] test data::item_name::subtype::jewelry::tests::test_jewelry_small_mithril_pendant ... ok [INFO] [stdout] test data::item_name::subtype::light_source::tests::test_light_source_brass_lantern ... ok [INFO] [stdout] test data::item_name::subtype::light_source::tests::test_light_source_magic_lantern ... ok [INFO] [stdout] test data::item_name::subtype::light_source::tests::test_light_source_magic_torch ... ok [INFO] [stdout] test data::item_name::subtype::amulet::test::test_names_single_known_type_unidentified ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_human_skeleton ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_rat_skeleton ... ok [INFO] [stdout] test data::item_name::subtype::melee_weapon::tests::test_names_unidentified ... ok [INFO] [stdout] test data::item_name::subtype::light_source::tests::test_light_source_wooden_torch ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_broken_set_of_teeth ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_dwarf_skeleton ... ok [INFO] [stdout] test data::item_name::subtype::melee_weapon::tests::test_identified ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_giant_centipede_skeleton ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_broken_stick ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_empty_bottle ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_bottle_of_demons ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_large_broken_bone ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_cross_of_demon_summoning ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_cross_of_turning ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_corked_bottle ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_cross ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_bottle_of_djinni ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_gold_cross ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_statue_of_summon_undead ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_cross_of_demon_dispelling ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_cross_of_undead_summoning ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_silver_cross ... ok [INFO] [stdout] test data::item_name::subtype::potion::tests::test_potion_identified ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_ballista ... ok [INFO] [stdout] test data::item_name::subtype::potion::tests::test_potion_known_subtype_but_not_identified ... ok [INFO] [stdout] test data::item_name::subtype::potion::tests::test_potion_multiple_prefix ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_statue_of_summon_demon ... ok [INFO] [stdout] test data::item_name::subtype::potion::tests::test_potion_none_prefix ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_statue ... ok [INFO] [stdout] test data::item_name::subtype::potion::tests::test_potion_unidentified_unknown_subtype ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_mithril_cross ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_hunters_bow ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_light_crossbow ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_siege_bow ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_war_bow ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_composite_bow ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_warded_bow ... ok [INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_identified_shows_toac ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_gnome_skeleton ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_double_bow ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_heavy_crossbow ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_shards_of_pottery ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_shortbow ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_siege_crossbow ... ok [INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_identified_woe_bonus ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_special_of_criticals ... ok [INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_known_subtype_but_not_identified_hides_toac ... ok [INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_multiple_prefix ... ok [INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_unidentified_unknown_subtype ... ok [INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_none_prefix ... ok [INFO] [stdout] test data::item_name::subtype::scroll::tests::test_scroll_none_prefix ... ok [INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_sling ... ok [INFO] [stdout] test data::item_name::subtype::scroll::tests::test_scroll_unidentified_unknown_subtype ... ok [INFO] [stdout] test data::item_name::subtype::shield::tests::test_shield_identified_single_shows_ac_and_toac ... ok [INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_known_subtype_speed ... ok [INFO] [stdout] test data::item_name::subtype::shield::tests::test_shield_none_prefixes_with_no_more ... ok [INFO] [stdout] test data::item_name::subtype::shield::tests::test_shield_unidentified_single_shows_base_ac_only ... ok [INFO] [stdout] test data::item_name::subtype::shield::tests::test_shield_known_subtype_but_not_identified_matches_unidentified_format ... ok [INFO] [stdout] test data::item_name::subtype::shield::tests::test_shield_unknown_subtype_is_not_alien_shield ... ok [INFO] [stdout] test data::item_name::subtype::scroll::tests::test_scroll_multiple_prefix ... ok [INFO] [stdout] test data::item_name::subtype::small_armor::tests::test_identified ... ok [INFO] [stdout] test data::item_name::subtype::small_armor::tests::test_known_type ... ok [INFO] [stdout] test data::item_name::subtype::shield::tests::test_shield_multiple_prefixes_with_count ... ok [INFO] [stdout] test data::item_name::subtype::scroll::tests::test_scroll_identified ... ok [INFO] [stdout] test data::item_name::subtype::scroll::tests::test_scroll_known_subtype_but_not_identified ... ok [INFO] [stdout] test data::item_name::subtype::small_armor::tests::test_unidentified ... ok [INFO] [stdout] test data::item_name::subtype::staff::tests::test_staff_identified_includes_charges_even_zero ... ok [INFO] [stdout] test data::item_name::subtype::staff::tests::test_staff_known_subtype_but_not_identified ... ok [INFO] [stdout] test data::item_name::subtype::staff::tests::test_staff_multiple_prefix ... ok [INFO] [stdout] test data::item_name::subtype::spike::tests::test_spike ... ok [INFO] [stdout] test data::item_name::subtype::wand::tests::test_wand_identified ... ok [INFO] [stdout] test data::item_name::subtype::staff::tests::test_staff_identified_includes_charges ... ok [INFO] [stdout] test data::item_name::subtype::staff::tests::test_staff_unidentified_unknown_subtype ... ok [INFO] [stdout] test data::item_name::subtype::staff::tests::test_staff_none_prefix ... ok [INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_resist_acid ... ok [INFO] [stdout] test dungeon::light::tests::los_horizontal_clear_path ... ok [INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_resist_cold ... ok [INFO] [stdout] test dungeon::light::tests::los_vertical_blocked_by_wall ... ok [INFO] [stdout] test dungeon::light::tests::los_same_cell_is_clear ... ok [INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_see_invisible ... ok [INFO] [stdout] test dungeon::light::tests::player_own_cell_is_always_lit ... ok [INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_slow_digestion ... ok [INFO] [stdout] test dungeon::light::tests::los_vertical_clear_path ... ok [INFO] [stdout] test dungeon::light::tests::radius_1_skips_los_check_for_wall_cell ... ok [INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_stealth ... ok [INFO] [stdout] test dungeon::light::tests::los_wall_at_destination_still_visible ... ok [INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_teleportation ... ok [INFO] [stdout] test dungeon::light::tests::radius_1_always_lights_adjacent_cell ... ok [INFO] [stdout] test dungeon::light::tests::radius_2_does_not_light_cell_behind_wall ... ok [INFO] [stdout] test data::item_name::subtype::wand::tests::test_wand_unidentified ... ok [INFO] [stdout] test dungeon::light::tests::radius_2_wall_at_edge_is_visible ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::change_trap_global_does_nothing_when_item_is_already_seen_trap ... ok [INFO] [stdout] test dungeon::light::tests::radius_2_lights_cell_with_clear_path ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::place_trap_global_places_into_global_cave_and_t_list ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::place_trap_open_pit_always_visible_regardless_of_list ... ok [INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_lordly_protection_fire ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::change_trap_global_replaces_secret_door_with_seen_variant_and_restores_slot ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::change_trap_global_replaces_unseen_trap_with_seen_variant_and_restores_slot ... ok [INFO] [stdout] test data::item_name::subtype::wand::tests::test_wand_type_identified ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::place_rubble_global_allocates_slot_sets_fopen_false_and_sets_rubble_item ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::change_trap_global_does_nothing_when_tile_has_no_object ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::place_trap_list_a_sets_unseen_tval ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::place_trap_closed_door_uses_closed_door_tval_regardless_of_list ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::place_trap_list_b_sets_seen_tval ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::trap_template_list_has_correct_count ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_area_effect_radius_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_ac_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_cdefense_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_cdefense_oob_returns_zero ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_cmove_oob_returns_zero ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_cmove_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_mexp_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_damage_returns_expected_string ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_speed_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_spells_raw_oob_returns_zero ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_spells_raw_returns_zero_for_no_spells ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::has_attribute_at_balrog_does_not_multiply ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_symbol_returns_expected_char ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_name_returns_expected_string ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::has_attribute_at_balrog_is_evil ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_magic_resistance_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::has_attribute_at_balrog_wins_the_game ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::has_attribute_at_invalid_attribute_returns_false ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::has_attribute_at_oob_returns_false ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::has_spells_false_when_no_spells ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_sleep_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::has_spells_true_for_town_wizard ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::movement_speed_zero_for_placeholder ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::monster_template_count_returns_correct_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::out_of_bounds_returns_glitch_name ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::out_of_bounds_returns_glitch_level ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_choice_bits_balrog ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_choice_bits_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_frequency_balrog ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_level_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::movement_speed_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_spells_raw_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_frequency_inverted_when_bit31_set ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::swimming_level_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::str_to_c_array_macro_null_terminates ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_frequency_not_inverted_for_town_wizard ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::test_monster_attribute_from_c_invalid ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::swimming_level_zero_for_placeholder ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::test_monster_attribute_from_c_valid ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::attribute_enum_has_all_variants ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_anchors_in_water ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_carries_2d2_things ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_frequency_returns_expected_value ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_carries_90pc ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_carries_gold ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_carries_objects ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_carries_4d2_things ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_demon ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_carries_60pc ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_dies_in_wrong_element ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_good_monster ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_invisible_movement ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_evil ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_dragon ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_max_hit_points ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_flying ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_land_based ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_move_only_to_attack_when_cannot_move ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_moves_through_creatures ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_moves_through_wall ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_multiplies_false_when_false ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_multiplies_when_true ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_random_movement_20pc ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_monster ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_move_only_to_attack_false_when_can_move ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_random_movement_40pc ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_moves_through_door ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_survives_in_water_false_when_land_based_and_dies ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_survives_in_water_when_flying ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_survives_in_water_when_water_based ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_random_movement_75pc ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_regenerates ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_survives_in_water_when_not_dies_in_wrong_element ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_survives_on_land_when_not_dies_in_wrong_element ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_survives_on_land_when_land_based ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_survives_on_land_when_flying ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_uncharmable ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_undead ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_visible_with_infravision ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_vulnerable_to_acid ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_vulnerable_to_fire ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_vulnerable_to_frost ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_vulnerable_to_lightning ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_unspawnable ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_water_based ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_vulnerable_to_poison ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_wins_the_game ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_vulnerable_to_stone_to_mud ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_has_level_0_monsters ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_has_level_100_monsters ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_has_level_1_monsters ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_index_0_placeholder ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_index_19_wretched_imp ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_index_1_warden_occultist ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_flying_bit_consistency ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_index_27_fallen_one ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_index_21_blight_fungus ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_evil_bit_consistency ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_index_2_dark_sentinel ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_index_390_the_defiler ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_index_389_drake_sovereign ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_last_is_balrog ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_templates_count_matches_c ... ok [INFO] [stdout] test identification::tests::test_get_set_identification ... ok [INFO] [stdout] test identification::tests::test_read_write ... ok [INFO] [stdout] test identification::tests::test_serialize_deserialize ... ok [INFO] [stdout] test model::cave::tests::test_serialize ... ok [INFO] [stdout] test model::class::tests::test_into_i32_returns_expected_codes ... ok [INFO] [stdout] test model::class::tests::test_try_from_i32_rejects_unknown_values ... ok [INFO] [stdout] test model::class::tests::test_roundtrip_usize_conversion ... ok [INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_levels_in_valid_range ... ok [INFO] [stdout] test model::class::tests::test_try_from_i32_accepts_known_values ... ok [INFO] [stdout] test model::currency::tests::test_roundtrip_usize_conversion ... ok [INFO] [stdout] test model::currency::tests::test_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::currency::tests::test_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::dungeon_record::tests::test_serialize ... ok [INFO] [stdout] test model::currency::tests::test_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::inven_record::tests::test_serialize ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_arrow_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item::tests::test_serialize ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_arrow_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_arrow_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_bolt_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_bolt_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_sling_ammo_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_spike_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_spike_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_sling_ammo_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::amulet::tests::test_amulet_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_sling_ammo_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::amulet::tests::test_amulet_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::amulet::tests::test_amulet_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_belt_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_belt_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_boots_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_bracers_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_bracers_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_bolt_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_boots_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test data::item_name::subtype::gem_helm::tests::test_gem_helm_of_gems_is_gated_by_item_identification ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_cloak_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_statue_of_give_life ... ok [INFO] [stdout] test dungeon::light::tests::los_horizontal_blocked_by_wall ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_hit_die_returns_expected_string ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::get_name_returns_warden_occultist_at_index_1 ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_carries_1d2_things ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_gem_helm_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_gem_helm_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_gem_helm_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_gloves_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_gloves_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_hard_armor_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_helm_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_hard_armor_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_shield_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_soft_armor_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_soft_armor_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::bag::tests::test_bag_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::bag::tests::test_bag_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::bag::tests::test_bag_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_magic_book_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_cloak_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_instrument_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_magic_book_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_magic_book_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_instrument_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_instrument_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_prayer_book_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_prayer_book_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_prayer_book_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_song_book_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_song_book_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::book::tests::test_song_book_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::chest::tests::test_chest_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_helm_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::chime::tests::test_chime_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::chest::tests::test_chest_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::chime::tests::test_chime_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::chime::tests::test_chime_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::dagger::tests::test_dagger_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::dagger::tests::test_dagger_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::food::tests::test_food_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::food::tests::test_food_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::dagger::tests::test_dagger_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test data::item_name::subtype::jewelry::tests::test_jewelry_small_silver_pendant ... ok [INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_elf_skeleton ... ok [INFO] [stdout] test model::item_subtype::ammo::tests::test_spike_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::armor::tests::test_shield_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_survives_on_land_false_when_water_based_and_dies ... ok [INFO] [stdout] test generate_monster::monster_template::tests::attribute_tests::has_attribute_picks_up_objects ... ok [INFO] [stdout] test model::item_subtype::food::tests::test_junk_food_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::gem::tests::test_gem_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::gem::tests::test_gem_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::gem::tests::test_gem_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::hafted_weapon::tests::test_hafted_weapon_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::food::tests::test_food_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::food::tests::test_junk_food_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::horn::tests::test_horn_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::horn::tests::test_horn_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::jewelry::tests::test_jewelry_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::jewelry::tests::test_jewelry_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::hafted_weapon::tests::test_hafted_weapon_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::jewelry::tests::test_jewelry_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::light_source::tests::test_light_source_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::lodging::tests::test_lodging_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::light_source::tests::test_light_source_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::light_source::tests::test_light_source_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::lodging::tests::test_lodging_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::maul::tests::test_maul_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::maul::tests::test_maul_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::lodging::tests::test_lodging_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::maul::tests::test_maul_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::misc_object::tests::test_misc_object_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::hafted_weapon::tests::test_hafted_weapon_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::misc_object::tests::test_misc_object_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::misc_usable::tests::test_misc_usable_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::misc_usable::tests::test_misc_usable_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::pick::tests::test_pick_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::pick::tests::test_pick_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::pick::tests::test_pick_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::pole_arm::tests::test_pole_arm_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::potion::potion1_tests::test_potion1_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::potion::potion1_tests::test_potion1_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::potion::tests::test_flask_of_oil_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::potion::tests::test_flask_of_oil_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::potion::tests::test_flask_of_oil_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::item_subtype::ranged_weapon::tests::test_ranged_weapon_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::ranged_weapon::tests::test_ranged_weapon_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::ring::tests::test_ring_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::potion::potion1_tests::test_potion1_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::ring::tests::test_ring_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::ranged_weapon::tests::test_ranged_weapon_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::ring::tests::test_ring_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::scroll::tests::all_codes_are_unique ... ok [INFO] [stdout] test model::item_subtype::scroll::tests::all_variants_round_trip_through_usize ... ok [INFO] [stdout] test model::item_subtype::misc_object::tests::test_misc_object_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::misc_usable::tests::test_misc_usable_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::pole_arm::tests::test_pole_arm_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::food::tests::test_junk_food_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::pole_arm::tests::test_pole_arm_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::scroll::tests::try_from_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::staff::tests::test_staff_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::staff::tests::test_staff_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::staff::tests::test_staff_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::sword::tests::test_sword_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::sword::tests::test_sword_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::sword::tests::test_sword_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::wand::tests::test_wand_subtype_into_usize_returns_expected_code ... ok [INFO] [stdout] test model::item_subtype::wand::tests::test_wand_subtype_try_from_usize_accepts_known_value ... ok [INFO] [stdout] test model::item_subtype::wand::tests::test_wand_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test model::item_subtype::wearable_gem::tests::test_wearable_gem_subtype_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::item_subtype::wearable_gem::tests::test_wearable_gem_subtype_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::magic::tests::test_try_from_i32_accepts_known_values ... ok [INFO] [stdout] test model::monster::tests::test_serialize ... ok [INFO] [stdout] test model::race::tests::test_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::race::tests::test_serialize ... ok [INFO] [stdout] test model::race::tests::test_roundtrip_usize_conversion ... ok [INFO] [stdout] test model::race::tests::test_try_from_usize_accepts_known_values ... ok [INFO] [stdout] test model::player_record::tests::test_serializeable ... ok [INFO] [stdout] test model::magic::tests::test_into_i32_returns_expected_codes ... ok [INFO] [stdout] test model::sex::tests::test_into_char_returns_expected_codes ... ok [INFO] [stdout] test model::sex::tests::test_try_from_char_accepts_known_values ... ok [INFO] [stdout] test model::magic::tests::test_try_from_i32_rejects_unknown_values ... ok [INFO] [stdout] test model::stat::test::test_converts_from_u8 ... ok [INFO] [stdout] test model::stat::test::test_stat_iter ... ok [INFO] [stdout] test model::wallet::tests::wallet_converts_from_i64_array_in_expected_positions ... ok [INFO] [stdout] test model::stat::test::test_converts_to_u8 ... ok [INFO] [stdout] test model::item_subtype::wearable_gem::tests::test_wearable_gem_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::treasure_and_coordinate::tests::test_serialize ... ok [INFO] [stdout] test model::race::tests::test_try_from_usize_rejects_unknown_values ... ok [INFO] [stdout] test model::wallet::tests::wallet_converts_into_i64_array_in_expected_positions ... ok [INFO] [stdout] test model::store::tests::test_serialize ... ok [INFO] [stdout] test model::sex::tests::test_try_from_char_rejects_unknown_values ... ok [INFO] [stdout] test pascal::tests::abi_is_in_treats_zero_as_padding ... ok [INFO] [stdout] test pascal::tests::abi_is_vowel_matches_legacy_ascii_rules ... ok [INFO] [stdout] test pascal::tests::abi_pindex_matches_legacy_c_semantics_for_bytes ... ok [INFO] [stdout] test pascal::tests::is_in_accepts_large_obj_but_set_is_u8 ... ok [INFO] [stdout] test pascal::tests::pindex_handles_empty_string ... ok [INFO] [stdout] test pascal::tests::is_in_returns_false_for_empty_set ... ok [INFO] [stdout] test player::player_extern::tests::hunger_status_from_c_defaults_to_full_for_unknown_values ... ok [INFO] [stdout] test player::regeneration::tests::base_regeneration_when_bloated ... ok [INFO] [stdout] test player::regeneration::tests::base_regeneration_when_full ... ok [INFO] [stdout] test player::regeneration::tests::dying_with_regeneration_and_resting ... ok [INFO] [stdout] test player::regeneration::tests::minimal_regeneration_when_dying ... ok [INFO] [stdout] test player::regeneration::tests::base_regeneration_when_hungry ... ok [INFO] [stdout] test player::regeneration::tests::regeneration_ability_multiplies_by_1_5 ... ok [INFO] [stdout] test player::regeneration::tests::regeneration_and_resting_stack_multiplicatively ... ok [INFO] [stdout] test pascal::tests::is_in_finds_value_in_sorted_obj_set ... ok [INFO] [stdout] test pascal::tests::pindex_returns_zero_when_not_found ... ok [INFO] [stdout] test player::regeneration::tests::resting_doubles_regeneration ... ok [INFO] [stdout] test player_action::attack::attacks_per_round::tests::attacks_from_level ... ok [INFO] [stdout] test player_action::attack::attacks_per_round::tests::ammo_always_returns_1 ... ok [INFO] [stdout] test player_action::attack::attacks_per_round::tests::monk_bare_hands_gets_class_bonus ... ok [INFO] [stdout] test player_action::attack::attacks_per_round::tests::attacks_from_dexterity ... ok [INFO] [stdout] test player_action::attack::attacks_per_round::tests::weapon_too_heavy_returns_0 ... ok [INFO] [stdout] test player::regeneration::tests::reduced_regeneration_when_weak ... ok [INFO] [stdout] test player_action::attack::attacks_per_round::tests::bare_hands_non_monk_always_returns_2 ... ok [INFO] [stdout] test pascal::tests::is_vowel_is_case_insensitive ... ok [INFO] [stdout] test player_action::attack::to_hit::melee_tests::from_backstab ... ok [INFO] [stdout] test player_action::attack::to_hit::melee_tests::from_class_and_level ... ok [INFO] [stdout] test player_action::attack::to_hit::melee_tests::from_equipment ... ok [INFO] [stdout] test player_action::attack::to_hit::melee_tests::from_proficiency ... ok [INFO] [stdout] test player_action::attack::to_hit::melee_tests::from_stats ... ok [INFO] [stdout] test player_action::attack::to_hit::ranged_tests::from_class_and_level ... ok [INFO] [stdout] test pascal::tests::pindex_returns_one_based_index_when_found ... ok [INFO] [stdout] test player_action::attack::to_hit::ranged_tests::from_player_flags ... ok [INFO] [stdout] test player_action::attack::to_hit::melee_tests::from_player_flags ... ok [INFO] [stdout] test player_action::attack::to_hit::ranged_tests::from_proficiency ... ok [INFO] [stdout] test player_action::attack::to_hit::ranged_tests::from_equipment ... ok [INFO] [stdout] test player_action::attack::to_hit::ranged_tests::from_stats ... ok [INFO] [stdout] test player_action::attack::to_hit::thrown_tests::from_class_and_level ... ok [INFO] [stdout] test player_action::attack::to_hit::thrown_tests::from_stats ... ok [INFO] [stdout] test rng::random::tests::rand_rep_with_rng_sums_num_randint_draws_and_is_deterministic ... ok [INFO] [stdout] test player_action::attack::to_hit::thrown_tests::from_equipment ... ok [INFO] [stdout] test player_action::attack::to_hit::thrown_tests::from_player_flags ... ok [INFO] [stdout] test rng::random::tests::randint_with_rng_is_deterministic_for_a_fixed_seed ... ok [INFO] [stdout] test text_lines_extern::identify_core_tests::identify_core_mutates_matching_entries_and_calls_mark_identified_once ... ok [INFO] [stdout] test rng::random::tests::randint_with_rng_matches_existing_edge_behavior_for_non_positive_max_value ... ok [INFO] [stdout] test text_lines_extern::identify_core_tests::identify_core_still_identifies_when_item_name_has_no_pipe_marker ... ok [INFO] [stdout] test player_action::attack::to_hit::thrown_tests::from_proficiency ... ok [INFO] [stdout] test text_lines_extern::msg_charges_remaining_tests::msg_charges_remaining_does_not_print_when_item_is_not_identified ... ok [INFO] [stdout] test text_lines_extern::tests::bag_descrip_empty_when_bag_next_is_null ... ok [INFO] [stdout] test text_lines_extern::msg_remaining_of_item_tests::msg_remaining_of_item_prints_you_have_item_name_with_decremented_quantity ... ok [INFO] [stdout] test text_lines_extern::tests::bag_descrip_multiple_items_formats_plural_items_and_sums_weight_and_count ... ok [INFO] [stdout] test text_lines_extern::tests::known1_does_not_write_past_end_of_original_buffer ... ok [INFO] [stdout] test text_lines_extern::tests::known1_leaves_string_unchanged_when_absent ... ok [INFO] [stdout] test text_lines_extern::tests::known1_only_removes_first_occurrence_like_insert_str ... ok [INFO] [stdout] test text_lines_extern::tests::known1_removes_first_pipe_marker_in_place ... ok [INFO] [stdout] test text_lines_extern::msg_charges_remaining_tests::msg_charges_remaining_prints_when_item_is_identified ... ok [INFO] [stdout] test text_lines_extern::tests::bag_descrip_empty_when_bag_next_is_not_in ... ok [INFO] [stdout] test text_lines_extern::tests::bag_descrip_one_item_formats_singular_item_suffix ... ok [INFO] [stdout] test model::town_record::tests::test_serialize ... ok [INFO] [stdout] test player_action::attack::attacks_per_round::tests::fighter_with_light_weapon_high_level ... ok [INFO] [stdout] test text_lines_extern::tests::known2_leaves_string_unchanged_when_absent ... ok [INFO] [stdout] test text_lines_extern::tests::known2_only_removes_first_occurrence_like_insert_str ... ok [INFO] [stdout] test text_lines_extern::tests::unquote_does_not_write_past_end_of_original_buffer ... ok [INFO] [stdout] test text_lines_extern::tests::known2_removes_first_caret_marker_in_place ... ok [INFO] [stdout] test text_lines_extern::tests::unquote_when_no_quote_marker_is_noop ... ok [INFO] [stdout] test text_lines_extern::tests::unquote_removes_quoted_portion_by_joining_prefix_before_tilde_with_suffix_from_pipe ... ok [INFO] [stdout] test save::save_record::tests::test_serializeable ... ok [INFO] [stdout] test dungeon::trap::data_tests::tests::rubble_template_matches_legacy_definition ... ok [INFO] [stdout] test generate_monster::monster_template::interop::tests::out_of_bounds_returns_glitch_symbol ... ok [INFO] [stdout] test model::item_subtype::chest::tests::test_chest_subtype_into_usize_returns_expected_codes ... ok [INFO] [stdout] test model::item_subtype::horn::tests::test_horn_subtype_try_from_usize_rejects_unknown_value ... ok [INFO] [stdout] test rng::random::tests::randnor_with_rng_is_deterministic_for_a_fixed_seed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 541 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1e6af935759617420869c671e9e94262a5221ba376a0c9b3990e69f93289d9eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e6af935759617420869c671e9e94262a5221ba376a0c9b3990e69f93289d9eb", kill_on_drop: false }` [INFO] [stdout] 1e6af935759617420869c671e9e94262a5221ba376a0c9b3990e69f93289d9eb