[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 try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flollek%2Fomoria" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lollek/omoria on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a4746e412e3b56d119d45a6169ae939b7552531571aabfa56b80cc679c3cd11a
[INFO] running `Command { std: "docker" "start" "-a" "a4746e412e3b56d119d45a6169ae939b7552531571aabfa56b80cc679c3cd11a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a4746e412e3b56d119d45a6169ae939b7552531571aabfa56b80cc679c3cd11a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a4746e412e3b56d119d45a6169ae939b7552531571aabfa56b80cc679c3cd11a", kill_on_drop: false }`
[INFO] [stdout] a4746e412e3b56d119d45a6169ae939b7552531571aabfa56b80cc679c3cd11a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e2710df8f3e4369a686325564b0bf2a5e3388f4ec7b1c988b49c8fb26c2311e5
[INFO] running `Command { std: "docker" "start" "-a" "e2710df8f3e4369a686325564b0bf2a5e3388f4ec7b1c988b49c8fb26c2311e5", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling cc v1.0.73
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling libc v0.2.169
[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 cfg-if v0.1.5
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]    Compiling rustc-demangle v0.1.21
[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 quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling ncurses v5.101.0
[INFO] [stderr]    Compiling backtrace v0.3.66
[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 25.15s
[INFO] running `Command { std: "docker" "inspect" "e2710df8f3e4369a686325564b0bf2a5e3388f4ec7b1c988b49c8fb26c2311e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2710df8f3e4369a686325564b0bf2a5e3388f4ec7b1c988b49c8fb26c2311e5", kill_on_drop: false }`
[INFO] [stdout] e2710df8f3e4369a686325564b0bf2a5e3388f4ec7b1c988b49c8fb26c2311e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2f8c33fa7e6992664f509b21f5255e1975f5fd8284645cd5b6a080c04764c2ce
[INFO] running `Command { std: "docker" "start" "-a" "2f8c33fa7e6992664f509b21f5255e1975f5fd8284645cd5b6a080c04764c2ce", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling futures-core 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 lock_api v0.4.12
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling scc v2.3.0
[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.12s
[INFO] running `Command { std: "docker" "inspect" "2f8c33fa7e6992664f509b21f5255e1975f5fd8284645cd5b6a080c04764c2ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f8c33fa7e6992664f509b21f5255e1975f5fd8284645cd5b6a080c04764c2ce", kill_on_drop: false }`
[INFO] [stdout] 2f8c33fa7e6992664f509b21f5255e1975f5fd8284645cd5b6a080c04764c2ce
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] c3bf6893f165f8bd1a8d840a29f8b700b9bf7897155133858fdc09813cffb32f
[INFO] running `Command { std: "docker" "start" "-a" "c3bf6893f165f8bd1a8d840a29f8b700b9bf7897155133858fdc09813cffb32f", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.62s
[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_hits_when_attack_roll_exceeds_ac ... ok
[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_bolt ... 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_unidentified ... 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_identified ... ok
[INFO] [stdout] test data::item_name::subtype::armor::tests::test_known ... ok
[INFO] [stdout] test data::item_name::subtype::armor::tests::test_identified ... ok
[INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist ... ok
[INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist_acid ... ok
[INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist_fire ... ok
[INFO] [stdout] test data::item_name::subtype::amulet::test::test_names_single_known_type_unidentified ... ok
[INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist_cold ... 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_unidentified ... ok
[INFO] [stdout] test data::item_name::subtype::armor::tests::test_special_attribute_resist_lightning ... ok
[INFO] [stdout] test data::item_name::subtype::armor::tests::test_unidentified_to_hit ... ok
[INFO] [stdout] test data::item_name::subtype::bag::tests::test_bag_of_devouring ... ok
[INFO] [stdout] test data::item_name::subtype::bag::tests::test_bag_of_holding250 ... 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::chest::tests::test_chest_large_iron_chest ... ok
[INFO] [stdout] test data::item_name::subtype::bag::tests::test_bag_of_holding500 ... ok
[INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_small_iron_chest ... ok
[INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_identified ... ok
[INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_large_wooden_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::chest::tests::test_chest_small_steel_chest ... 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_multiple_prefix ... ok
[INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_unidentified_unknown_subtype ... ok
[INFO] [stdout] test data::item_name::subtype::chest::tests::test_chest_small_wooden_chest ... 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_none_prefix ... ok
[INFO] [stdout] test data::item_name::subtype::book::tests::test_magic_book_2 ... 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::chest::tests::test_chest_large_steel_chest ... ok
[INFO] [stdout] test data::item_name::subtype::chime::tests::test_chime_identified_includes_charges ... ok
[INFO] [stdout] test data::item_name::subtype::ammo::tests::test_arrow ... ok
[INFO] [stdout] test data::item_name::subtype::dungeon_feature::tests::test_unseen_trap_none_prefix ... 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_none ... ok
[INFO] [stdout] test data::item_name::subtype::flask::tests::test_flask_of_oil_single ... ok
[INFO] [stdout] test data::item_name::subtype::food::tests::test_ration_of_food ... ok
[INFO] [stdout] test data::item_name::subtype::gem::tests::test_fine_diamond ... ok
[INFO] [stdout] test data::item_name::subtype::gem::tests::test_fine_sapphire ... 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_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::tests::test_gem_of_recall ... 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_light ... 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_identify ... ok
[INFO] [stdout] test data::item_name::subtype::gem::tests::test_large_pouch_of_diamonds ... ok
[INFO] [stdout] test data::item_name::subtype::gem::tests::test_gem_of_dispel_evil ... 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_annihilation ... 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::gem_helm::tests::test_gem_helm_steel_unidentified ... 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::tests::test_rough_sapphire ... ok
[INFO] [stdout] test data::item_name::subtype::gem::tests::test_small_pouch_of_diamonds ... 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::horn::tests::test_horn_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_shows_charges ... 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_helm::tests::test_gem_helm_iron_unidentified ... 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 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::horn::tests::test_horn_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::gem::tests::test_gem_of_detect_monster ... ok
[INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_multiple_prefix ... ok
[INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_none_prefix ... ok
[INFO] [stdout] test data::item_name::subtype::horn::tests::test_horn_unidentified_unknown_subtype ... 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::instrument::tests::test_instrument_multiple_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_single ... ok
[INFO] [stdout] test data::item_name::subtype::jewelry::tests::test_jewelry_large_mithril_garter_belt ... 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_silver_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::jewelry::tests::test_jewelry_small_mithril_pendant ... ok
[INFO] [stdout] test data::item_name::subtype::light_source::tests::test_light_source_magic_torch ... 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_broken_set_of_teeth ... ok
[INFO] [stdout] test data::item_name::subtype::melee_weapon::tests::test_names_unidentified ... 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_dwarf_skeleton ... ok
[INFO] [stdout] test data::item_name::subtype::misc_object::tests::test_misc_object_type_elf_skeleton ... 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_object::tests::test_misc_object_type_giant_centipede_skeleton ... 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::misc_object::tests::test_misc_object_type_human_skeleton ... 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_object::tests::test_misc_object_type_rat_skeleton ... 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_shards_of_pottery ... 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_bottle_of_djinni ... 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_cross_of_undead_summoning ... 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_misc_usable_gold_cross ... ok
[INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_mithril_cross ... ok
[INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_statue ... ok
[INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_misc_usable_silver_cross ... ok
[INFO] [stdout] test data::item_name::subtype::misc_usable::tests::test_statue_of_give_life ... 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_statue_of_summon_demon ... ok
[INFO] [stdout] test data::item_name::subtype::potion::tests::test_potion_identified ... 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::potion::tests::test_potion_none_prefix ... ok
[INFO] [stdout] test data::item_name::subtype::potion::tests::test_potion_unidentified_unknown_subtype ... ok
[INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_ballista ... 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_double_bow ... ok
[INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_heavy_crossbow ... 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_shortbow ... 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_siege_crossbow ... ok
[INFO] [stdout] test data::item_name::subtype::ranged_weapon::tests::test_sling ... 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_warded_bow ... 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_identified_shows_toac ... ok
[INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_identified_woe_bonus ... 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_known_subtype_speed ... 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_none_prefix ... ok
[INFO] [stdout] test data::item_name::subtype::ring::tests::test_ring_unidentified_unknown_subtype ... ok
[INFO] [stdout] test data::item_name::subtype::light_source::tests::test_light_source_wooden_torch ... 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::scroll::tests::test_scroll_multiple_prefix ... ok
[INFO] [stdout] test data::item_name::subtype::scroll::tests::test_scroll_none_prefix ... 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::shield::tests::test_shield_multiple_prefixes_with_count ... 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_none_prefixes_with_no_more ... 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::small_armor::tests::test_identified ... 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::spike::tests::test_spike ... ok
[INFO] [stdout] test data::item_name::subtype::small_armor::tests::test_known_type ... 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 ... 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::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::wand::tests::test_wand_identified ... ok
[INFO] [stdout] test data::item_name::subtype::wand::tests::test_wand_type_identified ... ok
[INFO] [stdout] test data::item_name::subtype::wand::tests::test_wand_unidentified ... ok
[INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_lordly_protection_fire ... ok
[INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_resist_acid ... ok
[INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_resist_cold ... ok
[INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_see_invisible ... ok
[INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_slow_digestion ... ok
[INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_stealth ... ok
[INFO] [stdout] test dungeon::light::tests::los_horizontal_blocked_by_wall ... ok
[INFO] [stdout] test data::item_name::subtype::wearable_gem::tests::test_gem_of_teleportation ... ok
[INFO] [stdout] test dungeon::light::tests::los_horizontal_clear_path ... ok
[INFO] [stdout] test dungeon::light::tests::los_same_cell_is_clear ... ok
[INFO] [stdout] test dungeon::light::tests::los_vertical_blocked_by_wall ... ok
[INFO] [stdout] test dungeon::light::tests::los_wall_at_destination_still_visible ... ok
[INFO] [stdout] test dungeon::light::tests::los_vertical_clear_path ... ok
[INFO] [stdout] test dungeon::light::tests::player_own_cell_is_always_lit ... ok
[INFO] [stdout] test dungeon::light::tests::radius_1_always_lights_adjacent_cell ... ok
[INFO] [stdout] test dungeon::light::tests::radius_1_skips_los_check_for_wall_cell ... ok
[INFO] [stdout] test dungeon::light::tests::radius_2_does_not_light_cell_behind_wall ... ok
[INFO] [stdout] test dungeon::light::tests::radius_2_lights_cell_with_clear_path ... 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::trap::data_tests::tests::change_trap_global_does_nothing_when_tile_has_no_object ... 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 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::place_rubble_global_allocates_slot_sets_fopen_false_and_sets_rubble_item ... 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_global_places_into_global_cave_and_t_list ... 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_list_b_sets_seen_tval ... ok
[INFO] [stdout] test dungeon::trap::data_tests::tests::place_trap_open_pit_always_visible_regardless_of_list ... ok
[INFO] [stdout] test dungeon::trap::data_tests::tests::rubble_template_matches_legacy_definition ... 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_ac_returns_expected_value ... 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_cdefense_oob_returns_zero ... 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_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_level_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_hit_die_returns_expected_string ... 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::get_name_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::interop::tests::get_mexp_returns_expected_value ... 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::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_expected_value ... 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::get_symbol_returns_expected_char ... 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::has_attribute_at_balrog_is_evil ... 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_spells_true_for_town_wizard ... 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::movement_speed_returns_expected_value ... 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::out_of_bounds_returns_glitch_level ... 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::out_of_bounds_returns_glitch_symbol ... ok
[INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_frequency_balrog ... ok
[INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_choice_bits_balrog ... 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::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::spell_frequency_not_inverted_for_town_wizard ... 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::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::interop::tests::test_monster_attribute_from_c_invalid ... 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_carries_1d2_things ... 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_carries_60pc ... 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::interop::tests::out_of_bounds_returns_glitch_name ... 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_dies_in_wrong_element ... 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_evil ... 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_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_land_based ... 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_carries_2d2_things ... 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_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_door ... 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_picks_up_objects ... 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_random_movement_40pc ... 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_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_flying ... 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_water_based ... 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_not_dies_in_wrong_element ... 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_undead ... 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_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_uncharmable ... 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_survives_on_land_false_when_water_based_and_dies ... 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::data_tests::monster_template_evil_bit_consistency ... 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_0_placeholder ... 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_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_vulnerable_to_stone_to_mud ... 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::attribute_tests::has_attribute_anchors_in_water ... 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_1_warden_occultist ... 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::data_tests::monster_template_index_27_fallen_one ... 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_389_drake_sovereign ... 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_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 model::class::tests::test_into_i32_returns_expected_codes ... ok
[INFO] [stdout] test identification::tests::test_serialize_deserialize ... ok
[INFO] [stdout] test model::class::tests::test_try_from_i32_accepts_known_values ... ok
[INFO] [stdout] test model::cave::tests::test_serialize ... ok
[INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_has_level_0_monsters ... ok
[INFO] [stdout] test model::currency::tests::test_into_usize_returns_expected_codes ... ok
[INFO] [stdout] test model::class::tests::test_roundtrip_usize_conversion ... ok
[INFO] [stdout] test model::currency::tests::test_try_from_usize_accepts_known_values ... ok
[INFO] [stdout] test model::class::tests::test_try_from_i32_rejects_unknown_values ... ok
[INFO] [stdout] test model::currency::tests::test_try_from_usize_rejects_unknown_values ... ok
[INFO] [stdout] test model::dungeon_record::tests::test_serialize ... ok
[INFO] [stdout] test model::currency::tests::test_roundtrip_usize_conversion ... ok
[INFO] [stdout] test model::item::tests::test_serialize ... ok
[INFO] [stdout] test generate_monster::monster_template::tests::data_tests::monster_template_levels_in_valid_range ... ok
[INFO] [stdout] test model::item_subtype::ammo::tests::test_arrow_subtype_into_usize_returns_expected_code ... ok
[INFO] [stdout] test model::item_subtype::ammo::tests::test_arrow_subtype_try_from_usize_rejects_unknown_values ... ok
[INFO] [stdout] test model::inven_record::tests::test_serialize ... ok
[INFO] [stdout] test model::item_subtype::ammo::tests::test_bolt_subtype_into_usize_returns_expected_code ... 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_sling_ammo_subtype_try_from_usize_accepts_known_values ... 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::ammo::tests::test_bolt_subtype_try_from_usize_rejects_unknown_values ... 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_spike_subtype_into_usize_returns_expected_code ... 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::ammo::tests::test_spike_subtype_try_from_usize_rejects_unknown_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_try_from_usize_accepts_known_value ... 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_boots_subtype_into_usize_returns_expected_code ... 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::armor::tests::test_bracers_subtype_into_usize_returns_expected_code ... 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_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_gem_helm_subtype_into_usize_returns_expected_codes ... 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::amulet::tests::test_amulet_subtype_into_usize_returns_expected_codes ... 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::amulet::tests::test_amulet_subtype_try_from_usize_accepts_known_values ... 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_cloak_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::armor::tests::test_soft_armor_subtype_try_from_usize_accepts_known_value ... 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::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_accepts_known_values ... 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::book::tests::test_magic_book_subtype_try_from_usize_accepts_known_values ... 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_try_from_usize_rejects_unknown_values ... 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_instrument_subtype_try_from_usize_accepts_known_values ... 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_instrument_subtype_try_from_usize_rejects_unknown_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::book::tests::test_prayer_book_subtype_into_usize_returns_expected_codes ... 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::data_tests::monster_template_index_19_wretched_imp ... ok
[INFO] [stdout] test model::item_subtype::armor::tests::test_gloves_subtype_into_usize_returns_expected_code ... 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::dagger::tests::test_dagger_subtype_try_from_usize_rejects_unknown_value ... 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::chest::tests::test_chest_subtype_into_usize_returns_expected_codes ... 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::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_into_usize_returns_expected_code ... ok
[INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_frequency_returns_expected_value ... 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::food::tests::test_food_subtype_into_usize_returns_expected_code ... 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::horn::tests::test_horn_subtype_try_from_usize_accepts_known_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::hafted_weapon::tests::test_hafted_weapon_subtype_try_from_usize_rejects_unknown_value ... ok
[INFO] [stdout] test model::item_subtype::horn::tests::test_horn_subtype_try_from_usize_rejects_unknown_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::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::light_source::tests::test_light_source_subtype_try_from_usize_accepts_known_values ... 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::lodging::tests::test_lodging_subtype_into_usize_returns_expected_codes ... ok
[INFO] [stdout] test model::item_subtype::horn::tests::test_horn_subtype_into_usize_returns_expected_code ... ok
[INFO] [stdout] test model::item_subtype::maul::tests::test_maul_subtype_into_usize_returns_expected_code ... 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::lodging::tests::test_lodging_subtype_try_from_usize_rejects_unknown_values ... 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::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_rejects_unknown_value ... 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_object::tests::test_misc_object_subtype_try_from_usize_accepts_known_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::misc_usable::tests::test_misc_usable_subtype_try_from_usize_accepts_known_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::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::food::tests::test_food_subtype_try_from_usize_rejects_unknown_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::pick::tests::test_pick_subtype_try_from_usize_rejects_unknown_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_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::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::chime::tests::test_chime_subtype_into_usize_returns_expected_code ... ok
[INFO] [stdout] test model::item_subtype::book::tests::test_song_book_subtype_try_from_usize_accepts_known_values ... ok
[INFO] [stdout] test generate_monster::monster_template::interop::tests::spell_choice_bits_returns_expected_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::gem::tests::test_gem_subtype_try_from_usize_rejects_unknown_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::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_accepts_known_value ... ok
[INFO] [stdout] test model::item_subtype::scroll::tests::all_codes_are_unique ... 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::pick::tests::test_pick_subtype_try_from_usize_accepts_known_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_into_usize_returns_expected_code ... 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::ranged_weapon::tests::test_ranged_weapon_subtype_try_from_usize_rejects_unknown_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::ring::tests::test_ring_subtype_try_from_usize_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::sword::tests::test_sword_subtype_into_usize_returns_expected_code ... ok
[INFO] [stdout] test model::item_subtype::scroll::tests::all_variants_round_trip_through_usize ... 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::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::wearable_gem::tests::test_wearable_gem_subtype_into_usize_returns_expected_codes ... ok
[INFO] [stdout] test model::item_subtype::wand::tests::test_wand_subtype_try_from_usize_rejects_unknown_value ... ok
[INFO] [stdout] test model::magic::tests::test_try_from_i32_accepts_known_values ... ok
[INFO] [stdout] test model::magic::tests::test_into_i32_returns_expected_codes ... 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::player_record::tests::test_serializeable ... ok
[INFO] [stdout] test model::race::tests::test_try_from_usize_accepts_known_values ... ok
[INFO] [stdout] test model::race::tests::test_roundtrip_usize_conversion ... 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::race::tests::test_serialize ... ok
[INFO] [stdout] test model::item_subtype::scroll::tests::try_from_rejects_unknown_value ... ok
[INFO] [stdout] test model::race::tests::test_try_from_usize_rejects_unknown_values ... 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::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::treasure_and_coordinate::tests::test_serialize ... 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 model::stat::test::test_converts_from_u8 ... ok
[INFO] [stdout] test model::stat::test::test_converts_to_u8 ... ok
[INFO] [stdout] test model::wallet::tests::wallet_converts_into_i64_array_in_expected_positions ... ok
[INFO] [stdout] test pascal::tests::abi_is_vowel_matches_legacy_ascii_rules ... ok
[INFO] [stdout] test pascal::tests::is_in_finds_value_in_sorted_obj_set ... ok
[INFO] [stdout] test pascal::tests::is_in_returns_false_for_empty_set ... ok
[INFO] [stdout] test pascal::tests::is_vowel_is_case_insensitive ... ok
[INFO] [stdout] test pascal::tests::pindex_handles_empty_string ... ok
[INFO] [stdout] test pascal::tests::pindex_returns_zero_when_not_found ... ok
[INFO] [stdout] test pascal::tests::pindex_returns_one_based_index_when_found ... 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 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 player::regeneration::tests::resting_doubles_regeneration ... 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::attacks_from_dexterity ... ok
[INFO] [stdout] test player::regeneration::tests::reduced_regeneration_when_weak ... ok
[INFO] [stdout] test pascal::tests::abi_is_in_treats_zero_as_padding ... ok
[INFO] [stdout] test player_action::attack::attacks_per_round::tests::attacks_from_level ... ok
[INFO] [stdout] test pascal::tests::abi_pindex_matches_legacy_c_semantics_for_bytes ... ok
[INFO] [stdout] test player::regeneration::tests::regeneration_ability_multiplies_by_1_5 ... ok
[INFO] [stdout] test player::regeneration::tests::dying_with_regeneration_and_resting ... ok
[INFO] [stdout] test player_action::attack::attacks_per_round::tests::fighter_with_light_weapon_high_level ... ok
[INFO] [stdout] test player_action::attack::attacks_per_round::tests::monk_bare_hands_gets_class_bonus ... ok
[INFO] [stdout] test player_action::attack::to_hit::melee_tests::from_backstab ... ok
[INFO] [stdout] test player_action::attack::attacks_per_round::tests::weapon_too_heavy_returns_0 ... ok
[INFO] [stdout] test player_action::attack::to_hit::melee_tests::from_proficiency ... ok
[INFO] [stdout] test player_action::attack::attacks_per_round::tests::bare_hands_non_monk_always_returns_2 ... 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::regeneration_and_resting_stack_multiplicatively ... ok
[INFO] [stdout] test pascal::tests::is_in_accepts_large_obj_but_set_is_u8 ... 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_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_player_flags ... 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 player_action::attack::to_hit::ranged_tests::from_equipment ... 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_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_player_flags ... ok
[INFO] [stdout] test rng::random::tests::rand_rep_with_rng_sums_num_randint_draws_and_is_deterministic ... ok
[INFO] [stdout] test rng::random::tests::randint_with_rng_is_deterministic_for_a_fixed_seed ... ok
[INFO] [stdout] test player_action::attack::to_hit::thrown_tests::from_proficiency ... ok
[INFO] [stdout] test text_lines_extern::identify_core_tests::identify_core_mutates_matching_entries_and_calls_mark_identified_once ... 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_null ... ok
[INFO] [stdout] test player_action::attack::to_hit::thrown_tests::from_equipment ... 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 player_action::attack::to_hit::thrown_tests::from_stats ... ok
[INFO] [stdout] test text_lines_extern::tests::bag_descrip_empty_when_bag_next_is_not_in ... 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::ranged_tests::from_player_flags ... ok
[INFO] [stdout] test text_lines_extern::tests::bag_descrip_multiple_items_formats_plural_items_and_sums_weight_and_count ... ok
[INFO] [stdout] test rng::random::tests::randnor_with_rng_is_deterministic_for_a_fixed_seed ... 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::msg_charges_remaining_tests::msg_charges_remaining_does_not_print_when_item_is_not_identified ... ok
[INFO] [stdout] test text_lines_extern::tests::known1_removes_first_pipe_marker_in_place ... ok
[INFO] [stdout] test text_lines_extern::tests::known2_only_removes_first_occurrence_like_insert_str ... ok
[INFO] [stdout] test text_lines_extern::tests::known2_leaves_string_unchanged_when_absent ... 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::bag_descrip_one_item_formats_singular_item_suffix ... ok
[INFO] [stdout] test text_lines_extern::tests::known2_removes_first_caret_marker_in_place ... 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 text_lines_extern::tests::known1_does_not_write_past_end_of_original_buffer ... ok
[INFO] [stdout] test text_lines_extern::tests::unquote_when_no_quote_marker_is_noop ... ok
[INFO] [stdout] test rng::random::tests::randint_with_rng_matches_existing_edge_behavior_for_non_positive_max_value ... ok
[INFO] [stdout] test model::town_record::tests::test_serialize ... ok
[INFO] [stdout] test save::save_record::tests::test_serializeable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 541 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c3bf6893f165f8bd1a8d840a29f8b700b9bf7897155133858fdc09813cffb32f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c3bf6893f165f8bd1a8d840a29f8b700b9bf7897155133858fdc09813cffb32f", kill_on_drop: false }`
[INFO] [stdout] c3bf6893f165f8bd1a8d840a29f8b700b9bf7897155133858fdc09813cffb32f
