[INFO] fetching crate goud-engine-core 0.0.828...
[INFO] testing goud-engine-core-0.0.828 against beta-2026-04-21 for beta-1.96-1
[INFO] extracting crate goud-engine-core 0.0.828 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate goud-engine-core 0.0.828
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate goud-engine-core 0.0.828
[INFO] tweaked toml for crates.io crate goud-engine-core 0.0.828 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate goud-engine-core 0.0.828 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate goud-engine-core 0.0.828 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2d2d4096a20abe05c178edc6faf3f5262bb93e9c133d7d379724f315574a5352
[INFO] running `Command { std: "docker" "start" "-a" "2d2d4096a20abe05c178edc6faf3f5262bb93e9c133d7d379724f315574a5352", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2d2d4096a20abe05c178edc6faf3f5262bb93e9c133d7d379724f315574a5352", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d2d4096a20abe05c178edc6faf3f5262bb93e9c133d7d379724f315574a5352", kill_on_drop: false }`
[INFO] [stdout] 2d2d4096a20abe05c178edc6faf3f5262bb93e9c133d7d379724f315574a5352
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d3ec68c9138f7de4da496ace144c2695b9ffefa7c0980de693215feff3c3ced8
[INFO] running `Command { std: "docker" "start" "-a" "d3ec68c9138f7de4da496ace144c2695b9ffefa7c0980de693215feff3c3ced8", kill_on_drop: false }`
[INFO] [stderr] Compiling cfg-if v1.0.4
[INFO] [stderr] Compiling log v0.4.29
[INFO] [stderr] Compiling arrayvec v0.7.6
[INFO] [stderr] Compiling quote v1.0.44
[INFO] [stderr] Compiling proc-macro2 v1.0.106
[INFO] [stderr] Compiling memchr v2.8.0
[INFO] [stderr] Compiling libc v0.2.182
[INFO] [stderr] Compiling libm v0.2.16
[INFO] [stderr] Compiling bytemuck v1.25.0
[INFO] [stderr] Compiling lazy_static v1.5.0
[INFO] [stderr] Compiling bitflags v2.11.0
[INFO] [stderr] Compiling bitflags v1.3.2
[INFO] [stderr] Compiling serde_core v1.0.228
[INFO] [stderr] Compiling symphonia-core v0.5.5
[INFO] [stderr] Compiling crossbeam-utils v0.8.21
[INFO] [stderr] Compiling syn v2.0.117
[INFO] [stderr] Compiling num-traits v0.2.19
[INFO] [stderr] Compiling jobserver v0.1.34
[INFO] [stderr] Compiling crossbeam-epoch v0.9.18
[INFO] [stderr] Compiling encoding_rs v0.8.35
[INFO] [stderr] Compiling cc v1.2.56
[INFO] [stderr] Compiling either v1.15.0
[INFO] [stderr] Compiling simd-adler32 v0.3.8
[INFO] [stderr] Compiling num-integer v0.1.46
[INFO] [stderr] Compiling crossbeam-deque v0.8.6
[INFO] [stderr] Compiling zerocopy v0.8.40
[INFO] [stderr] Compiling num-bigint v0.4.6
[INFO] [stderr] Compiling rayon-core v1.13.0
[INFO] [stderr] Compiling adler2 v2.0.1
[INFO] [stderr] Compiling miniz_oxide v0.8.9
[INFO] [stderr] Compiling symphonia-metadata v0.5.5
[INFO] [stderr] Compiling num-rational v0.4.2
[INFO] [stderr] Compiling rand_core v0.10.0
[INFO] [stderr] Compiling getrandom v0.4.1
[INFO] [stderr] Compiling utf8parse v0.2.2
[INFO] [stderr] Compiling stable_deref_trait v1.2.1
[INFO] [stderr] Compiling as-slice v0.2.1
[INFO] [stderr] Compiling anstyle-parse v0.2.7
[INFO] [stderr] Compiling anyhow v1.0.102
[INFO] [stderr] Compiling crc32fast v1.5.0
[INFO] [stderr] Compiling symphonia-utils-xiph v0.5.5
[INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr] Compiling rayon v1.11.0
[INFO] [stderr] Compiling unicode-ident v1.0.24
[INFO] [stderr] Compiling anstyle v1.0.13
[INFO] [stderr] Compiling colorchoice v1.0.4
[INFO] [stderr] Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr] Compiling equivalent v1.0.2
[INFO] [stderr] Compiling anstyle-query v1.1.5
[INFO] [stderr] Compiling flate2 v1.1.9
[INFO] [stderr] Compiling aligned v0.4.3
[INFO] [stderr] Compiling anstream v0.6.21
[INFO] [stderr] Compiling zmij v1.0.21
[INFO] [stderr] Compiling alsa-sys v0.4.0
[INFO] [stderr] Compiling nom v8.0.0
[INFO] [stderr] Compiling aho-corasick v1.1.4
[INFO] [stderr] Compiling core2 v0.4.0
[INFO] [stderr] Compiling y4m v0.8.0
[INFO] [stderr] Compiling cbindgen v0.29.2
[INFO] [stderr] Compiling itoa v1.0.17
[INFO] [stderr] Compiling winnow v0.7.14
[INFO] [stderr] Compiling regex-syntax v0.8.10
[INFO] [stderr] Compiling clap_lex v1.0.0
[INFO] [stderr] Compiling quick-error v2.0.1
[INFO] [stderr] Compiling serde_derive v1.0.228
[INFO] [stderr] Compiling equator-macro v0.4.2
[INFO] [stderr] Compiling equator v0.4.2
[INFO] [stderr] Compiling zerocopy-derive v0.8.40
[INFO] [stderr] Compiling aligned-vec v0.6.4
[INFO] [stderr] Compiling thiserror-impl v2.0.18
[INFO] [stderr] Compiling v_frame v0.3.9
[INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr] Compiling profiling-procmacros v1.0.17
[INFO] [stderr] Compiling thiserror v2.0.18
[INFO] [stderr] Compiling profiling v1.0.17
[INFO] [stderr] Compiling av1-grain v0.2.5
[INFO] [stderr] Compiling av-scenechange v0.14.1
[INFO] [stderr] Compiling toml_parser v1.0.9+spec-1.1.0
[INFO] [stderr] Compiling regex-automata v0.4.14
[INFO] [stderr] Compiling maybe-rayon v0.1.1
[INFO] [stderr] Compiling fax_derive v0.2.0
[INFO] [stderr] Compiling num-derive v0.4.2
[INFO] [stderr] Compiling clap_builder v4.5.60
[INFO] [stderr] Compiling rustix v1.1.4
[INFO] [stderr] Compiling serde v1.0.228
[INFO] [stderr] Compiling serde_json v1.0.149
[INFO] [stderr] Compiling clang-sys v1.8.1
[INFO] [stderr] Compiling bitstream-io v4.9.0
[INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr] Compiling serde_spanned v1.0.4
[INFO] [stderr] Compiling cmake v0.1.57
[INFO] [stderr] Compiling itertools v0.14.0
[INFO] [stderr] Compiling simd_helpers v0.1.0
[INFO] [stderr] Compiling zune-core v0.4.12
[INFO] [stderr] Compiling new_debug_unreachable v1.0.6
[INFO] [stderr] Compiling zstd-safe v7.2.4
[INFO] [stderr] Compiling rustix v0.38.44
[INFO] [stderr] Compiling once_cell v1.21.3
[INFO] [stderr] Compiling noop_proc_macro v0.3.0
[INFO] [stderr] Compiling weezl v0.1.12
[INFO] [stderr] Compiling hashbrown v0.16.1
[INFO] [stderr] Compiling cpufeatures v0.3.0
[INFO] [stderr] Compiling imgref v1.12.0
[INFO] [stderr] Compiling loop9 v0.1.5
[INFO] [stderr] Compiling chacha20 v0.10.0
[INFO] [stderr] Compiling half v2.7.1
[INFO] [stderr] Compiling indexmap v2.13.0
[INFO] [stderr] Compiling tempfile v3.26.0
[INFO] [stderr] Compiling rav1e v0.8.1
[INFO] [stderr] Compiling gl_generator v0.14.0
[INFO] [stderr] Compiling zune-jpeg v0.4.21
[INFO] [stderr] Compiling glfw-sys v5.0.0+3.3.9
[INFO] [stderr] Compiling clap v4.5.60
[INFO] [stderr] Compiling regex v1.12.3
[INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr] Compiling fax v0.2.6
[INFO] [stderr] Compiling zune-inflate v0.2.54
[INFO] [stderr] Compiling fdeflate v0.3.7
[INFO] [stderr] Compiling avif-serialize v0.8.8
[INFO] [stderr] Compiling smallvec v1.15.1
[INFO] [stderr] Compiling linux-raw-sys v0.12.1
[INFO] [stderr] Compiling rgb v0.8.53
[INFO] [stderr] Compiling cpal v0.17.3
[INFO] [stderr] Compiling linux-raw-sys v0.4.15
[INFO] [stderr] Compiling lebe v0.5.3
[INFO] [stderr] Compiling strsim v0.11.1
[INFO] [stderr] Compiling zune-core v0.5.1
[INFO] [stderr] Compiling syn v1.0.109
[INFO] [stderr] Compiling color_quant v1.1.0
[INFO] [stderr] Compiling minimal-lexical v0.2.1
[INFO] [stderr] Compiling byteorder-lite v0.1.0
[INFO] [stderr] Compiling pxfm v0.1.28
[INFO] [stderr] Compiling bit_field v0.10.3
[INFO] [stderr] Compiling extended v0.1.0
[INFO] [stderr] Compiling symphonia-format-riff v0.5.5
[INFO] [stderr] Compiling image-webp v0.2.4
[INFO] [stderr] Compiling zune-jpeg v0.5.12
[INFO] [stderr] Compiling exr v1.74.0
[INFO] [stderr] Compiling nom v7.1.3
[INFO] [stderr] Compiling gif v0.14.1
[INFO] [stderr] Compiling gltf-derive v1.4.1
[INFO] [stderr] Compiling png v0.18.1
[INFO] [stderr] Compiling ravif v0.12.0
[INFO] [stderr] Compiling moxcms v0.7.11
[INFO] [stderr] Compiling tiff v0.10.3
[INFO] [stderr] Compiling alsa v0.11.0
[INFO] [stderr] Compiling gl v0.14.0
[INFO] [stderr] Compiling rand v0.10.0
[INFO] [stderr] Compiling getrandom v0.3.4
[INFO] [stderr] Compiling toml_datetime v0.6.11
[INFO] [stderr] Compiling serde_spanned v0.6.9
[INFO] [stderr] Compiling symphonia-format-isomp4 v0.5.5
[INFO] [stderr] Compiling symphonia-codec-vorbis v0.5.5
[INFO] [stderr] Compiling symphonia-format-ogg v0.5.5
[INFO] [stderr] Compiling symphonia-bundle-flac v0.5.5
[INFO] [stderr] Compiling symphonia-bundle-mp3 v0.5.5
[INFO] [stderr] Compiling symphonia-codec-aac v0.5.5
[INFO] [stderr] Compiling symphonia-codec-pcm v0.5.5
[INFO] [stderr] Compiling inotify-sys v0.1.5
[INFO] [stderr] Compiling qoi v0.4.1
[INFO] [stderr] Compiling libloading v0.8.9
[INFO] [stderr] Compiling same-file v1.0.6
[INFO] [stderr] Compiling shlex v1.3.0
[INFO] [stderr] Compiling fastrand v2.3.0
[INFO] [stderr] Compiling toml_write v0.1.2
[INFO] [stderr] Compiling glob v0.3.3
[INFO] [stderr] Compiling foldhash v0.1.5
[INFO] [stderr] Compiling allocator-api2 v0.2.21
[INFO] [stderr] Compiling bindgen v0.64.0
[INFO] [stderr] Compiling dasp_sample v0.11.0
[INFO] [stderr] Compiling cgmath v0.18.0
[INFO] [stderr] Compiling home v0.5.12
[INFO] [stderr] Compiling which v4.4.2
[INFO] [stderr] Compiling hashbrown v0.15.5
[INFO] [stderr] Compiling toml_edit v0.22.27
[INFO] [stderr] Compiling symphonia v0.5.5
[INFO] [stderr] Compiling walkdir v2.5.0
[INFO] [stderr] Compiling image v0.25.9
[INFO] [stderr] Compiling inotify v0.11.0
[INFO] [stderr] Compiling goud-engine-core v0.0.828 (/opt/rustwide/workdir)
[INFO] [stderr] Compiling rand_distr v0.6.0
[INFO] [stderr] Compiling ahash v0.8.12
[INFO] [stderr] Compiling cexpr v0.6.0
[INFO] [stderr] Compiling gltf-json v1.4.1
[INFO] [stderr] Compiling zstd v0.13.3
[INFO] [stderr] Compiling env_filter v1.0.0
[INFO] [stderr] Compiling approx v0.4.0
[INFO] [stderr] Compiling mio v1.1.1
[INFO] [stderr] Compiling notify-types v2.1.0
[INFO] [stderr] Compiling lazycell v1.3.0
[INFO] [stderr] Compiling heck v0.5.0
[INFO] [stderr] Compiling jiff v0.2.22
[INFO] [stderr] Compiling rtrb v0.3.3
[INFO] [stderr] Compiling raw-window-handle v0.6.2
[INFO] [stderr] Compiling base64 v0.22.1
[INFO] [stderr] Compiling byteorder v1.5.0
[INFO] [stderr] Compiling find-msvc-tools v0.1.9
[INFO] [stderr] Compiling ttf-parser v0.21.1
[INFO] [stderr] Compiling peeking_take_while v0.1.2
[INFO] [stderr] Compiling rustc-hash v1.1.0
[INFO] [stderr] Compiling urlencoding v2.1.3
[INFO] [stderr] Compiling xml-rs v0.8.28
[INFO] [stderr] Compiling base64 v0.13.1
[INFO] [stderr] Compiling tiled v0.15.0
[INFO] [stderr] Compiling gltf v1.4.1
[INFO] [stderr] Compiling env_logger v0.11.9
[INFO] [stderr] Compiling fontdue v0.9.3
[INFO] [stderr] Compiling glfw v0.59.0
[INFO] [stderr] Compiling rodio v0.22.1
[INFO] [stderr] Compiling notify v8.2.0
[INFO] [stderr] Compiling toml v0.8.23
[INFO] [stderr] Compiling tobj v4.0.3
[INFO] [stderr] warning: goud-engine-core@0.0.828:
[INFO] [stderr] warning: goud-engine-core@0.0.828: GoudEngine Build
[INFO] [stderr] warning: goud-engine-core@0.0.828: FFI Manifest [OK]: codegen/ffi_manifest.json (280 functions)
[INFO] [stderr] warning: goud-engine-core@0.0.828:
[INFO] [stderr] Compiling goud_engine_macros v0.0.828
[INFO] [stderr] Compiling bincode v1.3.3
[INFO] [stderr] Compiling crossbeam-channel v0.5.15
[INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 27s
[INFO] running `Command { std: "docker" "inspect" "d3ec68c9138f7de4da496ace144c2695b9ffefa7c0980de693215feff3c3ced8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d3ec68c9138f7de4da496ace144c2695b9ffefa7c0980de693215feff3c3ced8", kill_on_drop: false }`
[INFO] [stdout] d3ec68c9138f7de4da496ace144c2695b9ffefa7c0980de693215feff3c3ced8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 50c61772d37aa0f54c104ddf8605fd7579d7222e997c7ead54523bdcd50c52c7
[INFO] running `Command { std: "docker" "start" "-a" "50c61772d37aa0f54c104ddf8605fd7579d7222e997c7ead54523bdcd50c52c7", kill_on_drop: false }`
[INFO] [stderr] Compiling serde v1.0.228
[INFO] [stderr] Compiling once_cell v1.21.3
[INFO] [stderr] Compiling plotters-backend v0.3.7
[INFO] [stderr] Compiling ciborium-io v0.2.2
[INFO] [stderr] Compiling itertools v0.10.5
[INFO] [stderr] Compiling husky-rs v0.1.5
[INFO] [stderr] Compiling cast v0.3.0
[INFO] [stderr] Compiling ciborium-ll v0.2.2
[INFO] [stderr] Compiling ahash v0.8.12
[INFO] [stderr] Compiling plotters-svg v0.3.7
[INFO] [stderr] Compiling tempfile v3.26.0
[INFO] [stderr] Compiling plotters v0.3.7
[INFO] [stderr] Compiling tobj v4.0.3
[INFO] [stderr] Compiling is-terminal v0.4.17
[INFO] [stderr] Compiling oorandom v11.1.5
[INFO] [stderr] Compiling anes v0.1.6
[INFO] [stderr] Compiling hound v3.5.1
[INFO] [stderr] Compiling cbindgen v0.29.2
[INFO] [stderr] Compiling serde_spanned v0.6.9
[INFO] [stderr] Compiling toml_datetime v0.6.11
[INFO] [stderr] Compiling gltf-json v1.4.1
[INFO] [stderr] Compiling goud_engine_macros v0.0.828
[INFO] [stderr] Compiling bincode v1.3.3
[INFO] [stderr] Compiling ciborium v0.2.2
[INFO] [stderr] Compiling toml_edit v0.22.27
[INFO] [stderr] Compiling tinytemplate v1.2.1
[INFO] [stderr] Compiling criterion-plot v0.5.0
[INFO] [stderr] Compiling criterion v0.5.1
[INFO] [stderr] Compiling toml v0.8.23
[INFO] [stderr] Compiling gltf v1.4.1
[INFO] [stderr] Compiling goud-engine-core v0.0.828 (/opt/rustwide/workdir)
[INFO] [stderr] warning: goud-engine-core@0.0.828:
[INFO] [stderr] warning: goud-engine-core@0.0.828: GoudEngine Build
[INFO] [stderr] warning: goud-engine-core@0.0.828: FFI Manifest [OK]: codegen/ffi_manifest.json (280 functions)
[INFO] [stderr] warning: goud-engine-core@0.0.828:
[INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 08s
[INFO] running `Command { std: "docker" "inspect" "50c61772d37aa0f54c104ddf8605fd7579d7222e997c7ead54523bdcd50c52c7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "50c61772d37aa0f54c104ddf8605fd7579d7222e997c7ead54523bdcd50c52c7", kill_on_drop: false }`
[INFO] [stdout] 50c61772d37aa0f54c104ddf8605fd7579d7222e997c7ead54523bdcd50c52c7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0e25abf4361f166e8663ecfc8a32cb88efe7d8c6041b896dd85fb156ed09207e
[INFO] running `Command { std: "docker" "start" "-a" "0e25abf4361f166e8663ecfc8a32cb88efe7d8c6041b896dd85fb156ed09207e", kill_on_drop: false }`
[INFO] [stderr] Compiling goud-engine-core v0.0.828 (/opt/rustwide/workdir)
[INFO] [stderr] warning: goud-engine-core@0.0.828:
[INFO] [stderr] warning: goud-engine-core@0.0.828: GoudEngine Build
[INFO] [stderr] warning: goud-engine-core@0.0.828: FFI Manifest [OK]: codegen/ffi_manifest.json (280 functions)
[INFO] [stderr] warning: goud-engine-core@0.0.828:
[INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/goud_engine-51404e57fa77a41b)
[INFO] [stdout]
[INFO] [stdout] running 3775 tests
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_align ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_id_is_sync ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_id_is_send ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_default_asset ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_id ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_is_send ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_display ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_clone ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_extensions ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_debug ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_is_sync ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_of ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_eq ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_info_size ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_default ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_is_failed ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_discriminant ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_display ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_failure_path ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_error ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_is_loading ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_is_ready ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_is_send ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_is_sync ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_progress ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_transitions ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_workflow ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_type_is_send ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_type_is_sync ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_clone ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_debug ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_different_types ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_display ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_of ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_clone ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_asset_state_debug ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_is_send ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_of_raw ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_is_static ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_type_id ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_hash ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_all ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_is_sync ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_trait_bounds ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_clone ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type ... ok
[INFO] [stdout] test assets::asset::tests::test_state_info::test_multiple_asset_types ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_ord ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_count ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_is_gpu_asset ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_display ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_is_streamable ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_from_u8 ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_default ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_hash ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_name_default ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_debug ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_name ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_extensions ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_extensions_default ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_active_count ... ignored
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_roundtrip_conversion ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_trait_asset_type_default ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_allocate_player_id ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_cleanup_finished ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_debug ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_global_volume ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_is_finished ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_is_playing ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_new ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_pause_resume ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_play_empty_asset ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_play_looped ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_play_with_settings ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_set_sink_speed ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_set_sink_volume ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_stop ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_stop_all ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_is_send ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_volume_clamping ... ignored
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_type_try_from_u8 ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_exponential_max_distance ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_exponential_zero_distance ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_inverse_beyond_max ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_inverse_max_distance ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_inverse_realistic ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_inverse_zero_distance ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_linear_beyond_max ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_linear_half_distance ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_trait_asset_type_name ... ok
[INFO] [stdout] test assets::asset::tests::test_trait_id_type::test_asset_id_copy ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_exponential_dramatic_falloff ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_audio_manager_is_sync ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_exponential_half_distance ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_exponential_beyond_max ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_attenuation_comparison ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_linear_quadratic_rolloff ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_linear_zero_distance ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_linear_max_distance ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_compute_attenuation_linear_zero_max_distance ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_spatial_audio_attenuation_at_max ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_spatial_audio_play_empty_asset ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_spatial_audio_update_volume_nonexistent ... ignored
[INFO] [stdout] test assets::audio_manager::tests::test_spatial_audio_attenuation_diagonal ... ok
[INFO] [stdout] test assets::dependency::tests::test_add_dependency_basic ... ok
[INFO] [stdout] test assets::dependency::tests::test_add_dependency_records_forward_and_reverse ... ok
[INFO] [stdout] test assets::audio_manager::tests::test_spatial_audio_attenuation_at_source ... ok
[INFO] [stdout] test assets::dependency::tests::test_cascade_order_no_dependents ... ok
[INFO] [stdout] test assets::dependency::tests::test_cascade_order_chain ... ok
[INFO] [stdout] test assets::dependency::tests::test_cascade_order_single_dependent ... ok
[INFO] [stdout] test assets::dependency::tests::test_cycle_error_display ... ok
[INFO] [stdout] test assets::dependency::tests::test_direct_cycle_detected ... ok
[INFO] [stdout] test assets::dependency::tests::test_indirect_cycle_detected ... ok
[INFO] [stdout] test assets::dependency::tests::test_cascade_excludes_changed_asset ... ok
[INFO] [stdout] test assets::dependency::tests::test_multiple_dependencies_single_asset ... ok
[INFO] [stdout] test assets::dependency::tests::test_duplicate_dependency_is_idempotent ... ok
[INFO] [stdout] test assets::dependency::tests::test_non_cycle_allowed ... ok
[INFO] [stdout] test assets::dependency::tests::test_remove_asset_cleans_forward_edges ... ok
[INFO] [stdout] test assets::dependency::tests::test_remove_asset_preserves_unrelated ... ok
[INFO] [stdout] test assets::dependency::tests::test_remove_asset_cleans_reverse_edges ... ok
[INFO] [stdout] test assets::dependency::tests::test_cascade_order_diamond ... ok
[INFO] [stdout] test assets::dependency::tests::test_remove_nonexistent_is_noop ... ok
[INFO] [stdout] test assets::dependency::tests::test_clear ... ok
[INFO] [stdout] test assets::dependency::tests::test_default ... ok
[INFO] [stdout] test assets::dependency::tests::test_debug_format ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_allocate ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_clear ... ok
[INFO] [stdout] test assets::dependency::tests::test_self_dependency_is_cycle ... ok
[INFO] [stdout] test assets::dependency::tests::test_asset_count ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_deallocate ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_deallocate_twice ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_debug ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_deallocate_invalid ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_generation_at ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_generation_wrap ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_is_send ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_default ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_is_alive ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_len_and_capacity ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_slot_reuse ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_new ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_allocate_unique ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_slot_reuse_multiple ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_shrink_to_fit ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_with_capacity ... ok
[INFO] [stdout] test assets::handle::tests::integration_tests::test_handle_lifecycle ... ok
[INFO] [stdout] test assets::handle::tests::integration_tests::test_weak_handle_usage ... ok
[INFO] [stdout] test assets::handle::tests::integration_tests::test_path_to_handle_workflow ... ok
[INFO] [stdout] test assets::handle::tests::integration_tests::test_mixed_handle_collection ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_stress_churn ... ok
[INFO] [stdout] test assets::handle::tests::allocator_tests::test_stress_allocate_deallocate ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_into_handle ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_invalid ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_is_loading ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_new ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_as_ref ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_debug ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_clone ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_is_ready ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_default ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_set_state ... ok
[INFO] [stdout] test assets::handle::tests::load_state_tests::test_is_failed ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_directory ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_file_name ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_equality ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_display ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_from_string_into ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_equality_with_str ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_extension ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_from_str ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_from_string ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_with_extension ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_hash ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_into_owned ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_is_empty ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_new ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_from_path ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_stem ... ok
[INFO] [stdout] test assets::handle::tests::path_tests::test_join ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_equality ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_asset_id ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_from_into_u64 ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_asset_type ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_clone_copy ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_debug ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_is_send ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_is_valid ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_hash ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_invalid ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_is_sync ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_from_u64 ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_new ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_ord ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_size_and_align ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_to_u64 ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_u64_roundtrip ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_untyped ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_default ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::asset_handle::test_display ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_hash ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_clone_copy ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_debug ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_equality ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_from_ref ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_default ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_invalid ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_from_handle ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_is_send ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_size_and_align ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_upgrade ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_is_sync ... ok
[INFO] [stdout] test assets::handle::tests::typed_tests::weak_asset_handle::test_new ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_equality ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_debug ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_display ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_from_typed ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_default ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_clone_copy ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_is_send ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_is_sync ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_typed ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_typed_unchecked ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_hash ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_is_type ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_clone ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_new ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_default ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_debug ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_should_watch_all ... ok
[INFO] [stdout] test assets::handle::tests::untyped_tests::test_invalid ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_should_watch_temp_files ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_should_watch_with_extension_filter ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_with_debounce ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_with_enabled ... ok
[INFO] [stdout] test assets::hot_reload::events::tests::test_clone ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_should_watch_allow_hidden ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_should_watch_hidden_files ... ok
[INFO] [stdout] test assets::hot_reload::events::tests::test_deleted ... ok
[INFO] [stdout] test assets::hot_reload::events::tests::test_created ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_with_recursive ... ok
[INFO] [stdout] test assets::hot_reload::events::tests::test_display ... ok
[INFO] [stdout] test assets::hot_reload::config::tests::test_watch_extension ... ok
[INFO] [stdout] test assets::hot_reload::events::tests::test_modified ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_is_send ... ok
[INFO] [stdout] test assets::hot_reload::events::tests::test_renamed ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_debug ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_new ... ok
[INFO] [stdout] test assets::loader::tests::asset_load_error::test_clone ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_with_config ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_unwatch ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_clear_debounce ... ok
[INFO] [stdout] test assets::loader::tests::asset_load_error::test_decode_failed ... ok
[INFO] [stdout] test assets::loader::tests::asset_load_error::test_custom ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_config_mut ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_watch ... ok
[INFO] [stdout] test assets::loader::tests::asset_load_error::test_dependency_failed ... ok
[INFO] [stdout] test assets::loader::tests::asset_loader::test_loader_with_settings ... ok
[INFO] [stdout] test assets::loader::tests::asset_load_error::test_not_found ... ok
[INFO] [stdout] test assets::loader::tests::asset_load_error::test_unsupported_format ... ok
[INFO] [stdout] test assets::loader::tests::asset_loader::test_text_loader_extensions ... ok
[INFO] [stdout] test assets::loader::tests::asset_loader::test_binary_loader ... ok
[INFO] [stdout] test assets::loader::tests::asset_loader::test_text_loader_load_success ... ok
[INFO] [stdout] test assets::loader::tests::integration::test_full_workflow ... ok
[INFO] [stdout] test assets::loader::tests::asset_loader::test_text_loader_supports_extension ... ok
[INFO] [stdout] test assets::loader::tests::load_context::test_debug ... ok
[INFO] [stdout] test assets::loader::tests::asset_loader::test_text_loader_load_invalid_utf8 ... ok
[INFO] [stdout] test assets::loader::tests::integration::test_error_propagation ... ok
[INFO] [stdout] test assets::loader::tests::integration::test_loader_registry_pattern ... ok
[INFO] [stdout] test assets::loader::tests::load_context::test_extension ... ok
[INFO] [stdout] test assets::loader::tests::load_context::test_file_name ... ok
[INFO] [stdout] test assets::loader::tests::asset_loader::test_loader_settings_limit_exceeded ... ok
[INFO] [stdout] test assets::loader::tests::asset_load_error::test_io_error ... ok
[INFO] [stdout] test assets::loader::tests::load_context::test_path_str ... ok
[INFO] [stdout] test assets::loader::tests::thread_safety::test_asset_load_error_send ... ok
[INFO] [stdout] test assets::loader::tests::load_context::test_new ... ok
[INFO] [stdout] test assets::loader::tests::thread_safety::test_asset_load_error_sync ... ok
[INFO] [stdout] test assets::loader::tests::thread_safety::test_text_loader_send ... ok
[INFO] [stdout] test assets::loader::tests::thread_safety::test_typed_loader_sync ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_boxed_collection ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_erased_load_failure ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_erased_load_success ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_erased_supports_extension ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_loader_accessor ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_multiple_loaders ... ok
[INFO] [stdout] test assets::loader::tests::thread_safety::test_typed_loader_send ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_settings_accessor ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_erased_extensions ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_new ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_settings_mut_accessor ... ok
[INFO] [stdout] test assets::loader::tests::thread_safety::test_text_loader_sync ... ok
[INFO] [stdout] test assets::loader::tests::typed_asset_loader::test_with_settings ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_asset_trait ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_is_empty ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_is_send ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_is_sync ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_new ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_total_keyframe_count ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_easing_function_default_is_linear ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_channel_by_property ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_clone ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_cubic_bezier_boundaries ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_ease_in_slower_at_start ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_ease_in_out_midpoint ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_ease_in_out_quarter ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_ease_out_faster_at_start ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_empty_keyframes_returns_zero ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_linear_after_end_clamps ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_linear_at_end ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_linear_before_start_clamps ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_linear_midpoint ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_linear_multiple_segments ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_animation_channel_serde_roundtrip ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_linear_at_start ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_single_keyframe_returns_value ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_cubic_bezier_serde_roundtrip ... ok
[INFO] [stdout] test assets::loaders::animation::asset::tests::test_keyframe_animation_serde_roundtrip ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_interpolate_step_holds_from_value ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_extensions ... ok
[INFO] [stdout] test assets::loaders::animation::keyframe::tests::test_keyframe_serde_roundtrip ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_is_send ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_is_sync ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_load_empty_channels ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_load_empty_bytes ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_invalid_gltf ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_load_invalid_json ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_load_invalid_utf8 ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_load_valid_json ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_load_with_default_easing ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_asset_bits_per_sample ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_asset_debug ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_asset_duration_secs ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_asset_empty ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_asset_is_mono ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_asset_new ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_asset_trait ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_format_clone ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_format_debug ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_format_default ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_format_display ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_format_eq ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_format_extension ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_format_from_extension ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_format_name ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_clone ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_debug ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_default ... ok
[INFO] [stdout] test assets::loaders::animation::loader::tests::test_animation_loader_clone ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_asset_clone ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_extensions ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_new ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_empty_bytes_returns_error ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_with_settings ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_settings_clone ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_settings_custom ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_settings_debug ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_settings_default ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_types_are_send_and_sync ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_asset_trait ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_clone ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_debug ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_deserialize_into_struct ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_deserialize_type_mismatch ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_invalid_bytes_returns_error ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_get_missing_key ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_into_data ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_is_array ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_is_object ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_new ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_format::test_default ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_format::test_display ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_extracts_wav_metadata ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_load_unknown_extension ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_load_wav ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_format::test_equality ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_format::test_from_extension_toml ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_format::test_extension ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_format::test_from_extension_unknown ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_format::test_from_extension_json ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_format::test_name ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_shared_decode_path ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_clone ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_debug ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_default ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_extensions ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_load_empty_json_object ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_load_invalid_json ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_load_json_array ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_load_json_then_deserialize ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_load_valid_json ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_new ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_clone ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_load_valid_toml ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_debug ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_is_send ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_is_empty ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_is_sync ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_new ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_size_bytes ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_trait_asset_type ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_trait_extensions ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_asset_trait_type_name ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_clone_and_copy ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_debug ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_default ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_display ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_eq ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_extension ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_from_extension_case_insensitive ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_from_extension_otf ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_from_extension_ttf ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_from_extension_unknown ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_format_name ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_load_invalid_toml ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_clone ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_is_sync ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_debug ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_extensions ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_load_empty_bytes_returns_error ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_loader::test_load_toml_with_types ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_load_invalid_bytes_returns_decode_failed ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_load_valid_ttf_success ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_registration_with_asset_server ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_settings_clone ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_settings_custom ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_settings_debug ... ok
[INFO] [stdout] test assets::loaders::gltf_utils::tests::test_decode_base64_invalid ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_loader_is_send ... ok
[INFO] [stdout] test assets::loaders::gltf_utils::tests::test_decode_base64_no_padding ... ok
[INFO] [stdout] test assets::loaders::gltf_utils::tests::test_decode_base64_simple ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_settings_default ... ok
[INFO] [stdout] test assets::loaders::gltf_utils::tests::test_decode_base64_empty ... ok
[INFO] [stdout] test assets::loaders::font::tests::test_font_style_default ... ok
[INFO] [stdout] test assets::hot_reload::watcher::tests::test_process_events_disabled ... ok
[INFO] [stdout] test assets::loaders::gltf_utils::tests::test_decode_data_uri ... ok
[INFO] [stdout] test assets::loaders::gltf_utils::tests::test_decode_data_uri_unsupported ... ok
[INFO] [stdout] test assets::loaders::config::tests::config_asset::test_get_existing_key ... ok
[INFO] [stdout] test assets::loaders::audio::tests::test_audio_loader_duration_calculated ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_asset_trait ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_empty_uniforms_and_textures ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_get_texture_slot_existing ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_clone ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_get_uniform_missing ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_debug ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_get_texture_slot_missing ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_get_uniform_existing ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_debug ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_asset::test_new_and_accessors ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_all_uniform_variants_in_json ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_clone ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_dependency_declaration_shader ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_default ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_dependency_declaration_textures ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_dependency_count ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_extensions ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_load_missing_required_shader_path_field ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_load_valid_material ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_load_invalid_json ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_load_missing_required_name_field ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_clone ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_minimal_material_has_only_shader_dependency ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_new ... ok
[INFO] [stdout] test assets::loaders::material::tests::material_loader::test_load_minimal_material_defaults_optional_fields ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_debug ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_float_variant ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_inequality ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_serialize_deserialize_roundtrip ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_int_variant ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_vec3_variant ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_mat4_variant ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_vec2_variant ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::gltf_tests::test_gltf_parse_empty_glb ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::gltf_tests::test_gltf_parse_invalid_data ... ok
[INFO] [stdout] test assets::loaders::material::tests::uniform_value::test_vec4_variant ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::obj_tests::test_obj_parse_multi_object ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::obj_tests::test_obj_parse_triangle ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::obj_tests::test_obj_parse_invalid_data ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::obj_tests::test_obj_submesh_indices ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::obj_tests::test_obj_parse_no_normals_defaults ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_asset_counts ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::gltf_tests::test_gltf_submesh_extraction ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_asset_empty ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_asset_extensions ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_asset_type ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_format_from_extension ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::gltf_tests::test_gltf_parse_triangle_glb ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_loader_unsupported_extension ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_loader_extensions ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_asset_to_interleaved_floats ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_mesh_vertex_serde_roundtrip ... ok
[INFO] [stdout] test assets::loaders::mesh::tests::test_sub_mesh_serde_roundtrip ... ok
[INFO] [stdout] test assets::loaders::rodio_integration::tests::test_rodio_availability ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_defines ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_add_stage ... ok
[INFO] [stdout] test assets::loaders::rodio_integration::tests::test_rodio_decoder_available ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_default ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_display ... ok
[INFO] [stdout] test assets::loaders::rodio_integration::tests::test_rodio_source_traits_available ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_is_send_sync ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_get_stage ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_remove_stage ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_new ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_is_compute_shader ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_is_graphics_shader ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_total_size_bytes ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_implements_asset ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_stages_iterator ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_validate_compute_only ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_validate_compute_with_others ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_validate_graphics_complete ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_validate_empty ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_validate_graphics_missing_vertex ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_validate_graphics_missing_fragment ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_format_default ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_asset_with_name ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_format_display ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_format_name ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_detect_format_combined ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_extensions ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_full_workflow_single_stage ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_combined_case_insensitive ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_invalid_utf8 ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_settings_clone ... ok
[INFO] [stdout] test assets::loaders::shader::tests::asset_tests::test_shader_settings_default ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_combined ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_no_extension ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_single_stage_fragment ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_validation_failure ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_no_validation ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_single_stage_vertex ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_new ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_load_unsupported_extension ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_sets_name ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_with_settings ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_display ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_extract_version ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_is_empty ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_with_defines ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_default_version ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_line_count ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_size_bytes ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_validate_no_main ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_is_send_sync ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_validate_empty ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_validate_no_version ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_validate_success ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_stage_all ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_stage_extensions ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_stage_default ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_stage_display ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_stage_from_directive ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_source_new ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_stage_names ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_aspect_ratio ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_asset_trait ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_stage_from_extension ... ok
[INFO] [stdout] test assets::loaders::shader::tests::stage_tests::test_shader_stage_is_send_sync ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_bytes_per_pixel ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_debug ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_full_workflow_combined ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_get_pixel ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_detect_format_single_stage ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_is_power_of_two ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_pixel_count ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_clone ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_new ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_size_bytes ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_color_space::test_default ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_color_space::test_name ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_format::test_default ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_format::test_equality ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_format::test_extension ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_format::test_from_extension ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_format::test_name ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_clone ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_debug ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_default ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_extensions ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_load_invalid_data ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_color_space::test_display ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_color_space::test_equality ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_format::test_clone ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_format::test_display ... ok
[INFO] [stdout] test assets::loaders::shader::tests::loader_tests::test_shader_loader_is_send_sync ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_load_from_bytes ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_settings::test_debug ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_settings::test_default ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_wrap_mode::test_display ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_wrap_mode::test_equality ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_load_with_flip ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_wrap_mode::test_name ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_settings::test_clone ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::integration::test_error_handling ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_new ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_loader::test_load_png ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::thread_safety::test_texture_asset_send ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_wrap_mode::test_default ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::thread_safety::test_texture_asset_sync ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::thread_safety::test_texture_settings_send ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::thread_safety::test_texture_settings_sync ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::thread_safety::test_texture_loader_send ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_tiled_map_asset_pixel_dimensions ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_asset_type_metadata ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_tiled_map_asset_layer_count ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_visible_tile_range_clamped_to_map ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::integration::test_full_workflow ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_visible_tile_range_camera_beyond_map ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_visible_tile_range_full_map ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_visible_tile_range_negative_camera ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_visible_tile_range_partial ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::thread_safety::test_texture_loader_sync ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_visible_tile_range_exact_tile_boundary ... ok
[INFO] [stdout] test assets::loaders::tiled_map::layer::tests::test_object_layer_construction ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_visible_tile_range_zero_map_size ... ok
[INFO] [stdout] test assets::loaders::tiled_map::asset::tests::test_visible_tile_range_zero_tile_size ... ok
[INFO] [stdout] test assets::loaders::tiled_map::layer::tests::test_map_object_default_properties ... ok
[INFO] [stdout] test assets::loaders::tiled_map::loader::tests::test_tiled_map_loader_empty_bytes ... ok
[INFO] [stdout] test assets::loaders::tiled_map::loader::tests::test_tiled_map_loader_extensions ... ok
[INFO] [stdout] test assets::loaders::tiled_map::loader::tests::test_tiled_map_loader_invalid_bytes ... ok
[INFO] [stdout] test assets::loaders::tiled_map::layer::tests::test_tile_layer_get_gid_out_of_bounds ... ok
[INFO] [stdout] test assets::loaders::tiled_map::layer::tests::test_tile_layer_is_empty_at ... ok
[INFO] [stdout] test assets::loaders::tiled_map::layer::tests::test_tile_layer_get_gid_valid ... ok
[INFO] [stdout] test assets::loaders::texture::tests_integration::integration::test_different_formats ... ok
[INFO] [stdout] test assets::loaders::tiled_map::loader::tests::test_tiled_map_loader_supports_extension ... ok
[INFO] [stdout] test assets::server::async_tests::async_loading_tests::test_load_async_returns_handle_in_loading_state ... ok
[INFO] [stdout] test assets::server::async_tests::async_loading_tests::test_load_async_deduplication ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_clear ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_clear_type ... ok
[INFO] [stdout] test assets::server::async_tests::async_loading_tests::test_load_async_no_loader_fails_immediately ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_handles_iterator ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_iter ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_load_and_get ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_load_deduplication ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_load_nonexistent_file ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_get_mut ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_load_unsupported_extension ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_loaded_count ... ok
[INFO] [stdout] test assets::server::async_tests::async_loading_tests::test_load_async_becomes_loaded_after_process ... ok
[INFO] [stdout] test assets::server::async_tests::async_loading_tests::test_load_async_failed_file_not_found ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_registered_type_count ... ok
[INFO] [stdout] test assets::server::async_tests::async_loading_tests::test_main_thread_not_blocked ... ok
[INFO] [stdout] test assets::server::async_tests::async_loading_tests::test_load_async_multiple_asset_types ... ok
[INFO] [stdout] test assets::server::async_tests::async_loading_tests::test_process_loads_returns_count ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_unload ... ok
[INFO] [stdout] test assets::server::tests::asset_server::test_debug ... ok
[INFO] [stdout] test assets::server::tests::asset_server::test_default ... ok
[INFO] [stdout] test assets::server::tests::asset_server::test_new ... ok
[INFO] [stdout] test assets::server::tests::asset_server::test_set_asset_root ... ok
[INFO] [stdout] test assets::server::tests::asset_server::test_with_root ... ok
[INFO] [stdout] test assets::server::tests::asset_operations::test_multiple_asset_types ... ok
[INFO] [stdout] test assets::server::tests::load_from_bytes::test_load_from_bytes_decode_error ... ok
[INFO] [stdout] test assets::server::tests::load_from_bytes::test_load_from_bytes_deduplication ... ok
[INFO] [stdout] test assets::server::tests::load_from_bytes::test_load_from_bytes_multiple_types ... ok
[INFO] [stdout] test assets::server::tests::load_from_bytes::test_load_from_bytes_success ... ok
[INFO] [stdout] test assets::server::tests::loader_registration::test_has_loader_for_extension ... ok
[INFO] [stdout] test assets::server::tests::loader_registration::test_has_loader_for_type ... ok
[INFO] [stdout] test assets::server::tests::loader_registration::test_register_loader ... ok
[INFO] [stdout] test assets::server::tests::load_from_bytes::test_load_from_bytes_unsupported_extension ... ok
[INFO] [stdout] test assets::server::tests::thread_safety::test_asset_server_is_send ... ok
[INFO] [stdout] test assets::server::tests::loader_registration::test_register_loader_with_settings ... ok
[INFO] [stdout] test assets::server::tests::loader_registration::test_register_multiple_loaders ... ok
[INFO] [stdout] test assets::server::tests_dependency::test_compound_extension_loader_lookup ... ok
[INFO] [stdout] test assets::server::tests_dependency::test_dependency_graph_accessible ... ok
[INFO] [stdout] test assets::server::tests_dependency::test_load_records_dependencies_in_graph ... ok
[INFO] [stdout] test assets::server::tests_dependency::test_manual_dependency_and_cascade ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_clear ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_clear_type ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_default ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_get ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_get_entry ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_debug ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_get_mut ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_get_or_create_storage ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_get_state ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_get_by_path ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_has_type ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_get_state_untyped ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_insert ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_get_storage ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_insert_multiple_types ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_handles ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_insert_with_path ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_is_empty_type ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_is_alive_untyped ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_registered_types ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_iter ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_remove ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_remove_untyped ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_reserve ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_len ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_stress_multiple_types ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_new ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_asset_mut ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_type_isolation ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_set_path ... ok
[INFO] [stdout] test assets::storage::tests::test_container::test_set_loaded ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_default ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_empty ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_clear_path ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_clone ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_debug ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_set_loaded ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_set_path ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_set_failed ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_set_progress ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_loading ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_set_unloaded ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_take_asset ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_with_path ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_asset_entry_is_send ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_asset_entry_is_sync ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_asset_id ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_failed ... ok
[INFO] [stdout] test assets::storage::tests::test_entry::test_loaded ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_as_any_downcast ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_get_path_untyped ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_get_state_untyped ... ok
[INFO] [stdout] test assets::server::tests_dependency::test_unload_cleans_dependency_graph ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_is_alive_raw ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_len_and_is_empty ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_remove_untyped_wrong_type ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_remove_untyped ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_typed_storage_is_send ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_typed_storage_is_sync ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_clear ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_clear_path ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_debug ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_default ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_get ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_get_by_path ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_get_entry ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_get_invalid ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_get_mut ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_get_stale ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_get_state ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_handles ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_insert ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_insert_multiple ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_insert_with_path ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_insert_with_path_deduplication ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_get_handle_by_path ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_iter ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_clear ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_asset_storage_is_send ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_asset_storage_is_sync ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_new ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_remove_with_path ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_paths ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_remove ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_reserve ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_remove_invalid ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_reserve_with_path ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_set_loaded ... ok
[INFO] [stdout] test assets::storage::tests::test_thread_safety::test_asset_info ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_set_path ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_set_path_replaces_old ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_slot_reuse ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_set_loaded_invalid_handle ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_stale_path_index ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_load_scene_creates_entities ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_load_scene_from_json ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_load_duplicate_name_errors ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_deferred_load_invalid_json_returns_error ... ok
[INFO] [stdout] test assets::storage::tests::test_typed::test_with_capacity ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_save_scene_to_json ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_unload_nonexistent_scene_errors ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_unload_scene_removes_from_manager ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_create_duplicate_fails ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_create_scene ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_load_then_unload_entity_count_returns_to_zero ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_destroy_removes_from_active ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_default_scene_on_new ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_destroy_default_fails ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_destroy_nonexistent_fails ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_entity_isolation ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_get_scene_by_name ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_set_active_idempotent ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_multiple_active_scenes ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_set_active_nonexistent_fails ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_set_inactive ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_slot_reuse_after_destroy ... ok
[INFO] [stdout] test context_registry::scene::manager::tests::test_destroy_scene ... ok
[INFO] [stdout] test context_registry::scene::prefab::tests::test_cycle_detection_errors ... ok
[INFO] [stdout] test context_registry::scene::prefab::tests::test_prefab_json_roundtrip ... ok
[INFO] [stdout] test context_registry::scene::prefab_asset::tests::test_prefab_asset_loader_invalid_json_errors ... ok
[INFO] [stdout] test context_registry::scene::prefab::tests::test_nested_prefab_instantiation ... ok
[INFO] [stdout] test context_registry::scene::prefab::tests::test_prefab_from_entity_and_instantiate ... ok
[INFO] [stdout] test context_registry::scene::prefab::tests::test_prefab_from_invalid_json_errors ... ok
[INFO] [stdout] test context_registry::scene::prefab_asset::tests::test_prefab_asset_loader_invalid_utf8_errors ... ok
[INFO] [stdout] test context_registry::scene::prefab_asset::tests::test_prefab_asset_loader_roundtrip ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_binary_from_invalid_bytes_returns_error ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_binary_roundtrip ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_json_roundtrip ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_roundtrip_empty_scene ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_roundtrip_multiple_entities ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_roundtrip_with_transform_and_name ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_scene_from_invalid_json_returns_error ... ok
[INFO] [stdout] test context_registry::scene::loading::tests::test_deferred_load_creates_scene ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_roundtrip_with_hierarchy ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_serialize_empty_scene ... ok
[INFO] [stdout] test context_registry::scene::serialization::tests::test_sprite_texture_path_roundtrip ... ok
[INFO] [stdout] test context_registry::tests::test_context_debug ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_copy_clone ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_default ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_display ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_equality ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_hash ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_invalid ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_is_send ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_is_sync ... ok
[INFO] [stdout] test context_registry::tests::test_context_id_new ... ok
[INFO] [stdout] test context_registry::tests::test_context_new ... ok
[INFO] [stdout] test context_registry::tests::test_context_validate_thread ... ok
[INFO] [stdout] test context_registry::tests::test_context_world_access ... ok
[INFO] [stdout] test context_registry::tests::test_full_lifecycle ... ok
[INFO] [stdout] test context_registry::tests::test_handle_clone ... ok
[INFO] [stdout] test context_registry::tests::test_handle_create ... ok
[INFO] [stdout] test context_registry::tests::test_handle_create_multiple ... ok
[INFO] [stdout] test context_registry::tests::test_handle_debug ... ok
[INFO] [stdout] test context_registry::tests::test_handle_default ... ok
[INFO] [stdout] test context_registry::tests::test_handle_destroy ... ok
[INFO] [stdout] test context_registry::tests::test_handle_new ... ok
[INFO] [stdout] test context_registry::tests::test_many_concurrent_contexts ... ok
[INFO] [stdout] test context_registry::tests::test_multiple_contexts_isolation ... ok
[INFO] [stdout] test context_registry::tests::test_registry_create ... ok
[INFO] [stdout] test context_registry::tests::test_registry_create_multiple ... ok
[INFO] [stdout] test context_registry::tests::test_registry_debug ... ok
[INFO] [stdout] test context_registry::tests::test_registry_destroy ... ok
[INFO] [stdout] test context_registry::tests::test_registry_destroy_invalid ... ok
[INFO] [stdout] test context_registry::tests::test_registry_destroy_twice ... ok
[INFO] [stdout] test context_registry::tests::test_registry_free_list_reuse ... ok
[INFO] [stdout] test context_registry::tests::test_registry_generation_increment ... ok
[INFO] [stdout] test context_registry::tests::test_registry_get ... ok
[INFO] [stdout] test context_registry::tests::test_registry_get_invalid ... ok
[INFO] [stdout] test context_registry::tests::test_registry_get_mut ... ok
[INFO] [stdout] test context_registry::tests::test_registry_is_valid ... ok
[INFO] [stdout] test context_registry::tests::test_registry_new ... ok
[INFO] [stdout] test context_registry::tests::test_stale_id_detection ... ok
[INFO] [stdout] test core::error::tests::codes_tests::test_error_category_classification ... ok
[INFO] [stdout] test core::error::tests::codes_tests::test_error_code_ranges_are_non_overlapping ... ok
[INFO] [stdout] test core::error::tests::codes_tests::test_error_codes_within_category_bounds ... ok
[INFO] [stdout] test core::error::tests::codes_tests::test_input_error_codes_in_valid_range ... ok
[INFO] [stdout] test core::error::tests::codes_tests::test_is_success_and_is_error ... ok
[INFO] [stdout] test core::error::tests::codes_tests::test_success_code_is_zero ... ok
[INFO] [stdout] test core::error::tests::codes_tests::test_unknown_category_for_out_of_range ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_all_context_errors_in_context_category ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_already_initialized_error_code ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_context_destroyed_error_code ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_context_error_codes_in_valid_range ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_goud_error_derives ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_initialization_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_initialization_failed_preserves_message ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_invalid_context_error_code ... ok
[INFO] [stdout] test context_registry::scene::prefab::tests::test_instantiate_100_times_isolation ... ok
[INFO] [stdout] test core::error::tests::context_errors::test_not_initialized_error_code ... ok
[INFO] [stdout] test core::error::tests::context_propagation::test_clear_last_error_clears_context ... ok
[INFO] [stdout] test core::error::tests::context_propagation::test_context_defaults_to_none_when_not_provided ... ok
[INFO] [stdout] test core::error::tests::context_propagation::test_set_last_error_with_context_populates_subsystem_and_operation ... ok
[INFO] [stdout] test core::error::tests::context_propagation::test_set_last_error_without_context_clears_previous_context ... ok
[INFO] [stdout] test core::error::tests::context_propagation::test_take_last_error_clears_context ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_all_entity_errors_in_entity_category ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_component_already_exists_error_code ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_component_not_found_error_code ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_entity_already_exists_error_code ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_entity_error_code_gaps_for_future_expansion ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_entity_error_codes_are_distinct ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_entity_error_codes_in_valid_range ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_entity_error_debug_format ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_entity_error_equality ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_entity_not_found_error_code ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_query_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::entity_errors::test_query_failed_preserves_message ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_clear_last_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_default ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_derive_traits ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_from_code_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_from_code_success ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_from_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_from_error_with_message ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_from_goud_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_from_goud_result ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_from_result_err ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_from_result_ok ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_repr_c ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_result_success ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_success_workflow_simulation ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_ffi_workflow_simulation ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_get_does_not_clear_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_last_error_code_no_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_last_error_code_with_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_last_error_message_no_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_last_error_message_with_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_overwrite_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_set_and_get_last_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_take_clears_error ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_multiple_threads_independent_errors ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_all_graphics_errors_in_graphics_category ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_backend_not_supported_error_code ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_graphics_error_code_gaps_for_future_expansion ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_graphics_error_codes_are_distinct ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_buffer_creation_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_graphics_error_codes_in_valid_range ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_draw_call_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_graphics_error_debug_format ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_graphics_error_equality ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_graphics_errors_preserve_message ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_render_target_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_shader_compilation_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_shader_link_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::graphics_errors::test_texture_creation_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_all_internal_errors_in_internal_category ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_internal_error_code_ordering ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_internal_error_codes_are_distinct ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_internal_error_codes_in_valid_range ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_internal_error_debug_format ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_internal_error_equality ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_internal_error_error_code ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_internal_errors_preserve_message ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_invalid_state_error_code ... ok
[INFO] [stdout] test core::error::tests::internal_errors::test_not_implemented_error_code ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_degraded_codes_return_degraded ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_every_error_code_has_nonempty_hint ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_fatal_codes_return_fatal ... ok
[INFO] [stdout] test core::error::tests::ffi_tests::test_thread_isolation ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_is_fatal_helper ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_is_recoverable_helper ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_recoverable_codes_return_recoverable ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_recovery_class_repr_values ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_all_resource_errors_in_resource_category ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_handle_error_codes_are_distinct ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_handle_expired_error_code ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_handle_type_mismatch_error_code ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_invalid_handle_error_code ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_specific_recovery_hints ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_success_has_empty_hint ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_resource_already_exists_error_code ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_resource_error_codes_in_valid_range ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_resource_error_debug_format ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_resource_error_equality ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_resource_errors_preserve_message ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_resource_invalid_format_error_code ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_success_returns_recoverable ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_resource_load_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::resource_errors::test_resource_not_found_error_code ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_all_err_constants_have_mappings ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_from_error_code_uses_empty_string_for_payloads ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_unknown_code_has_fallback_hint ... ok
[INFO] [stdout] test core::error::tests::recovery_tests::test_unknown_code_returns_recoverable ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_round_trip_context_errors ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_round_trip_entity_errors ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_round_trip_graphics_errors ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_round_trip_input_errors ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_round_trip_internal_errors ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_round_trip_resource_errors ... ok
[INFO] [stdout] test context_registry::tests::test_stress_create_destroy ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_round_trip_system_errors ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_success_returns_none ... ok
[INFO] [stdout] test core::error::tests::round_trip::test_unknown_code_returns_none ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_all_system_errors_in_system_category ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_audio_init_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_platform_error_error_code ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_physics_init_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_system_error_code_gaps_for_future_expansion ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_system_error_codes_are_distinct ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_system_error_codes_in_valid_range ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_system_error_debug_format ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_system_error_equality ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_system_errors_preserve_message ... ok
[INFO] [stdout] test core::error::tests::system_errors::test_window_creation_failed_error_code ... ok
[INFO] [stdout] test core::error::tests::traits::test_display_format_context_errors ... ok
[INFO] [stdout] test core::error::tests::traits::test_display_format_entity_errors ... ok
[INFO] [stdout] test core::error::tests::traits::test_display_format_graphics_errors ... ok
[INFO] [stdout] test core::error::tests::traits::test_display_format_internal_errors ... ok
[INFO] [stdout] test core::error::tests::traits::test_display_format_resource_errors ... ok
[INFO] [stdout] test core::error::tests::traits::test_display_format_system_errors ... ok
[INFO] [stdout] test core::error::tests::traits::test_display_versus_debug ... ok
[INFO] [stdout] test core::error::tests::traits::test_error_can_be_boxed ... ok
[INFO] [stdout] test core::error::tests::traits::test_error_trait_implementation ... ok
[INFO] [stdout] test core::error::tests::traits::test_from_io_error_not_found ... ok
[INFO] [stdout] test core::error::tests::traits::test_from_io_error_other ... ok
[INFO] [stdout] test core::error::tests::traits::test_from_io_error_permission_denied ... ok
[INFO] [stdout] test core::error::tests::traits::test_from_str ... ok
[INFO] [stdout] test core::error::tests::traits::test_from_string ... ok
[INFO] [stdout] test core::error::tests::traits::test_goud_error_initialization_failed_has_correct_code ... ok
[INFO] [stdout] test core::error::tests::traits::test_goud_error_not_initialized_has_correct_code ... ok
[INFO] [stdout] test core::error::tests::traits::test_goud_result_err ... ok
[INFO] [stdout] test core::error::tests::traits::test_goud_result_ok ... ok
[INFO] [stdout] test core::error::tests::traits::test_goud_result_with_question_mark ... ok
[INFO] [stdout] test core::error::tests::traits::test_message_method ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_clear ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_default ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_drain ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_is_send_sync ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_multiple_readers ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_new ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_send_batch ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_send_read_cycle ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_update_clears_old ... ok
[INFO] [stdout] test core::event::tests::tests_events_resource::test_events_writer ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_clear ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_default ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_drain ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_drain_empty ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_multi_frame_lifecycle ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_new ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_preserves_order ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_send ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_queue_swap_buffers ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_reader_clear ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_reader_multiple_independent ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_reader_new ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_reader_no_rereading ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_reader_reads_all ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_reader_tracks_position ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_trait_bounds ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_event_with_string ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_primitive_types_are_events ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_simple_struct_is_event ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_tuple_struct_event ... ok
[INFO] [stdout] test core::event::tests::tests_queue_reader::test_unit_struct_event ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_arc_wrapped_event ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_container_of_events ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_reader_empty_queue ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_reader_iter_exact_size ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_writer_empty_batch ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_writer_exclusive_access ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_writer_new ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_writer_preserves_order ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_writer_reader_integration ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_writer_send ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_writer_send_batch ... ok
[INFO] [stdout] test core::event::tests::tests_writer_resource::test_event_writer_send_batch_iterator ... ok
[INFO] [stdout] test core::events::tests::test_all_events_are_send_sync ... ok
[INFO] [stdout] test core::events::tests::test_all_events_are_static ... ok
[INFO] [stdout] test core::events::tests::test_all_events_implement_event_trait ... ok
[INFO] [stdout] test core::events::tests::test_app_exiting_default ... ok
[INFO] [stdout] test core::events::tests::test_app_exiting_error ... ok
[INFO] [stdout] test core::events::tests::test_app_exiting_programmatic ... ok
[INFO] [stdout] test core::events::tests::test_app_exiting_user ... ok
[INFO] [stdout] test core::events::tests::test_app_started_debug ... ok
[INFO] [stdout] test core::events::tests::test_app_started_default ... ok
[INFO] [stdout] test core::events::tests::test_events_are_clone ... ok
[INFO] [stdout] test core::events::tests::test_events_are_copy ... ok
[INFO] [stdout] test core::events::tests::test_events_are_hashable ... ok
[INFO] [stdout] test core::events::tests::test_exit_reason_default ... ok
[INFO] [stdout] test core::events::tests::test_frame_ended_default ... ok
[INFO] [stdout] test core::events::tests::test_frame_ended_frame_time_secs ... ok
[INFO] [stdout] test core::events::tests::test_frame_ended_new ... ok
[INFO] [stdout] test core::events::tests::test_frame_started_default ... ok
[INFO] [stdout] test core::events::tests::test_frame_started_fps ... ok
[INFO] [stdout] test core::events::tests::test_frame_started_fps_zero_delta ... ok
[INFO] [stdout] test core::events::tests::test_frame_started_new ... ok
[INFO] [stdout] test core::events::tests::test_window_close_requested_default ... ok
[INFO] [stdout] test core::events::tests::test_window_focused_default ... ok
[INFO] [stdout] test core::events::tests::test_window_focused_gained ... ok
[INFO] [stdout] test core::events::tests::test_window_focused_lost ... ok
[INFO] [stdout] test core::events::tests::test_window_focused_new ... ok
[INFO] [stdout] test core::events::tests::test_window_moved_default ... ok
[INFO] [stdout] test core::events::tests::test_window_moved_negative ... ok
[INFO] [stdout] test core::events::tests::test_window_moved_new ... ok
[INFO] [stdout] test core::events::tests::test_window_resized_default ... ok
[INFO] [stdout] test core::events::tests::test_window_resized_new ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_allocate_multiple ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_allocate_single ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_deallocate ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_deallocate_invalid ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_debug_format ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_default ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_generation_prevents_aba ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_double_deallocate ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_generation_wrapping ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_is_alive ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_len_and_capacity ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_new ... ok
[INFO] [stdout] test core::handle::tests::allocator_tests::test_allocator_slot_reuse ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_clear_and_reallocate ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_clear_basic ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_clear_empty ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_clear_multiple_times ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_clear_with_some_deallocated ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_shrink_to_fit ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_shrink_to_fit_empty ... ok
[INFO] [stdout] test core::events::tests::test_window_resized_aspect_ratio ... ok
[INFO] [stdout] test core::events::tests::test_window_resized_aspect_ratio_zero_height ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_with_capacity ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_with_capacity_zero ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_debug_format ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_debug_invalid ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_default ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_different_types_not_comparable ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_edge_cases ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_eq_reflexive_symmetric_transitive ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_from_trait_u64 ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_into_trait_from_u64 ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_hash_consistency ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_hash_in_hashmap ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_is_valid ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_clone ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_to_u64_and_from_u64 ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_u64_edge_cases ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_u64_pack_format ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_invalid_constant ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_into_iterator_mut_ref ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_into_iterator_ref ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_after_clear ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_basic ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_new_and_accessors ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_partial_eq ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_copy ... ok
[INFO] [stdout] test core::handle::tests::handle_tests::test_handle_size_and_alignment ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_handles_iterator ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_count ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_empty ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_mut_basic ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_mut_modifies_in_place ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_size_hint ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_skips_removed ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_stress ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_iter_with_gaps ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_values_iterator ... ok
[INFO] [stdout] test core::handle::tests::iterator_tests::test_handle_map_values_mut_iterator ... ok
[INFO] [stdout] test core::handle::tests::map_advanced_tests::test_handle_map_values_with_complex_types ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_clear ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_clear_and_reinsert ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_contains ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_debug ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_default ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_generation_safety ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_get ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_get_invalid_handle ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_get_mut ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_get_mut_invalid ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_insert_multiple ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_insert_single ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_len_and_capacity ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_new ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_remove ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_remove_drops_value ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_remove_returns_none_for_invalid ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_slot_reuse ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_with_capacity ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_count ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_just_released ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_mapping_persistence_across_clear ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_shrink_to_fit ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_just_pressed ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_mapping_string_ownership ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_multiple_input_types ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_names ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_pressed ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_pressed_nonexistent ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_mapping_persistence_across_update ... ok
[INFO] [stdout] test core::handle::tests::map_advanced_tests::test_handle_map_stress ... ok
[INFO] [stdout] test core::handle::tests::map_tests::test_handle_map_reserve ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_clear_action ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_strength ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_clear_all_actions ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_map_action_basic ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_action_strength_nonexistent ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_has_action ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_unmap_action ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_buffer_max_size ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_buffer_size ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_buffered_inputs_iterator ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_get_action_bindings_nonexistent ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_clear_buffer ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_buffer_not_cleared_by_state_clear ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_buffer_only_new_presses ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_consume_sequence ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_consume_sequence_not_detected ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_double_tap_detection ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_sequence_detected_empty ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_fighting_game_combo ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_sequence_detected_basic ... ok
[INFO] [stdout] test core::input_manager::tests::actions::test_map_action_multiple_bindings ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_sequence_detected_partial ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_sequence_detected_with_extra_inputs ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_sequence_detected_wrong_order ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_sequence_mixed_input_types ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_sequence_persistence_across_update ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_set_buffer_duration ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_time_since_last_input ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_with_buffer_duration ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_connected_gamepads_iterator ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_axes_update_persistence ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_axis_deadzone ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_axis_nonexistent_gamepad ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_axis_basic ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_button_just_released ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_button_pressed ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_capacity_expansion ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_connection ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_connection_nonexistent ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_expansion ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_left_stick ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_multiple_gamepads ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_multiple_gamepads_axes ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_right_stick ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_state_clear_preserves_connection ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_stick_magnitude ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_triggers ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_vibration ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_input_binding_gamepad_button ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_set_analog_deadzone ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_stop_all_vibration ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_stop_gamepad_vibration ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_clone ... ok
[INFO] [stdout] test core::input_manager::tests::gamepad::test_gamepad_button_just_pressed ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_debug ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_default ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_input_binding_eq ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_input_binding_hash ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_input_binding_key ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_key_just_pressed ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_key_just_released ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_key_pressed ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_keys_pressed_iterator ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_update_copies_state ... ok
[INFO] [stdout] test core::input_manager::tests::keyboard::test_new_input_manager ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_clear ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_input_binding_display ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_input_binding_mouse_button ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_mouse_button_just_pressed ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_mouse_buttons_pressed_iterator ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_mouse_button_pressed ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_mouse_delta ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_mouse_button_just_released ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_mouse_position ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_scroll_delta ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_mouse_delta_reset_on_update ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_in_back_boundaries ... ok
[INFO] [stdout] test core::input_manager::tests::mouse::test_scroll_delta_reset_on_update ... ok
[INFO] [stdout] test core::handle::tests::capacity_tests::test_allocator_stress_100k_allocations ... ok
[INFO] [stdout] test core::math::easing::tests::test_bezier_css_ease ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_in_back_overshoots_negative ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_in_boundaries ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_in_is_slow_start ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_in_out_boundaries ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_out_bounce_midpoint_above_half ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_in_out_midpoint ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_out_boundaries ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_out_is_slow_end ... ok
[INFO] [stdout] test core::math::easing::tests::test_ease_out_bounce_boundaries ... ok
[INFO] [stdout] test core::math::easing::tests::test_easing_enum_cubic_bezier ... ok
[INFO] [stdout] test core::math::easing::tests::test_easing_enum_delegates ... ok
[INFO] [stdout] test core::math::easing::tests::test_linear_boundaries ... ok
[INFO] [stdout] test core::math::easing::tests::test_linear_midpoint ... ok
[INFO] [stdout] test core::math::tests::test_color_constants ... ok
[INFO] [stdout] test core::math::tests::test_color_with_alpha ... ok
[INFO] [stdout] test core::math::tests::test_color_from_hex ... ok
[INFO] [stdout] test core::math::tests::test_color_from_u8 ... ok
[INFO] [stdout] test core::math::tests::test_color_lerp ... ok
[INFO] [stdout] test core::math::tests::test_color_vec_conversions ... ok
[INFO] [stdout] test core::math::tests::test_rect_from_min_max ... ok
[INFO] [stdout] test core::math::tests::test_ffi_layout_sizes ... ok
[INFO] [stdout] test core::math::tests::test_rect_intersection ... ok
[INFO] [stdout] test core::math::tests::test_rect_accessors ... ok
[INFO] [stdout] test core::math::tests::test_rect_constructors ... ok
[INFO] [stdout] test core::math::tests::test_rect_contains ... ok
[INFO] [stdout] test core::math::easing::tests::test_bezier_linear ... ok
[INFO] [stdout] test core::math::tests::test_rect_intersects ... ok
[INFO] [stdout] test core::math::tests::test_vec2_lerp ... ok
[INFO] [stdout] test core::math::tests::test_vec2_constructors ... ok
[INFO] [stdout] test core::math::tests::test_vec2_dot ... ok
[INFO] [stdout] test core::math::tests::test_vec3_cgmath_conversion ... ok
[INFO] [stdout] test core::math::tests::test_vec2_operators ... ok
[INFO] [stdout] test core::math::tests::test_vec2_cgmath_conversion ... ok
[INFO] [stdout] test core::math::tests::test_vec3_cross_properties ... ok
[INFO] [stdout] test core::math::tests::test_vec2_length ... ok
[INFO] [stdout] test core::math::tests::test_vec2_normalize ... ok
[INFO] [stdout] test core::math::tests::test_vec3_constructors ... ok
[INFO] [stdout] test core::math::tests::test_vec3_cross ... ok
[INFO] [stdout] test core::math::tests::test_vec3_length ... ok
[INFO] [stdout] test core::math::tests::test_vec3_dot ... ok
[INFO] [stdout] test core::math::tests::test_vec3_ffi_layout ... ok
[INFO] [stdout] test core::math::tests::test_vec4_cgmath_conversion ... ok
[INFO] [stdout] test core::math::tests::test_vec4_constructors ... ok
[INFO] [stdout] test core::math::tests::test_vec4_from_vec3 ... ok
[INFO] [stdout] test core::math::tween::tests::test_color_tween_ease_in ... ok
[INFO] [stdout] test core::math::tween::tests::test_color_tween_linear ... ok
[INFO] [stdout] test core::math::tween::tests::test_f32_lerp_boundaries ... ok
[INFO] [stdout] test core::math::tween::tests::test_f32_lerp_midpoint ... ok
[INFO] [stdout] test core::math::tween::tests::test_f32_tween_ease_in ... ok
[INFO] [stdout] test core::math::tween::tests::test_f32_tween_linear ... ok
[INFO] [stdout] test core::math::tween::tests::test_tween_fn_ease_in ... ok
[INFO] [stdout] test core::math::tween::tests::test_tween_fn_linear ... ok
[INFO] [stdout] test core::math::tween::tests::test_tween_fn_with_offset ... ok
[INFO] [stdout] test core::math::tween::tests::test_vec2_lerp_boundaries ... ok
[INFO] [stdout] test core::math::tween::tests::test_vec2_tween_ease_in ... ok
[INFO] [stdout] test core::math::tween::tests::test_vec2_tween_linear ... ok
[INFO] [stdout] test core::math::tween::tests::test_vec3_lerp_boundaries ... ok
[INFO] [stdout] test core::math::tween::tests::test_vec3_tween_ease_in ... ok
[INFO] [stdout] test core::math::tween::tests::test_vec3_tween_linear ... ok
[INFO] [stdout] test core::providers::builder::tests::test_builder_all_defaults ... ok
[INFO] [stdout] test core::providers::builder::tests::test_builder_all_providers_configured ... ok
[INFO] [stdout] test core::providers::builder::tests::test_builder_default_impl ... ok
[INFO] [stdout] test core::providers::builder::tests::test_builder_network_defaults_to_none ... ok
[INFO] [stdout] test core::providers::builder::tests::test_builder_partial_configuration ... ok
[INFO] [stdout] test core::providers::builder::tests::test_builder_with_custom_renderer ... ok
[INFO] [stdout] test core::providers::builder::tests::test_builder_with_network ... ok
[INFO] [stdout] test core::providers::impls::null_audio::tests::test_null_audio_capabilities ... ok
[INFO] [stdout] test core::providers::impls::null_audio::tests::test_null_audio_construction ... ok
[INFO] [stdout] test core::providers::impls::null_audio::tests::test_null_audio_default ... ok
[INFO] [stdout] test core::providers::impls::null_audio::tests::test_null_audio_init_shutdown ... ok
[INFO] [stdout] test core::providers::impls::null_audio::tests::test_null_audio_playback ... ok
[INFO] [stdout] test core::providers::impls::null_audio::tests::test_null_audio_spatial ... ok
[INFO] [stdout] test core::providers::impls::null_audio::tests::test_null_audio_update ... ok
[INFO] [stdout] test core::providers::impls::null_audio::tests::test_null_audio_volume ... ok
[INFO] [stdout] test core::providers::impls::null_input::tests::test_null_input_capabilities ... ok
[INFO] [stdout] test core::providers::impls::null_input::tests::test_null_input_construction ... ok
[INFO] [stdout] test core::providers::impls::null_input::tests::test_null_input_default ... ok
[INFO] [stdout] test core::providers::impls::null_input::tests::test_null_input_gamepad ... ok
[INFO] [stdout] test core::providers::impls::null_input::tests::test_null_input_keyboard ... ok
[INFO] [stdout] test core::providers::impls::null_input::tests::test_null_input_mouse ... ok
[INFO] [stdout] test core::providers::impls::null_input::tests::test_null_input_update ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_capabilities ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_connections ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_construction ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_default ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_drain_events ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_host_and_connect ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_lifecycle ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_send_and_broadcast ... ok
[INFO] [stdout] test core::providers::impls::null_network::tests::test_null_network_stats ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_body_operations ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_capabilities ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_collider_operations ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_construction ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_debug_shapes ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_default ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_events ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_gravity ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_init_shutdown ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_joints ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_queries ... ok
[INFO] [stdout] test core::providers::impls::null_physics3d::tests::test_null_physics3d_step ... ok
[INFO] [stdout] test core::math::tests::test_vec3_normalize ... ok
[INFO] [stdout] test core::math::tests::test_vec3_lerp ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_body_operations ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_capabilities ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_collider_operations ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_debug_shapes ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_default ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_construction ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_events ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_gravity ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_init_shutdown ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_joints ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_step ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_capabilities ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_default ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_frame_lifecycle ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_generic_capabilities ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_init_shutdown ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_resize ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_resource_creation ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_state_operations ... ok
[INFO] [stdout] test core::providers::impls::null_window::tests::test_null_window_construction ... ok
[INFO] [stdout] test core::providers::impls::null_window::tests::test_null_window_default ... ok
[INFO] [stdout] test core::providers::impls::null_window::tests::test_null_window_init_shutdown ... ok
[INFO] [stdout] test core::providers::impls::null_window::tests::test_null_window_poll_and_swap ... ok
[INFO] [stdout] test core::providers::impls::null_window::tests::test_null_window_should_close ... ok
[INFO] [stdout] test core::providers::impls::null_window::tests::test_null_window_size ... ok
[INFO] [stdout] test core::providers::registry::tests::test_default_registry_uses_null_providers ... ok
[INFO] [stdout] test core::providers::registry::tests::test_default_registry_versions_are_null ... ok
[INFO] [stdout] test core::types::tests::test_color_from_ffi_color ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_copy_clone ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_default ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_display ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_equality ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_from_u64 ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_hash ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_invalid ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_is_send ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_is_sync ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_new ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_size ... ok
[INFO] [stdout] test core::types::tests::test_entity_id_to_u64 ... ok
[INFO] [stdout] test core::types::tests::test_ffi_color_from_color ... ok
[INFO] [stdout] test core::types::tests::test_ffi_rect_from_rect ... ok
[INFO] [stdout] test core::types::tests::test_ffi_transform2d_struct_layout ... ok
[INFO] [stdout] test core::types::tests::test_rect_from_ffi_rect ... ok
[INFO] [stdout] test core::types::tests::test_result_copy_clone ... ok
[INFO] [stdout] test core::types::tests::test_result_default ... ok
[INFO] [stdout] test core::types::tests::test_result_display ... ok
[INFO] [stdout] test core::types::tests::test_result_equality ... ok
[INFO] [stdout] test core::types::tests::test_result_err ... ok
[INFO] [stdout] test core::types::tests::test_result_from_error_code ... ok
[INFO] [stdout] test core::types::tests::test_result_is_send ... ok
[INFO] [stdout] test core::types::tests::test_result_is_sync ... ok
[INFO] [stdout] test core::providers::impls::null_physics::tests::test_null_physics_queries ... ok
[INFO] [stdout] test core::providers::impls::null_render::tests::test_null_render_construction ... ok
[INFO] [stdout] test core::types::tests::test_result_ok ... ok
[INFO] [stdout] test core::types::tests::test_result_repr_c ... ok
[INFO] [stdout] test core::types::tests::test_result_size ... ok
[INFO] [stdout] test ecs::app::physics_plugins::tests::test_duplicate_plugin_ignored ... ok
[INFO] [stdout] test ecs::app::physics_plugins::tests::test_both_plugins_can_coexist ... ok
[INFO] [stdout] test ecs::app::physics_plugins::tests::test_physics_plugin_2d_build ... ok
[INFO] [stdout] test ecs::app::physics_plugins::tests::test_physics_plugin_2d_name ... ok
[INFO] [stdout] test ecs::app::physics_plugins::tests::test_physics_plugin_3d_build ... ok
[INFO] [stdout] test ecs::app::tests::test_add_system_to_update ... ok
[INFO] [stdout] test ecs::app::tests::test_app_debug_format ... ok
[INFO] [stdout] test ecs::app::tests::test_app_default_is_same_as_new ... ok
[INFO] [stdout] test ecs::app::tests::test_app_new_has_all_stages ... ok
[INFO] [stdout] test ecs::app::tests::test_duplicate_plugin_ignored ... ok
[INFO] [stdout] test ecs::app::tests::test_insert_resource ... ok
[INFO] [stdout] test ecs::app::tests::test_plugin_propagates_2d_on_run ... ok
[INFO] [stdout] test ecs::app::tests::test_plugin_propagates_3d_on_run ... ok
[INFO] [stdout] test ecs::app::physics_plugins::tests::test_physics_plugin_3d_name ... ok
[INFO] [stdout] test ecs::app::tests::test_add_plugin ... ok
[INFO] [stdout] test ecs::app::tests::test_run_once_executes_systems ... ok
[INFO] [stdout] test ecs::app::tests::test_transform_propagation_plugin_adds_system ... ok
[INFO] [stdout] test ecs::app::tests::test_update_is_equivalent_to_run_once ... ok
[INFO] [stdout] test ecs::app::tests::test_transform_repropagation_across_multiple_updates ... ok
[INFO] [stdout] test ecs::app::tests::test_world_mut_access ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_app_add_system_to_set ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_add_plugin_group ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_app_configure_set ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_app_insert_non_send_resource ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_default_plugins_adds_transform_propagation ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_default_plugins_idempotent ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_minimal_app_has_no_default_systems ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_new_with_defaults_has_transform_system ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_app_register_set ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_new_with_defaults_propagates_transforms ... ok
[INFO] [stdout] test ecs::app::tests_extended::test_plugin_group ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_add_entity_basic ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_add_entity_idempotent ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_clone ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_component_count ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_component_set_insertion_order_independent ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_debug ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_default ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_has_all ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_has_component ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_many_components ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_new_empty ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_new_with_components ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_send ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_sync ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_with_capacity ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_clear_entities ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_debug_with_entities ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_entity_index ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_contains_entity ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_entity_index_consistency_after_removals ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_remove_entity_last ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_remove_entity_middle ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_remove_entity_not_found ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_remove_entity_single ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_remove_entity_swap_remove ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_archetype_has_none ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_alignment ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_as_hashmap_key ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_reserve_entities ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_clone ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_const_empty ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_const_new ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_debug_empty ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_debug_non_empty ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_copy ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_default ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype::tests::test_entity_management_stress ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_display ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_empty_constant ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_from_u32 ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_hash ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_equality ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_max_value ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_into_u32 ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_new ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_into_usize ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_new_zero ... ok
[INFO] [stdout] test core::input_manager::tests::buffer::test_buffer_expiration ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_send ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_sequential_creation ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_size ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_add_edge_caching ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_add_edge_from_empty ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_add_edge_multiple_components ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_add_edge_existing_component_is_noop ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_remove_edge_component_not_present ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_remove_edge_basic ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_remove_edge_caching ... ok
[INFO] [stdout] test ecs::archetype::tests_archetype_id::tests::test_archetype_id_sync ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_remove_edge_from_empty ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_get_remove_edge_to_existing_archetype ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_component_order_independence ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_contains ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_debug ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_edge_count_initial ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_entity_count ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_find ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_find_or_create_empty ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_find_or_create_idempotent ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_default ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_find_or_create_multiple ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_find_or_create_new ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_get_mut_nonexistent ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_get_mut ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_get_nonexistent ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_iter ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_new ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_send_sync ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_transition_converging_paths ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_transition_edge_count_after_clear ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_transition_roundtrip ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_transition_stress ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_clear ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_clone ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_debug ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_display ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_insert_multiple ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_insert_overwrites ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_insert_single ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_large_entity_spans_multiple_cells ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_all_combinations ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_new ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_aabb_overlapping ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_circle ... ok
[INFO] [stdout] test ecs::archetype::tests_graph::tests::test_graph_archetype_ids ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_pairs_empty ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_pairs_far_apart ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_pairs_multiple ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_pairs_nearby ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_pairs_no_duplicates ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_pairs_single ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_point_hit ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_query_point_miss ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_remove_absent ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_remove_present ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_remove_twice ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_stats_after_insert ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_stats_display ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_stats_empty ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_stats_type_accessible ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_stress_update_cycle ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_tiny_entity_single_cell ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_update_absent ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_update_different_cells ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_update_same_cells ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_with_capacity ... ok
[INFO] [stdout] test ecs::change_detection::tests::component_ticks_is_added_checks_against_threshold ... ok
[INFO] [stdout] test ecs::change_detection::tests::component_ticks_is_changed_checks_against_threshold ... ok
[INFO] [stdout] test ecs::change_detection::tests::component_ticks_new_sets_both ... ok
[INFO] [stdout] test ecs::change_detection::tests::component_ticks_set_changed_updates_only_changed ... ok
[INFO] [stdout] test ecs::change_detection::tests::tick_default_is_zero ... ok
[INFO] [stdout] test ecs::change_detection::tests::tick_from_u32_round_trip ... ok
[INFO] [stdout] test ecs::change_detection::tests::tick_is_newer_than_compares_correctly ... ok
[INFO] [stdout] test core::math::tests::test_vec3_operators ... ok
[INFO] [stdout] test ecs::change_detection::tests::tick_new_stores_value ... ok
[INFO] [stdout] test ecs::change_detection::tests::tick_ordering ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_different_sizes ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_contact_point ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_negative_coordinates ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_normal_direction ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_overlapping ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_same_position ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_separated ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_symmetry ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_touching ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_aabb_aabb_collision_vertical_overlap ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_90_degree_rotation ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_axis_aligned_overlapping ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_both_rotated ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_different_sizes ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_axis_aligned_separated ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_normal_direction ... ok
[INFO] [stdout] test core::math::tween::tests::test_color_lerp_boundaries ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_rotated_overlapping ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_same_position ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_touching ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_rotated_separated ... ok
[INFO] [stdout] test ecs::collision::tests::box_tests::test_box_box_collision_symmetry ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_contact_point ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_corner ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_different_sizes ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_edge ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_overlapping ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_separated ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_symmetry ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_touching ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_vertical ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_contact_point ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_diagonal ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_different_radii ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_large_circles ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_negative_coordinates ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_overlapping ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_same_position ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_separated ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_symmetry ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_tiny_circles ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_circle_collision_touching ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_45_degree_rotation ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_center_coincident ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_corner_rotated ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_90_degree_rotation ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_inside_rotated ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_large_rotation ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_no_rotation ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_rotated_rectangle ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_negative_rotation ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_touching_rotated ... ok
[INFO] [stdout] test ecs::collision::tests::contact_tests::test_contact_clone ... ok
[INFO] [stdout] test ecs::collision::tests::contact_tests::test_contact_debug ... ok
[INFO] [stdout] test ecs::collision::tests::contact_tests::test_contact_default ... ok
[INFO] [stdout] test ecs::collision::tests::contact_tests::test_contact_is_colliding ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_aabb_collision_inside ... ok
[INFO] [stdout] test ecs::collision::tests::circle_tests::test_circle_obb_collision_separated_rotated ... ok
[INFO] [stdout] test ecs::collision::tests::contact_tests::test_contact_reversed ... ok
[INFO] [stdout] test ecs::collision::tests::contact_tests::test_contact_new ... ok
[INFO] [stdout] test ecs::collision::tests::contact_tests::test_contact_separation_distance ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_clone ... ok
[INFO] [stdout] test ecs::collision::tests::contact_tests::test_contact_separation_vector ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_debug ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_hash ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_involves ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_new ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_ordered_pair ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_other_entity ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_send_sync ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_pair_consistency ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_ended_implements_event ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_event_workflow ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_started_implements_event ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_started_clone ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_started_involves ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_started_new ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_started_ordered_pair ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_started_other_entity ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_started_send_sync ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_character ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_clone ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_debug ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_default ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_elastic ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_new ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_new_clamping ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_slippery ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_position_correction_basic ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_position_correction_below_slop ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_position_correction_direction ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_position_correction_full_percent ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_position_correction_mass_ratio ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_position_correction_static_wall ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_position_correction_two_static ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_position_correction_zero_percent ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_resolve_collision_diagonal ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_resolve_collision_head_on ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_resolve_collision_mass_ratio ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_resolve_collision_no_bounce ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_resolve_collision_separating ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_resolve_collision_static_wall ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_resolve_collision_two_static ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_resolve_collision_with_friction ... ok
[INFO] [stdout] test ecs::component::tests::component_id::test_component_id_debug_format ... ok
[INFO] [stdout] test ecs::component::tests::component_id::test_component_id_differs_between_types ... ok
[INFO] [stdout] test ecs::component::tests::component_id::test_component_id_generic_types_differ ... ok
[INFO] [stdout] test ecs::component::tests::component_id::test_component_id_hash_consistency ... ok
[INFO] [stdout] test ecs::component::tests::component_id::test_component_id_of_returns_same_id_for_same_type ... ok
[INFO] [stdout] test ecs::component::tests::component_id::test_component_id_ordering ... ok
[INFO] [stdout] test ecs::component::tests::component_id::test_component_id_type_id ... ok
[INFO] [stdout] test ecs::component::tests::component_id::test_component_id_zero_sized_type ... ok
[INFO] [stdout] test ecs::component::tests::component_info::test_component_info_clone ... ok
[INFO] [stdout] test ecs::component::tests::component_info::test_component_info_debug ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_stress_many_entities ... ok
[INFO] [stdout] test ecs::component::tests::component_info::test_component_info_of ... ok
[INFO] [stdout] test ecs::component::tests::component_info::test_component_info_size_and_align ... ok
[INFO] [stdout] test ecs::component::tests::component_info::test_component_info_zero_sized ... ok
[INFO] [stdout] test ecs::component::tests::component_trait::test_component_can_be_boxed_as_any ... ok
[INFO] [stdout] test ecs::component::tests::component_trait::test_component_is_static ... ok
[INFO] [stdout] test ecs::component::tests::component_trait::test_component_is_send ... ok
[INFO] [stdout] test ecs::component::tests::component_trait::test_component_is_sync ... ok
[INFO] [stdout] test ecs::component::tests::no_blanket_impl::test_explicit_impl_required ... ok
[INFO] [stdout] test ecs::components::animation_controller::tests::test_animation_controller_is_component ... ok
[INFO] [stdout] test ecs::components::animation_controller::tests::test_create_controller_with_initial_state ... ok
[INFO] [stdout] test ecs::components::animation_controller::tests::test_current_clip_returns_correct_clip ... ok
[INFO] [stdout] test ecs::components::animation_controller::tests::test_current_clip_returns_none_for_missing_state ... ok
[INFO] [stdout] test ecs::components::animation_controller::tests::test_set_and_get_params ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_attenuation_default ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_attenuation_display ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_attenuation_exponential ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_attenuation_inverse_distance ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_attenuation_linear ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_attenuation_model_name ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_attenuation_none ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_channel_clone_copy ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_channel_default ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_channel_display ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_channel_eq_hash ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_channel_id ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_channel_name ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_builder_pattern ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_clone ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_component ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_debug ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_default ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_display ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_is_spatial ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_new ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_play_pause_stop ... ok
[INFO] [stdout] test ecs::collision::tests::response_tests::test_collision_response_bouncy ... ok
[INFO] [stdout] test ecs::collision::tests::event_tests::test_collision_started_debug ... ok
[INFO] [stdout] test ecs::components::animation_controller::tests::test_add_states_and_transitions ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_area ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_closest_point_corner ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_closest_point_inside ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_with_volume ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_sink_id ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_compute_world_aabb_box_no_rotation ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_compute_world_aabb_box_with_rotation ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_compute_world_aabb_capsule ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_compute_world_aabb_circle_no_rotation ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_compute_world_aabb_circle_with_scale ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_compute_world_aabb_polygon ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_contains_point ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_distance_squared_to_point_inside ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_distance_squared_to_point_outside ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_expand ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_expand_negative_margin ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_expand_zero_margin ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_intersection ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_intersection_none ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_merge ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_merge_disjoint ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_overlaps ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_perimeter ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_raycast_diagonal ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_raycast_from_inside ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_raycast_hit ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_raycast_max_distance ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_raycast_miss ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_aabb ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_builder_pattern ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_can_collide_with ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_capsule ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_circle ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_clone ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_compute_aabb ... ok
[INFO] [stdout] test ecs::components::collider::aabb_tests::test_aabb_closest_point_outside ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_default ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_density_clamping ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_display ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_friction_clamping ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_is_component ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_is_send ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_is_sync ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_mutators ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_obb ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_polygon ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_restitution_clamping ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_set_shape ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_clone ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_compute_aabb_box ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_compute_aabb_capsule ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_compute_aabb_circle ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_compute_aabb_empty_polygon ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_compute_aabb_polygon ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_default ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_is_valid ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_predicates ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_shape_type_names ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::array_tests::test_to_cols_array ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::array_tests::test_to_mat4_array ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::component_tests::test_clone ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::component_tests::test_copy ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::component_tests::test_debug ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::component_tests::test_is_component ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::component_tests::test_is_send ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::component_tests::test_is_sync ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::construction_tests::test_default ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::construction_tests::test_from_transform ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::construction_tests::test_from_transform_ref ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::construction_tests::test_from_translation ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::construction_tests::test_from_translation_rotation_scale ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::construction_tests::test_identity ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::decomposition_tests::test_decompose ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::decomposition_tests::test_rotation_degrees ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::decomposition_tests::test_rotation_extraction ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::decomposition_tests::test_scale_extraction ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::decomposition_tests::test_to_transform ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::decomposition_tests::test_translation_extraction ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::direction_tests::test_directions_identity ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::direction_tests::test_directions_rotated ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::ffi_tests::test_align ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::ffi_tests::test_size ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::hierarchy_tests::test_parent_child_rotation ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::hierarchy_tests::test_parent_child_scale ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::hierarchy_tests::test_parent_child_translation ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::hierarchy_tests::test_three_level_hierarchy ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::interpolation_tests::test_lerp_angle ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::interpolation_tests::test_lerp_endpoints ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::interpolation_tests::test_lerp_translation ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::transform_tests::test_inverse ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::transform_tests::test_mul_operator ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::transform_tests::test_mul_operator_with_transform ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::transform_tests::test_mul_transform_scale ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::transform_tests::test_mul_transform_translation ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::transform_tests::test_transform_by ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::transform_tests::test_transform_direction ... ok
[INFO] [stdout] test ecs::components::global_transform2d::tests::transform_tests::test_transform_point ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::array_tests::test_to_cols_array ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::array_tests::test_to_rows_array ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::component_tests::test_copy ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::component_tests::test_debug ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::component_tests::test_is_component ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::component_tests::test_is_send ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::component_tests::test_is_sync ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::construction_tests::test_default ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::construction_tests::test_from_transform ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::construction_tests::test_from_transform_ref ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::construction_tests::test_from_translation ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::construction_tests::test_from_translation_rotation_scale ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::construction_tests::test_identity ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::decomposition_tests::test_decompose ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::decomposition_tests::test_rotation_extraction ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::decomposition_tests::test_scale_extraction ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::decomposition_tests::test_to_transform ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::decomposition_tests::test_translation_extraction ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::direction_tests::test_directions_identity ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::direction_tests::test_directions_rotated ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::hierarchy_tests::test_parent_child_rotation ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::component_tests::test_clone ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::hierarchy_tests::test_parent_child_scale ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::hierarchy_tests::test_parent_child_translation ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::hierarchy_tests::test_three_level_hierarchy ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::interpolation_tests::test_lerp_endpoints ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::interpolation_tests::test_lerp_translation ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::transform_tests::test_inverse ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::transform_tests::test_mul_operator ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::transform_tests::test_mul_operator_with_transform ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::transform_tests::test_mul_transform_scale ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::transform_tests::test_mul_transform_translation ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::transform_tests::test_transform_by ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::transform_tests::test_transform_direction ... ok
[INFO] [stdout] test ecs::components::global_transform::tests::transform_tests::test_transform_point ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_as_slice ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_clear ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_clone ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_contains ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_debug ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_default ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_display ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_eq ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_from_slice ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_from_slice_trait ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_from_vec ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_get ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_index_of ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_insert ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_into_iter_owned ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_into_iter_ref ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_is_component ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_is_send_sync ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_iter ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_first_last ... ok
[INFO] [stdout] test ecs::components::audiosource::tests::test_audio_source_with_pitch ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_new ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_push ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_remove ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_remove_child ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_sort_by ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_retain ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_sort_by_index ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_swap_remove_child ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_with_capacity ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_vec_from_children ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_integration::test_components_are_distinct ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_integration::test_hierarchy_components_work_together ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_integration::test_hierarchy_mutation ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_as_ref ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_as_str ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_borrow ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_clone ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_contains ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_debug ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_default ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_display ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_emoji ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_ends_with ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_eq_str ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_eq ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_children::test_children_many ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_from_string ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_hash ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_into_string ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_is_component ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_is_empty ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_is_send_sync ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_len ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_new ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_eq_string ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_new_string ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_from_str ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_set ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_set_string ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_unicode ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_entity_from_parent ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_clone_copy ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_debug ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_default ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_display ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_eq ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_from_entity ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_get ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_hash ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_is_component ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_is_send_sync ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_new ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_set ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_parent::test_parent_size ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_2d_tests::test_parent_child_propagation_2d ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_2d_tests::test_root_entity_propagation_2d ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_2d_tests::test_rotation_propagation_2d ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_2d_tests::test_scale_propagation_2d ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_3d_tests::test_multiple_children ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_3d_tests::test_multiple_roots ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_string_from_name ... ok
[INFO] [stdout] test ecs::components::hierarchy::tests::tests_name::test_name_starts_with ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_3d_tests::test_parent_child_propagation ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_3d_tests::test_root_entity_propagation ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_3d_tests::test_rotation_propagation ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_3d_tests::test_three_level_hierarchy ... ok
[INFO] [stdout] test ecs::components::propagation::tests::propagate_3d_tests::test_scale_propagation ... ok
[INFO] [stdout] test ecs::components::propagation::tests::utility_tests::test_compute_local_transform ... ok
[INFO] [stdout] test ecs::components::propagation::tests::subtree_tests::test_propagate_subtree ... ok
[INFO] [stdout] test ecs::components::propagation::tests::subtree_tests::test_propagate_subtree_with_parent_global ... ok
[INFO] [stdout] test ecs::components::propagation::tests::utility_tests::test_compute_local_transform_2d ... ok
[INFO] [stdout] test ecs::components::propagation::tests::utility_tests::test_compute_local_transform_no_parent ... ok
[INFO] [stdout] test ecs::components::propagation::tests::utility_tests::test_ensure_global_transforms ... ok
[INFO] [stdout] test ecs::components::propagation::tests::utility_tests::test_ensure_global_transforms_2d ... ok
[INFO] [stdout] test ecs::components::propagation::tests::utility_tests::test_ensure_skips_existing ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_apply_angular_impulse ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_apply_angular_impulse_fixed_rotation ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_apply_damping ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_apply_impulse ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_apply_impulse_kinematic ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_builder_chaining ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_clone ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_debug ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_default ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_dynamic ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_is_component ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_is_send ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_is_sync ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_kinematic ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_kinetic_energy ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_linear_speed ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_linear_speed_squared ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_new_dynamic ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_new_kinematic ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_new_static ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_set_angular_velocity ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_set_body_type ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_set_mass ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_set_velocity ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_sleep ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_static_body ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_type_can_move ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_display ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_type_display ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_type_default ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_type_is_affected_by_forces ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_type_is_affected_by_gravity ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_type_name ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_type_responds_to_collisions ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_update_sleep_time_above_threshold ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_update_sleep_time_below_threshold ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_update_sleep_time_cannot_sleep ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_wake ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_angular_velocity ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_can_sleep ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_continuous_cd ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_damping ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_gravity_scale ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_fixed_rotation ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_mass ... ok
[INFO] [stdout] test ecs::app::tests::test_plugin_missing_dependency_panics - should panic ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_new_invalid_cell_size - should panic ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_builder_chain ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_clone ... ok
[INFO] [stdout] test ecs::broad_phase::tests::test_new_negative_cell_size - should panic ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_debug ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_default ... ok
[INFO] [stdout] test assets::loaders::texture::tests::texture_asset::test_new_wrong_size - should panic ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_is_component ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_is_flipped ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_send_sync ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_new ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_velocity ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_size_or_rect_custom ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_size_or_rect_none ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_size_or_rect_source ... ok
[INFO] [stdout] test ecs::components::collider::tests::shape_tests::test_collider_polygon_panics_with_too_few_vertices - should panic ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_with_anchor ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_with_anchor_vec ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_set_mass_kinematic - should panic ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_mass_zero - should panic ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_with_custom_size ... ok
[INFO] [stdout] test ecs::components::rigidbody::tests::test_rigidbody_with_mass_negative - should panic ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_with_flip ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_with_flip_x ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_without_custom_size ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_without_source_rect ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_animation_clip_one_shot ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_animation_clip_with_mode ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_sprite_animator_current_rect_empty_clip ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_with_flip_y ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_sprite_animator_is_component ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_with_source_rect ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_animation_clip_new ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_sprite_animator_current_rect ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_sprite_animator_reset ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_sprite_animator_resume_does_not_resume_finished ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_sprite_animator_new ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_sprite_animator_pause_resume ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_sprite_animator_play_restarts ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_default ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_from_position ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_from_scale_uniform ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_from_rotation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_from_scale ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_from_position_rotation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_look_at ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_new ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_inverse_transform_direction ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_backward_and_left ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_directions_identity ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_directions_rotated ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_matrix_rotation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_matrix_identity ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_matrix_inverse ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_inverse_transform_point ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_matrix_scale ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_matrix_translation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_transform_point_scale ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_to_mat4 ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_transform_direction ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_transform_point_rotation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_lerp_angle_same_direction ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_lerp_angle_across_boundary ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_lerp_angle_endpoints ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::direction_matrix_tests::test_transform_point_translation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_lerp_endpoints ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_lerp_rotation_shortest_path ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_lerp_scale ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_lerp_position ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_lerp_rotation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_mat3x3_size ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_mat3x3_align ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_transform2d_copy ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_normalize_angle ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::construction_tests::test_from_rotation_degrees ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_transform2d_align ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_transform2d_clone ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_transform2d_is_component ... ok
[INFO] [stdout] test ecs::components::sprite::tests::test_sprite_with_color ... ok
[INFO] [stdout] test ecs::components::sprite_animator::tests::test_animation_clip_looping ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_transform2d_field_layout ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_transform2d_size ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_default ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_identity ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_inverse ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_inverse_rotation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_rotation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_scale ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_transform2d_is_send ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::interpolation_ffi_tests::test_transform2d_is_sync ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_transform_direction ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_determinant ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_to_mat4 ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_multiply ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mat3x3_tests::test_translation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_rotate_degrees ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_scale_by ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_set_position ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_set_rotation ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_set_rotation_degrees ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_set_scale_uniform ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_translate ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_look_at_target ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_rotate ... ok
[INFO] [stdout] test ecs::components::transform::tests::construction_tests::test_transform_default ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_rotation_degrees ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_translate_local ... ok
[INFO] [stdout] test ecs::components::transform2d::tests::mutation_tests::test_set_scale ... ok
[INFO] [stdout] test ecs::components::transform::tests::construction_tests::test_transform_from_position ... ok
[INFO] [stdout] test ecs::components::transform::tests::construction_tests::test_transform_from_scale ... ok
[INFO] [stdout] test ecs::components::transform::tests::construction_tests::test_transform_from_scale_uniform ... ok
[INFO] [stdout] test ecs::components::transform::tests::construction_tests::test_transform_look_at ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_look_at_target ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_rotate_x ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_scale_by ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_set_position ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_set_scale ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_set_scale_uniform ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_set_rotation ... ok
[INFO] [stdout] test ecs::components::transform::tests::construction_tests::test_transform_from_position_rotation ... ok
[INFO] [stdout] test ecs::components::transform::tests::construction_tests::test_transform_from_rotation ... ok
[INFO] [stdout] test ecs::components::transform::tests::construction_tests::test_transform_new ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_rotate_y ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_rotate_z ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_cgmath_conversion ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_from_axis_angle ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_identity ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_translate_local ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_conjugate ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_default ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_directions ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_from_euler ... ok
[INFO] [stdout] test ecs::components::transform::tests::mutation_tests::test_translate ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_inverse ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_rotate_vector ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_slerp ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::component_tests::test_transform_clone ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::component_tests::test_transform_is_component ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::component_tests::test_transform_copy ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_mul_identity ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_new ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::direction_tests::test_directions_identity ... ok
[INFO] [stdout] test ecs::components::transform::tests::quat_tests::test_quat_normalize ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::component_tests::test_transform_is_send ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::component_tests::test_transform_is_sync ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::direction_tests::test_directions_rotated ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::ffi_tests::test_quat_size ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::ffi_tests::test_transform_align ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::interpolation_tests::test_lerp_endpoints ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::interpolation_tests::test_lerp_position ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::interpolation_tests::test_lerp_rotation ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::matrix_tests::test_matrix_identity ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::matrix_tests::test_matrix_inverse ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::ffi_tests::test_quat_align ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::ffi_tests::test_transform_size ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::matrix_tests::test_matrix_scale ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::interpolation_tests::test_lerp_scale ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::matrix_tests::test_matrix_translation ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::point_transform_tests::test_inverse_transform_direction ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::ffi_tests::test_quat_field_layout ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::point_transform_tests::test_transform_point_rotation ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_deallocate_basic ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_deallocate_returns_false_for_dead_entity ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::point_transform_tests::test_inverse_transform_point ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::point_transform_tests::test_transform_point_scale ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_deallocate_returns_false_for_out_of_bounds ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::point_transform_tests::test_transform_point_translation ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_deallocate_returns_false_for_placeholder ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_capacity ... ok
[INFO] [stdout] test ecs::components::transform::tests_spatial::tests::point_transform_tests::test_transform_direction ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_generation_increment ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_is_alive ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_is_alive_placeholder ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_is_alive_wrong_generation ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_is_empty ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_deallocate_returns_false_for_wrong_generation ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_is_alive_out_of_bounds ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_len ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_recycling_basic ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_recycling_lifo_order ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_recycling_multiple ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_unique_entities ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_allocate_batch_empty ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_allocate_batch_mixed_reuse_and_new ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_stress_allocate_deallocate_cycle ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_allocate_batch_basic ... ok
[INFO] [stdout] test ecs::entity::tests::allocator_tests::test_allocator_many_allocations ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_batch_vs_individual_equivalence ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_deallocate_batch_empty ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_deallocate_batch_partial_invalid ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_deallocate_batch_with_out_of_bounds ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_allocate_batch_reuses_free_slots ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_deallocate_batch_all_invalid ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_deallocate_batch_basic ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_deallocate_batch_with_placeholder ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_reserve_after_allocations ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_reserve_basic ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_allocate_batch_large ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_allocator_allocate_multiple ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_allocator_first_generation_is_one ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_allocator_debug ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_bits_edge_cases ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_allocator_with_capacity ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_debug_format ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_copy_clone ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_bits_roundtrip ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_display_format ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_default ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_from_bits ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_from_into_u64 ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_equality ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_hash ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_new ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_placeholder ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_size ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_send_sync ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_entity_to_bits ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_advance_multiple_steps ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_advance_paused ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_advance_no_steps ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_advance_single_step ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_advance_with_time_scale ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_builder_chaining ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_clone ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_debug ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_default ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_fixed_timestep_pattern ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_frequency ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_interpolation_alpha ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_is_send ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_is_sync ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_new ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_pause_resume ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_reset ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_set_gravity ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_allocator_allocate_basic ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_allocator_default ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_step ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_stats ... ok
[INFO] [stdout] test ecs::entity::tests::entity_tests::test_allocator_new ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_reserve_zero ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_set_time_scale ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_step_loop ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_slow_motion ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_with_gravity ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_with_iterations ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_with_time_scale ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_with_sleep_config ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_zero_gravity ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_conflict_struct::test_access_conflict_conflicting_components_iter ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_conflict_struct::test_access_conflict_clone ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_with_timestep ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_with_time_scale_too_high - should panic ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_conflict_struct::test_access_conflict_display ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_conflict_struct::test_access_conflict_has_write_write ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_conflict_struct::test_access_conflict_default ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_conflict_struct::test_access_conflict_new ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_with_timestep_invalid - should panic ... ok
[INFO] [stdout] test ecs::physics_world::tests::test_timestep_duration ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_add_write ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_clear ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_conflict_write_read ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_conflict_write_write ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_is_empty ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_is_read_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_no_conflict_between_reads ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_extend ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_add_read ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_no_conflict_complex ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_reads_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_no_conflict_different_components ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_new_is_empty ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_complex_scenario ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::conflict_info::test_conflict_info_is_write_write ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::conflict_info::test_conflict_info_new ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::get_conflicts::test_get_conflicts_no_conflict ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::get_conflicts::test_get_conflicts_multiple_components ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::access_tests::test_access_write_counts_as_read ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::get_conflicts::test_get_conflicts_write_read ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::get_conflicts::test_get_conflicts_partial ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::conflict_info::test_conflict_info_display ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::get_conflicts::test_get_conflicts_write_write ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::access::tests::get_conflicts::test_get_conflicts_read_vs_write ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::added_detects_newly_inserted_components ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::added_not_triggered_by_mutation ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::changed_detects_component_replacement ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::change_detection_across_multiple_tick_increments ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::changed_does_not_match_unmodified_components ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::changed_filter_composes_with_data_query ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::added_does_not_match_after_tick_advance ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::changed_detects_component_mutation_via_get_mut ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::read_only_access_does_not_trigger_changed ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::sparse_set_insert_with_tick_stores_correct_ticks ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::sparse_set_replace_updates_changed_tick_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_component_access_does_not_contain_other_components ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_does_not_match_archetype_without_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::sparse_set_set_changed_tick_works ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_does_not_match_empty_archetype ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_component_access_contains_component_id ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_fetch_after_component_update ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_fetch_placeholder_entity ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_fetch_entity_without_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_fetch_dead_entity ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_fetch_stale_entity ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_fetch_entity_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_implements_world_query ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_init_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_matches_archetype_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_component_access_contains_component_id ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_is_read_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_multiple_entities_same_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::component_ref::test_ref_state_implements_query_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_does_not_match_empty_archetype ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_fetch_mut_and_modify ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::change_filter_tests::sparse_set_remove_cleans_up_ticks ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_fetch_mut_dead_entity ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_fetch_mut_entity_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_fetch_mut_placeholder_entity ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_fetch_mut_entity_without_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_matches_archetype_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_init_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_fetch_mut_stale_entity ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_state::test_mut_state_debug ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_fetch_returns_none ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_state::test_mut_state_implements_query_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_state::test_mut_state_is_send_sync ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_is_not_read_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_state::test_mut_state_different_types ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_component_ref::test_mut_ref_state_is_mut_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_state::test_mut_state_is_clone ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::mut_state::test_mut_state_of ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::write_access::test_write_access_hash ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::write_access::test_write_access_ordering ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::with_filter::test_with_does_not_match_archetype_without_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::with_filter::test_with_component_access_empty ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::with_filter::test_with_fetch_entity_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::with_filter::test_with_fetch_entity_without_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::write_access::test_write_access_equality ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::with_filter::test_with_init_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::with_filter::test_with_is_read_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::with_filter::test_with_matches_archetype_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::without_filter::test_without_fetch_entity_without_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::without_filter::test_without_fetch_entity_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::with_filter::test_with_filter_usage_documentation ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::without_filter::test_without_init_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::without_filter::test_without_is_read_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::without_filter::test_without_does_not_match_archetype_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::without_filter::test_without_matches_archetype_without_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::filters::tests::without_filter::test_without_matches_empty_archetype ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::archetype_matching::test_option_matches_archetype_always_true ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::archetype_matching::test_option_matches_archetype_without_target_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::component_access::test_option_component_access_forwards_to_inner ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::component_ref::tests::write_access::test_write_access_new ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::option_mut_ref::test_option_mut_ref_fetch_mut_with_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::component_access::test_option_mut_component_access_forwards_to_inner ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::option_mut_ref::test_option_mut_ref_modify_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::option_mut_ref::test_option_mut_ref_fetch_mut_without_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::archetype_matching::test_option_matches_empty_archetype ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::option_ref::test_option_ref_returns_none_when_component_absent ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::tuple_queries::test_entities_without_optional_still_yielded ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::option_ref::test_option_ref_is_read_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::option_ref::test_option_ref_returns_some_when_component_present ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::tuple_queries::test_tuple_with_optional_both_present ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::tuple_queries::test_tuple_with_optional_only_required_present ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::query_state_trait::test_component_id_implements_query_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::optional::tests::tuple_queries::test_tuple_with_optional_missing_required_returns_none ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::query_state_trait::test_query_state_is_send_sync ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::unit_query::test_unit_query_fetch_always_succeeds ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::world_query_trait::test_entity_query_fetch_dead ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::world_query_trait::test_entity_query_component_access_empty ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::world_query_trait::test_entity_query_init_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::world_query_trait::test_entity_query_fetch_alive ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::unit_query::test_unit_query_is_read_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::world_query_trait::test_entity_query_is_read_only ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::unit_query::test_unit_query_matches_all ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::world_query_trait::test_entity_query_matches_all_archetypes ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_2_fetch_missing_component ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_2_component_access ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_2_init_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_2_fetch ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_3_fetch ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::traits::tests::query_state_trait::test_unit_implements_query_state ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_4_elements ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_with_entity ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_with_filters ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_is_read_only ... ok
[INFO] [stdout] test ecs::entity::tests::bulk_tests::test_batch_stress_test ... ok
[INFO] [stdout] test ecs::query::tests::query_get::test_query_get_dead_entity ... ok
[INFO] [stdout] test ecs::query::tests::query_get::test_query_get_existing ... ok
[INFO] [stdout] test ecs::query::fetch::tests_mod::tuples::tests::tuple_queries::test_tuple_matches_archetype ... ok
[INFO] [stdout] test ecs::query::tests::query_get::test_query_get_with_filter_failing ... ok
[INFO] [stdout] test ecs::query::tests::query_get::test_query_get_missing_component ... ok
[INFO] [stdout] test ecs::query::tests::query_iter::test_query_iter_entity ... ok
[INFO] [stdout] test ecs::query::tests::query_iter::test_query_iter_multiple_entities ... ok
[INFO] [stdout] test ecs::query::tests::query_iter::test_query_iter_skips_non_matching ... ok
[INFO] [stdout] test ecs::query::tests::query_iter::test_query_iter_with_filter ... ok
[INFO] [stdout] test ecs::query::tests::query_get::test_query_get_with_without_filter ... ok
[INFO] [stdout] test ecs::query::tests::query_get::test_query_get_with_filter_passing ... ok
[INFO] [stdout] test ecs::query::tests::query_struct::test_query_component_access ... ok
[INFO] [stdout] test ecs::query::tests::query_iter::test_query_iter_empty_world ... ok
[INFO] [stdout] test ecs::query::tests::query_iter::test_query_iter_single_entity ... ok
[INFO] [stdout] test ecs::query::tests::query_struct::test_query_new ... ok
[INFO] [stdout] test ecs::query::tests::query_struct::test_query_with_filter ... ok
[INFO] [stdout] test ecs::query::tests_advanced::integration::test_complex_filter_chain ... ok
[INFO] [stdout] test ecs::query::tests_advanced::integration::test_query_after_despawn ... ok
[INFO] [stdout] test ecs::query::tests_advanced::integration::test_query_with_entity_and_component ... ok
[INFO] [stdout] test ecs::query::tests::query_struct::test_query_from_state ... ok
[INFO] [stdout] test ecs::query::tests::query_struct::test_query_debug ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_count::test_query_count_empty ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_access::test_different_component_queries_no_conflict ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_access::test_query_with_filter_access ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_count::test_query_is_not_empty ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_count::test_query_count_multiple ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_access::test_read_queries_no_conflict ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_count::test_query_single_one_entity ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_count::test_query_single_multiple_entities ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_count::test_query_is_empty ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_count::test_query_single_no_entities ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_iter_mut::test_query_iter_mut_multiple ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_query_implements_system_param ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_query_get_param_mut ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_query_state_init ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_query_get_param ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_iter_mut::test_query_iter_mut_with_filter ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_query_state_is_clone ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_query_update_access ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_read_only_query_implements_read_only_param ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_query_state_is_send_sync ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_system_param::test_query_state_with_filter ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_correctness::cached_query_empty_world ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_correctness::cached_query_returns_identical_results_to_uncached ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_filters::cache_filter_updated_after_new_matching_archetype ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_correctness::cached_query_count_matches_uncached ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_despawn::cached_iter_mut_handles_despawn ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_despawn::cache_handles_entity_despawn_correctly ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_entity_query::cached_entity_query_returns_all_entities ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_update::cache_generation_advances_with_new_archetypes ... ok
[INFO] [stdout] test ecs::query::tests_advanced::query_iter_mut::test_query_iter_mut_modify ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_iter_mut::cached_iter_mut_modifies_correctly ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_filters::cache_with_without_filter ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_filters::cache_with_with_filter ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_iter_mut::cached_iter_mut_with_filter ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_invalidation::invalidate_cache_clears_and_forces_rebuild ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resource_id::test_non_send_resource_id_debug ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_update::cache_updates_when_new_archetype_created ... ok
[INFO] [stdout] test ecs::query::tests_cache::cache_update::incremental_update_only_evaluates_new_archetypes ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resource_id::test_non_send_resource_id_hash ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resource_id::test_non_send_resource_id_of ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resource_id::test_non_send_resource_id_type_id ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resource_id::test_non_send_resource_id_ord ... ok
[INFO] [stdout] test ecs::query::tests_advanced::integration::test_query_stress_test ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resource_id::test_non_send_resource_id_different_types ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::integration::test_non_send_resource_lifecycle ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_contains ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_default ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_debug ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_get_nonexistent ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_multiple_types ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_remove ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_clear ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_new ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_insert ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_get ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_get_mut ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_insert_replace ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_remove_nonexistent ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_copy ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_resources_container::test_non_send_resources_with_raw_pointer ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_deref ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_mut_deref_mut ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_into_inner ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_clone ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_mut_deref ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_mut_into_inner ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_mut_new ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::non_send_wrappers::test_non_send_new ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::thread_safety::test_main_thread_id_accessor ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::thread_safety::test_non_send_access_from_main_thread_succeeds ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::integration::test_resources_with_res ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::integration::test_resource_lifecycle ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::integration::test_resources_with_res_mut ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_mut_tests::test_res_mut_debug ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_mut_tests::test_res_mut_deref_mut ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_mut_tests::test_res_mut_deref ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_mut_tests::test_res_mut_into_inner ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_mut_tests::test_res_mut_modify_complex ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_mut_tests::test_res_mut_new ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_tests::test_res_clone ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_tests::test_res_copy ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::thread_safety::test_non_send_resources_is_not_send ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::thread_safety::test_non_send_resources_is_not_sync ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_tests::test_res_debug ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_tests::test_res_into_inner ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_tests::test_res_new ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::res_tests::test_res_deref ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_id::test_resource_id_debug ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_id::test_resource_id_different_types ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_id::test_resource_id_hash ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_id::test_resource_id_of ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_id::test_resource_id_clone ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_id::test_resource_id_ord ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_id::test_resource_id_type_id ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_trait::test_resource_auto_impl ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_trait::test_resource_is_send ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resource_trait::test_resource_is_sync ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_clear ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::thread_safety::test_non_send_get_from_wrong_thread_panics ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_contains ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::thread_safety::test_non_send_get_mut_from_wrong_thread_panics ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_debug ... ok
[INFO] [stdout] test ecs::resource::tests_non_send::tests::thread_safety::test_non_send_insert_from_wrong_thread_panics ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_default ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_insert ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_insert_replace ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_get_mut ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_get_mut_nonexistent ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_get_nonexistent ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_multiple_types ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_new ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_remove ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_get ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::thread_safety::test_res_mut_is_send ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::thread_safety::test_resources_is_send ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_clone_and_copy ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_count ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_default ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_display ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_debug ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::resources_container::test_resources_remove_nonexistent ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_eq ... ok
[INFO] [stdout] test ecs::resource::tests_send::tests::thread_safety::test_res_is_send ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_hash ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_all_stages ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_from_index ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_is_render ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_navigation_chain ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_index ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_is_logic ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_is_post ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_is_pre ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_roundtrip_index ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_all_labels ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_debug ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_next ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_default ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_ord ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_previous ... ok
[INFO] [stdout] test ecs::schedule::core_stage::tests::test_reverse_navigation ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_clone ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_count ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_label_names ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_send_sync ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_display ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_configure_set_before ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_dyn_eq_different_variant ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_dyn_clone ... ok
[INFO] [stdout] test ecs::schedule::core_system_label::tests::test_dyn_eq_same_variant ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_configure_set_after ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_empty_set_ordering_is_noop ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_get_config_returns_none_for_unconfigured ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_register_and_add_to_set ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_cycle_detection_between_sets ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_mixed_set_and_individual_ordering ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_default_system_set_variants ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_add_system ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_get_set_returns_none_for_unregistered ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_register_set_idempotent ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_set_names ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_clear ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_conflicting_different_batches ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_config_default ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_config_ignore_ordering ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_from_core ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_new ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_conflict_detection ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_debug ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_systems_in_set_run_in_correct_order ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_default ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_non_conflicting_same_batch ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_parallel_batch ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_parallelism_ratio_all_parallel ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_parallelism_ratio_all_sequential ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_read_only_and_writing_systems ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_send_sync ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_with_capacity ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_with_config ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_boxed_stage_label_clone ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_remove_system ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_clone ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_configure_unregistered_set_panics - should panic ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_parallelism_ratio_empty ... ok
[INFO] [stdout] test ecs::schedule::named_system_sets::tests::test_add_to_unregistered_set_panics - should panic ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_core_stage_dyn_eq ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_custom_stage_label ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_display ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_debug ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_dyn_stage_label_debug ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_from_core_stage ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_dyn_stage_label_eq ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_core_stage_label_id ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_eq ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_hash ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_core_stage_label_name ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_inner ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_name ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_core_stage_dyn_clone ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_type_id ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_order_tests::test_debug ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_order_tests::test_from_ordering ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_order_tests::test_is_ordered ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_after ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_at_end ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_at_start ... ok
[INFO] [stdout] test ecs::schedule::stage_label::tests::test_of ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_order_tests::test_to_ordering ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_before ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_clone ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_before_core ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_order_tests::test_clone ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_order_tests::test_eq ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_box_clone ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_clone ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_custom_label_id ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_debug ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_custom_label_dyn_clone ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_replace ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_after_core ... ok
[INFO] [stdout] test ecs::schedule::stage_position::tests::stage_position_tests::test_replace_core ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_custom_label_name ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_dyn_debug ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_display ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_dyn_eq_different ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_dyn_hash ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_dyn_eq_same ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_debug ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_equality_same ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_hash ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_inner ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_name ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_of ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_system_label_send_sync ... ok
[INFO] [stdout] test ecs::schedule::system_ordering::tests::test_ordering_after ... ok
[INFO] [stdout] test ecs::schedule::system_ordering::tests::test_ordering_before ... ok
[INFO] [stdout] test ecs::schedule::system_ordering::tests::test_ordering_clone ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_dyn_partial_eq ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_equality_different ... ok
[INFO] [stdout] test ecs::schedule::system_ordering::tests::test_ordering_display ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_in_hashmap ... ok
[INFO] [stdout] test ecs::schedule::system_label::tests::test_type_id ... ok
[INFO] [stdout] test ecs::schedule::system_ordering::tests::test_ordering_hash ... ok
[INFO] [stdout] test ecs::schedule::system_ordering::tests::test_ordering_involves ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chain_function::test_chain_empty ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chain_function::test_chain_from_vec ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chain_function::test_chain_single ... ok
[INFO] [stdout] test ecs::schedule::system_ordering::tests::test_ordering_equality ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chain_function::test_chain_three ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_add ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_add_after ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_clear ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_default ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_new ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chain_function::test_chain_two ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_iter ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_add_after_not_found ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_to_orderings_empty ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_clone ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_len_and_is_empty ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_with_capacity ... ok
[INFO] [stdout] test ecs::schedule::parallel::tests::test_run_parallel_basic ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_after_label ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_before_label ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_clone ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_before_system ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_debug ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_display_after_label ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_display_after_system ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_display_before_label ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_display_before_system ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_add_duplicate ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_clear ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_contains ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_clone ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_debug ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_to_orderings_multiple ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_default ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::chained_systems::test_to_orderings_single ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_is_empty ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::labeled_ordering_constraint::test_after_system ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_iter ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_len ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_new ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_add ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_remove ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_remove_nonexistent ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set::test_with_capacity ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set_config::test_before ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set_config::test_clone ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set_config::test_enabled ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set_config::test_after ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_add_many_systems ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set_config::test_chained_config ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set_config::test_default ... ok
[INFO] [stdout] test ecs::schedule::system_set::tests::system_set_config::test_new ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_add_multiple_systems ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_add_system ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_boxed_stage ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_clear ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_debug ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_clear_resets_initialized ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_contains_system ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_default ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_from_core ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_initialization_happens_on_first_run ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_initialization_only_once ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_get_system ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_multiple_stages ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_new ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_reset_initialized ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_run_multiple_systems ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_run_respects_should_run ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_run_single_system_by_id ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_remove_system ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_run_single_system ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_run_empty_stage ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_run_system_modifies_world ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_run_system_skipped ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_systems_iterator ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_run_system_not_found ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_stage_trait ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_system_ids ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_with_capacity ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_systems_run_in_order ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_send_sync ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_combined_access ... ok
[INFO] [stdout] test ecs::schedule::system_stage::tests::test_system_names ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_conflict_count ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_compute_parallel_groups_no_conflicts ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_compute_parallel_groups_with_conflicts ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_find_conflicts_for_system ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_find_conflicts_empty ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_find_conflicts_for_system_not_found ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_find_conflicts_multiple ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_find_conflicts_none ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_find_conflicts_one ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_both_readers ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_different_components ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_empty_stage ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_no_access_systems ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_three_systems_partial ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_write_read ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_write_write ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_movement_and_position_reader ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_movement_and_velocity_writer ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_read_only_systems ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_has_conflicts_single_system ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_system_conflict_accessors ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_system_conflict_display ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::integration::test_custom_and_core_stages_together ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_compute_parallel_groups_empty ... ok
[INFO] [stdout] test ecs::schedule::tests::conflict_tests::test_writing_systems ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::stage_trait::test_stage_trait_is_empty ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::integration::test_stage_iteration_order ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::integration::test_stage_filtering ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::integration::test_stage_label_in_hashmap ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::stage_trait::test_stage_trait_send_sync ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::stage_trait::test_stage_trait_run ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::stage_trait::test_stage_trait_name ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::thread_safety::test_core_stage_send ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::thread_safety::test_core_stage_sync ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_add_chain_enforces_order ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::thread_safety::test_stage_label_id_send ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::thread_safety::test_stage_label_id_sync ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::thread_safety::test_stage_position_send ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_add_ordering_basic ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_add_chain_with_systems ... ok
[INFO] [stdout] test ecs::schedule::tests::integration_tests::thread_safety::test_stage_position_sync ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_add_chain_empty ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_add_ordering_duplicate ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_add_ordering_marks_dirty ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_add_ordering_missing_system ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_chain_marks_dirty ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_chain_systems_empty ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_chain_systems_single ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_chain_systems_three ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_clear_orderings ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_chain_systems_two ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_rebuild_order_basic ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_rebuild_order_cycle ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_add_ordering_self_reference ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_rebuild_order_three_systems ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_chain_systems_enforces_order ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_remove_orderings_for ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_remove_orderings_for_none ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_set_before_after ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_run_auto_rebuilds_order ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_orderings_for ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_would_ordering_cycle ... ok
[INFO] [stdout] test ecs::schedule::tests::parallel_safety_tests::test_many_conflicting_writers_all_execute ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::cycle_error::test_cycle_error_describe ... ok
[INFO] [stdout] test ecs::schedule::tests::ordering_tests::test_rebuild_order_no_orderings ... ok
[INFO] [stdout] test ecs::schedule::tests::parallel_safety_tests::test_ordered_writer_reader ... ok
[INFO] [stdout] test ecs::schedule::tests::parallel_safety_tests::test_read_write_conflict_serialized ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::cycle_error::test_cycle_error_display ... ok
[INFO] [stdout] test ecs::schedule::tests::parallel_safety_tests::test_mixed_conflict_free_and_conflicting ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::cycle_error::test_cycle_error_empty ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::cycle_error::test_cycle_error_new ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_add_ordering ... ok
[INFO] [stdout] test ecs::schedule::tests::parallel_safety_tests::test_write_write_conflict_serialized ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_add_ordering_duplicate ... ok
[INFO] [stdout] test ecs::schedule::tests::parallel_safety_tests::test_stress_many_systems_shared_components ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_add_ordering_missing_system ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_add_ordering_self ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_add_system ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_clear ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_add_system_duplicate ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_clone ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_new ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_sort_empty ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_sort_linear_chain ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_with_capacity ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_sort_single ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_sort_cycle_detection ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_sort_no_constraints ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_sort_diamond ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_sort_self_cycle ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::sorter::test_sorter_would_cycle ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::stress::test_sorter_complex_dag ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_clear ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_contains_after_remove ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_get ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_get_mut ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_get_mut_nonexistent ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_get_nonexistent ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_get_out_of_bounds ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_get_placeholder ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_len_after_insert ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_len_after_replace ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_len_empty ... ok
[INFO] [stdout] test ecs::schedule::topological_sort::tests::stress::test_sorter_many_systems ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_contains ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_contains_placeholder ... ok
[INFO] [stdout] test ecs::sparse_set::tests::access::tests::test_len_after_remove ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_dense_index ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_get_by_dense_index ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_get_mut_by_dense_index ... ok
[INFO] [stdout] test ecs::sparse_set::tests::construction::tests::test_default ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_clone ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_dense ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_send_sync ... ok
[INFO] [stdout] test ecs::sparse_set::tests::construction::tests::test_new ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_stress_sparse_indices ... ok
[INFO] [stdout] test ecs::sparse_set::tests::construction::tests::test_with_capacity ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_iter ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_iter_empty ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_into_iter_ref ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_iter_size_hint ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_values ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_values_mut ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_insert_multiple ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_insert_replace ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_insert_single ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_insert_sparse_indices ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_remove_double ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_remove_last ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_remove_middle ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_remove_nonexistent ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_remove_placeholder ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_remove_single ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_remove_swap_correctness ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_any_storage_is_empty ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_any_storage_is_object_safe ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_clear_via_any ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_component_type_name_via_any ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_contains_entity_via_any ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_multiple_storages_as_any ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_entities ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_into_iter_mut ... ok
[INFO] [stdout] test ecs::sparse_set::tests::iteration::tests::test_iter_mut ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_sparse_set_implements_any_component_storage ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_stress_insert_remove_cycle ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_remove_entity_via_any ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_contains_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_remove_nonexistent_via_any ... ok
[INFO] [stdout] test ecs::storage::tests::any_component_storage::test_storage_len_via_any ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_component_storage_is_send_sync ... ok
[INFO] [stdout] test ecs::sparse_set::tests::advanced::tests::test_stress_many_entities ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_get_mut_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_get_nonexistent_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_insert_replace_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_len_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_remove_nonexistent_via_trait ... ok
[INFO] [stdout] test ecs::sparse_set::tests::mutations::tests::test_insert_placeholder_panics - should panic ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_is_empty_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_generic_function_with_component_storage ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_get_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_remove_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_insert_via_trait ... ok
[INFO] [stdout] test ecs::storage::tests::component_storage_trait::test_sparse_set_implements_component_storage ... ok
[INFO] [stdout] test ecs::storage::tests::integration::test_zero_sized_component_storage ... ok
[INFO] [stdout] test ecs::storage::tests::integration::test_component_storage_workflow ... ok
[INFO] [stdout] test ecs::storage::tests::integration::test_string_component_storage ... ok
[INFO] [stdout] test ecs::system::function_system::tests::edge_cases::test_multiple_runs ... ok
[INFO] [stdout] test ecs::system::function_system::tests::edge_cases::test_system_state_persists ... ok
[INFO] [stdout] test ecs::system::function_system::tests::edge_cases::test_empty_world ... ok
[INFO] [stdout] test ecs::system::function_system::tests::function_system_direct::test_function_system_debug ... ok
[INFO] [stdout] test ecs::system::function_system::tests::function_system_direct::test_function_system_run_initializes ... ok
[INFO] [stdout] test ecs::system::function_system::tests::integration::test_boxed_system_collection ... ok
[INFO] [stdout] test ecs::system::function_system::tests::function_system_direct::test_function_system_with_name ... ok
[INFO] [stdout] test ecs::system::function_system::tests::integration::test_run_boxed_systems ... ok
[INFO] [stdout] test ecs::system::function_system::tests::integration::test_multi_query_system ... ok
[INFO] [stdout] test ecs::system::function_system::tests::integration::test_system_with_actual_queries ... ok
[INFO] [stdout] test ecs::system::function_system::tests::function_system_direct::test_function_system_new ... ok
[INFO] [stdout] test ecs::system::function_system::tests::function_system_direct::test_function_system_initialize ... ok
[INFO] [stdout] test ecs::system::function_system::tests::integration::test_reader_system ... ok
[INFO] [stdout] test ecs::system::function_system::tests::multi_params::test_fn_with_filtered_queries ... ok
[INFO] [stdout] test ecs::system::function_system::tests::multi_params::test_fn_four_queries ... ok
[INFO] [stdout] test ecs::system::function_system::tests::thread_safety::test_boxed_system_is_send ... ok
[INFO] [stdout] test ecs::system::function_system::tests::multi_params::test_fn_three_queries ... ok
[INFO] [stdout] test ecs::system::function_system::tests::two_params::test_fn_two_filtered_queries ... ok
[INFO] [stdout] test ecs::system::function_system::tests::one_param::test_fn_one_query_param ... ok
[INFO] [stdout] test ecs::system::function_system::tests::one_param::test_fn_query_access_tracking ... ok
[INFO] [stdout] test ecs::system::function_system::tests::thread_safety::test_function_system_is_send ... ok
[INFO] [stdout] test ecs::system::function_system::tests::one_param::test_fn_filtered_query ... ok
[INFO] [stdout] test ecs::system::function_system::tests::zero_params::test_fn_no_params_is_read_only ... ok
[INFO] [stdout] test ecs::system::function_system::tests::zero_params::test_fn_closure_no_params ... ok
[INFO] [stdout] test ecs::system::function_system::tests::two_params::test_fn_two_queries ... ok
[INFO] [stdout] test ecs::system::function_system::tests::zero_params::test_fn_no_params ... ok
[INFO] [stdout] test ecs::system::function_system::tests::zero_params::test_fn_no_params_name ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::custom_param::test_custom_param_implements_trait ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::custom_param::test_custom_param_read_only ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::custom_param::test_custom_param_state_init ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::param_with_access::test_reader_is_read_only ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::custom_param::test_custom_param_access ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::static_param::test_static_param_get_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::param_with_access::test_writer_is_not_read_only ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::custom_param::test_custom_param_get_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::param_with_access::test_reader_writer_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::param_with_access::test_readers_dont_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param::test_unit_implements_read_only ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param::test_unit_param_get_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param::test_unit_param_get_param_mut ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param::test_unit_param_update_access ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::static_param::test_static_param_no_access ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::static_param::test_static_param_state_get ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param_state::test_state_is_send_sync ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::static_param::test_static_param_state_get_mut ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::static_param::test_static_param_state_init ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param::test_unit_implements_system_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::tuple_param::test_nested_tuple_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::tuple_param::test_single_tuple_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param_state::test_tuple_state_init ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param_state::test_unit_state_apply ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param_state::test_unit_state_init ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::tuple_param::test_double_tuple_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::tuple_param::test_large_tuple_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::system_param_state::test_tuple_state_apply ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::tuple_param::test_tuple_read_only ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::tuple_param::test_tuple_update_access ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::conflict::test_reader_reader_no_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::reader::test_multiple_readers_independent_cursors ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::conflict::test_reader_writer_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::reader::test_reader_cursor_tracks_position ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::reader::test_reader_access_is_read ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::reader::test_reader_implements_system_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::conflict::test_different_event_types_no_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::tuple_param::test_triple_tuple_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::reader::test_reader_reads_events_from_world ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::reader::test_reader_is_empty_and_len ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::reader::test_reader_state_is_send_sync ... ok
[INFO] [stdout] test ecs::system::system_param::tests::core_tests::tuple_param::test_tuple_get_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::reader::test_reader_implements_read_only ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::writer::test_writer_access_is_write ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::writer::test_writer_state_is_send_sync ... ok
[INFO] [stdout] test ecs::system::system_param::tests::integration_tests::integration::test_combined_access_tracking ... ok
[INFO] [stdout] test ecs::system::system_param::tests::integration_tests::integration::test_param_with_entity_spawn ... ok
[INFO] [stdout] test ecs::system::system_param::tests::integration_tests::thread_safety::test_static_param_state_is_send_sync ... ok
[INFO] [stdout] test ecs::system::system_param::tests::integration_tests::thread_safety::test_tuple_state_is_send_sync ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::writer::test_writer_sends_events ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::writer::test_writer_send_batch ... ok
[INFO] [stdout] test ecs::system::system_param::tests::integration_tests::thread_safety::test_system_param_state_is_sync ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_conflict::test_res_mut_res_mut_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_conflict::test_combined_access ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::writer::test_writer_implements_system_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::integration_tests::thread_safety::test_system_param_state_is_send ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_conflict::test_res_res_no_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_conflict::test_different_resources_no_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::event_tests::writer::test_writer_get_param_panics - should panic ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_conflict::test_res_res_mut_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_integration::test_res_mut_modifies_world ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_integration::test_res_state_is_clone ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_integration::test_res_state_is_send_sync ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_mut_param::test_res_mut_get_param_mut ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_integration::test_res_with_component_query ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_mut_param::test_res_mut_implements_system_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_mut_param::test_res_mut_update_access ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_access_no_conflict ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_get_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_get_param_mut ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_implements_read_only ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_implements_system_param ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_multiple_resources ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_state_init ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_update_access ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_mut_param::test_res_mut_get_param_mut_missing_resource - should panic ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_collection_of_different_systems ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_component_access ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_mut_param::test_res_mut_get_param_panics - should panic ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_mut_param::test_res_mut_not_read_only ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_mut_param::test_res_mut_modify_resource ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_mut_param::test_res_mut_state_init ... ok
[INFO] [stdout] test ecs::system::system_param::tests::resource_tests::res_param::test_res_get_param_missing_resource - should panic ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_initialize ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_is_read_only ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_conflicts_with ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_debug ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_no_conflict_different_components ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_should_run ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_run ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_run_multiple_systems ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_new ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::boxed_system_tests::test_unique_ids ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::integration_tests::test_boxed_system_pipeline ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::integration_tests::test_system_adds_components ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::integration_tests::test_system_access_conflict_detection ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::into_system_tests::test_into_system_preserves_access ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::into_system_tests::test_into_system_preserves_behavior ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::integration_tests::test_conditional_system_execution ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::integration_tests::test_system_modifies_world ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_default_is_invalid ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_debug_format_valid ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::into_system_tests::test_system_into_boxed ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_debug_format_invalid ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_copy_and_clone ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::into_system_tests::test_multiple_into_system ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_display_format ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_from_raw_zero_is_invalid ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_hash ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_new_creates_unique_ids ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_ordering ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_valid_ids ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_component_access ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_equality ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_from_raw ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_invalid_constant ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_conflicts_with_no_conflict ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_id_tests::test_thread_safety ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_clone ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_conflicts_with_read_read_same ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_conflicts_with_write_write ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_debug ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_is_read_only ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_new ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_set_component_access ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_set_name ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_component_access_default ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_conflicts_with_write_read ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_component_access_custom ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_is_read_only ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_initialize ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_default ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_meta_tests::test_new_with_string ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_should_run_custom ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_is_send ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_name ... ok
[INFO] [stdout] test ecs::systems::animation::tests::test_animation_system_loop_wraps ... ok
[INFO] [stdout] test ecs::systems::animation::tests::test_animation_system_one_shot_stops ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_run ... ok
[INFO] [stdout] test ecs::systems::animation::tests::test_animation_system_zero_frame_duration_no_hang ... ok
[INFO] [stdout] test ecs::systems::animation::tests::test_animation_system_no_sprite_no_crash ... ok
[INFO] [stdout] test ecs::system::system_trait::tests::system_trait_tests::test_system_should_run_default ... ok
[INFO] [stdout] test ecs::systems::animation::tests::test_animation_system_skips_paused ... ok
[INFO] [stdout] test ecs::systems::animation::tests::test_sprite_animator_loop_restart ... ok
[INFO] [stdout] test ecs::systems::animation::tests::test_animation_system_updates_sprite_source_rect ... ok
[INFO] [stdout] test ecs::systems::animation_controller::tests::test_blend_duration_delays_switch ... ok
[INFO] [stdout] test ecs::systems::animation_controller::tests::test_multiple_conditions_all_must_match ... ok
[INFO] [stdout] test ecs::systems::animation_controller::tests::test_entity_without_sprite_animator_is_skipped ... ok
[INFO] [stdout] test ecs::systems::animation::tests::test_sprite_animator_one_shot_completion ... ok
[INFO] [stdout] test ecs::systems::animation_controller::tests::test_float_less_than_condition ... ok
[INFO] [stdout] test ecs::systems::animation_controller::tests::test_no_transition_when_conditions_not_met ... ok
[INFO] [stdout] test ecs::systems::physics_sync_2d::tests::test_system_construction ... ok
[INFO] [stdout] test ecs::systems::animation_controller::tests::test_transition_triggers_on_bool_param ... ok
[INFO] [stdout] test ecs::systems::physics_sync_2d::tests::test_handle_map_default ... ok
[INFO] [stdout] test ecs::systems::physics_sync_2d::tests::test_provider_accessors ... ok
[INFO] [stdout] test ecs::systems::animation_controller::tests::test_transition_triggers_on_float_param ... ok
[INFO] [stdout] test ecs::systems::physics_sync_2d::tests::test_system_run_empty_world ... ok
[INFO] [stdout] test ecs::systems::physics_sync_2d::tests::test_system_run_with_empty_handle_map ... ok
[INFO] [stdout] test ecs::systems::physics_sync_2d::tests::test_system_should_run ... ok
[INFO] [stdout] test ecs::systems::physics_sync_2d::tests::test_system_component_access_is_empty ... ok
[INFO] [stdout] test ecs::systems::physics_sync_3d::tests::test_handle_map_3d_default ... ok
[INFO] [stdout] test ecs::systems::physics_sync_3d::tests::test_system_3d_run_with_empty_handle_map ... ok
[INFO] [stdout] test ecs::systems::physics_sync_3d::tests::test_system_3d_should_run ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_animation_non_looping_clamps ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_animation_looping_wraps_time ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_animator_is_finished ... ok
[INFO] [stdout] test ecs::systems::physics_sync_3d::tests::test_system_3d_run_empty_world ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_animator_play_pause_reset ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_bone_hierarchy_propagation ... ok
[INFO] [stdout] test ecs::systems::physics_sync_3d::tests::test_system_3d_construction ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_bone_hierarchy_propagation_with_parent_rotation ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_bone_transform_combine_translation ... ok
[INFO] [stdout] test ecs::systems::physics_sync_3d::tests::test_system_3d_provider_accessors ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_keyframe_interpolation_after_last ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_keyframe_interpolation_before_first ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_bone_transform_default_is_identity ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_bone_transform_lerp_midpoint ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_mesh_deformation_single_bone_weight ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_keyframe_interpolation_empty_returns_default ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_paused_animator_does_not_advance ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_keyframe_interpolation_midpoint ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_mesh_deformation_multi_bone_weights ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_bone_transform_to_matrix_identity ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_skeleton_bone_count ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_component_access_declares_reads ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_skeleton_find_bone ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_3d_propagation_multi_level_hierarchy ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_2d_propagation_parent_child ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_3d_root_entity_global_equals_local ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_both_2d_and_3d_propagate_in_same_run ... ok
[INFO] [stdout] test ecs::systems::skeletal_animation::tests::test_two_bone_animation_playback ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_system_is_not_read_only ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_component_access_is_not_empty ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_run_on_empty_world ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_entity_recursive_children_cloned_and_reparented ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_should_run_returns_true ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_entity_recursive_nonexistent_returns_none ... ok
[INFO] [stdout] test ecs::systems::transform::tests::test_system_name ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_entity_recursive_no_children ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_entity_recursive_deep_hierarchy ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_entity_multiple_components ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_entity_single_component ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_entity_with_children_is_removed ... ok
[INFO] [stdout] test ecs::world::serialize_entity::tests::test_serialize_entity_multiple_components ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_entity_with_parent_is_removed ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_independence_modify_clone_not_original ... ok
[INFO] [stdout] test ecs::world::serialize_entity::tests::test_serialize_nonexistent_entity_returns_none ... ok
[INFO] [stdout] test ecs::world::serialize_entity::tests::test_serialize_skips_unregistered_components ... ok
[INFO] [stdout] test ecs::world::serialize_entity::tests::test_serialize_entity_single_component ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_nonexistent_entity_returns_none ... ok
[INFO] [stdout] test ecs::world::clone_entity::tests::test_clone_with_unregistered_component_skips_gracefully ... ok
[INFO] [stdout] test ecs::world::serialize_entity::tests::test_deserialize_onto_dead_entity_returns_zero ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_access_multiple_component_types_on_same_entity ... ok
[INFO] [stdout] test ecs::world::serialize_entity::tests::test_roundtrip_serialize_deserialize ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_mut_returns_none_after_despawn ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_mut_returns_none_for_dead_entity ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_mut_returns_none_when_no_storage_exists ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_returns_none_after_despawn ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_different_component_types ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_returns_correct_component_for_multiple_entities ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_returns_none_for_placeholder ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_returns_none_for_dead_entity ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_mut_returns_mutable_reference ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_mut_returns_none_for_placeholder ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_returns_correct_component ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_returns_none_when_no_storage_exists ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_has_distinguishes_different_component_types ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_has_returns_false_for_dead_entity ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_has_returns_false_after_despawn ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_has_returns_false_for_placeholder ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_has_returns_false_when_entity_lacks_component ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_has_returns_false_for_stale_entity ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_returns_none_for_stale_entity ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_get_returns_none_when_entity_lacks_component ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_has_returns_false_when_no_storage_exists ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::archetype_count::test_archetype_count_starts_at_one ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::archetype_count::test_empty_archetype_exists ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::clear::test_clear_preserves_archetype_count ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::component_types::test_has_component_type_false_initially ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::construction::test_world_default ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::construction::test_world_debug ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_has_returns_true_when_entity_has_component ... ok
[INFO] [stdout] test ecs::world::tests::component_access_tests::component_access::test_type_safety_different_types_same_layout ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::component_types::test_component_type_count_starts_at_zero ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::construction::test_world_new ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::direct_access::test_archetypes_accessor ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::construction::test_world_with_capacity ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::direct_access::test_entities_accessor ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::entity_count::test_is_empty_starts_true ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::clear::test_clear_resets_entity_count ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::entity_archetype::test_placeholder_has_no_archetype ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::edge_cases::test_large_capacity_world ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::entity_archetype::test_nonexistent_entity_has_no_archetype ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::edge_cases::test_zero_capacity_world ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::is_alive::test_entity_index_zero_not_alive_when_empty ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::entity_count::test_entity_count_starts_at_zero ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::is_alive::test_placeholder_not_alive ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::storage::test_get_or_create_storage_mut_creates_storage ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::storage::test_get_or_create_storage_mut_returns_same_storage ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::storage::test_get_storage_returns_none_for_unregistered ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::storage::test_get_storage_after_mut_access ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::storage::test_multiple_component_types_separate_storage ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::thread_safety::test_world_is_not_send_due_to_non_send_resources ... ok
[INFO] [stdout] test ecs::world::tests::construction_tests::is_alive::test_fake_entity_not_alive ... ok
[INFO] [stdout] test ecs::world::tests::despawn_recursive_tests::despawn_recursive::test_despawn_recursive_cleans_all_components ... ok
[INFO] [stdout] test ecs::world::tests::despawn_recursive_tests::despawn_recursive::test_despawn_recursive_grandchildren ... ok
[INFO] [stdout] test ecs::world::tests::despawn_recursive_tests::despawn_recursive::test_despawn_recursive_no_children ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn::test_despawn_multiple_entities ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn::test_despawn_returns_false_for_dead_entity ... ok
[INFO] [stdout] test ecs::world::tests::despawn_recursive_tests::despawn_recursive::test_despawn_recursive_single_child ... ok
[INFO] [stdout] test ecs::world::tests::despawn_recursive_tests::despawn_recursive::test_despawn_recursive_deep_hierarchy ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn::test_despawn_removes_from_archetype ... ok
[INFO] [stdout] test ecs::world::tests::despawn_recursive_tests::despawn_recursive::test_despawn_recursive_preserves_siblings ... ok
[INFO] [stdout] test ecs::world::tests::despawn_recursive_tests::despawn_recursive::test_despawn_recursive_dead_entity ... ok
[INFO] [stdout] test ecs::world::tests::despawn_recursive_tests::despawn_recursive::test_despawn_recursive_multiple_children ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn::test_despawn_returns_false_for_placeholder ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn_batch::test_despawn_batch_empty ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn::test_despawn_single_entity ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn::test_despawn_returns_false_for_never_allocated ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn::test_despawn_stale_entity ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn_batch::test_despawn_batch_duplicate_entities ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn_batch::test_despawn_batch_multiple ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn_batch::test_despawn_batch_partial_invalid ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn_batch::test_despawn_batch_preserves_other_entities ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn_batch::test_despawn_batch_single ... ok
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn_batch::test_despawn_batch_with_placeholder ... ok
[INFO] [stdout] test ecs::world::tests::entity_world_mut_tests::entity_world_mut::test_entity_world_mut_debug ... ok
[INFO] [stdout] test ecs::world::tests::entity_world_mut_tests::entity_world_mut::test_entity_world_mut_id ... ok
[INFO] [stdout] test ecs::world::tests::entity_world_mut_tests::entity_world_mut::test_entity_world_mut_world_mut ... ok
[INFO] [stdout] test ecs::world::tests::entity_world_mut_tests::entity_world_mut::test_entity_world_mut_world_ref ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::entity_builder::test_entity_builder_insert_multiple ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::entity_builder::test_entity_builder_insert_single ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::insert_batch::test_insert_batch_empty ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::entity_builder::test_entity_builder_chaining_returns_self ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_adds_entity_to_new_archetype ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::entity_builder::test_entity_builder_insert_replace ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::insert_batch::test_insert_batch_multiple ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::insert_batch::test_insert_batch_single ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::insert_batch::test_insert_batch_skips_dead_entities ... ok
[INFO] [stdout] test ecs::world::tests::insert_batch_builder_tests::insert_batch::test_insert_batch_with_placeholder ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_after_despawn_and_respawn ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_creates_correct_archetype_count ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_first_component_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_large_component ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_makes_component_accessible ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_multiple_types_registers_all ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_on_dead_entity_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_on_never_allocated_entity_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_on_placeholder_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_registers_component_type ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_removes_entity_from_old_archetype ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_replace_returns_old_value ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_multiple_entities_different_components ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_same_component_does_not_change_archetype ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_second_component_creates_new_archetype ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_multiple_entities_same_components ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_stress_many_component_types ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_string_component ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_triggers_archetype_transition ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_creates_correct_target_archetype ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_dead_entity_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_different_types_same_entity ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_entity_no_longer_has_component ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_large_component ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_add_cycle ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_adds_to_new_archetype ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_after_despawn_and_respawn ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_one_of_multiple_components ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_never_allocated_entity_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_nonexistent_component_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_placeholder_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_returns_component ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_string_component ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_preserves_other_entities_components ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_to_empty_archetype ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_removes_from_old_archetype ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_stale_entity ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_twice_returns_none_second_time ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_take_returns_component ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_triggers_archetype_transition ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_take_dead_entity_returns_none ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_take_removes_component ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_batch_empty ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_batch_multiple ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_batch_single ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_empty_adds_to_empty_archetype ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_batch_unique_entities ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_builder_id_matches ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_builder_provides_world_access ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_empty_creates_entity ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_empty_multiple_entities ... ok
[INFO] [stdout] test ecs::world::tests::remove_tests::remove::test_remove_stress_many_entities ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_returns_builder ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_updates_archetype_entity_count ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_empty_unique_entities ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_mixed_individual_and_batch ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_add_batch_basic ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_add_batch_invalid_context ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_add_batch_size_mismatch ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_add_batch_null_data ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_add_batch_unregistered_type ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_add_batch_null_entities ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_has_batch_null_results ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_batch_zero_count ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_has_batch_invalid_context ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_has_batch_basic ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_has_batch_unregistered_type ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_registration::test_register_type_basic ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_registration::test_register_type_null_name ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_remove_batch_basic ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_remove_batch_invalid_context ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_batch::test_component_remove_batch_unregistered_type ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_add_unregistered_type ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_add_invalid_context ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_add_null_data ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_add_wrong_size ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_add_basic ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_chain ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_get_basic ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_remove_basic ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_get_mut_basic ... ok
[INFO] [stdout] test ffi::component::ffi_tests::tests_single::test_component_has_basic ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_null_safety ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_default ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_with_alpha ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_free ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_new_and_build ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_with_flip ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_with_color ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_with_custom_size ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_with_anchor ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_with_source_rect ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_color_lerp ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_builder_with_texture ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_color_constants ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_anchor ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_color_from_hex ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_builder_chain ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_null_safety ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_custom_size ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_set_color ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_size ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_source_rect ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_with_color ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_animator_from_clip_empty ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_animator_from_clip_loop ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_animator_from_clip_oneshot ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_clip_builder_add_frame_returns_same_pointer ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_clip_builder_free_does_not_crash ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_clip_builder_new_returns_non_null ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_null_safety ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_playback_queries_on_finished_animator ... ok
[INFO] [stdout] test ffi::component_sprite_animator::tests::test_playback_queries_on_new_animator ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_at_position ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_chain ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_free ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_looking_at ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_new_and_build ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_null_safety ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_rotate ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_scale_by ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_translate ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_flip ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_with_position ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_with_rotation ... ok
[INFO] [stdout] test ffi::component_sprite::tests::test_ffi_sprite_new ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_with_rotation_degrees ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_with_scale ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_ffi_transform2d_from_position ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_builder_with_scale_uniform ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_ffi_transform2d_forward ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_ffi_transform2d_lerp ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_ffi_transform2d_default ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_ffi_transform2d_translate ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_ffi_transform2d_null_safety ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_ffi_transform2d_rotate ... ok
[INFO] [stdout] test ffi::component_transform2d::tests::test_ffi_transform2d_size ... ok
[INFO] [stdout] test ffi::context::tests::test_context_debug ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_equality ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_copy_clone ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_default ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_display ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_hash ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_new ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_invalid ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_is_send ... ok
[INFO] [stdout] test ffi::context::tests::test_context_new ... ok
[INFO] [stdout] test ffi::context::tests::test_context_id_is_sync ... ok
[INFO] [stdout] test ffi::context::tests::test_full_lifecycle ... ok
[INFO] [stdout] test ffi::context::tests::test_context_validate_thread ... ok
[INFO] [stdout] test ffi::context::tests::test_handle_clone ... ok
[INFO] [stdout] test ffi::context::tests::test_context_world_access ... ok
[INFO] [stdout] test ffi::context::tests::test_handle_create ... ok
[INFO] [stdout] test ffi::context::tests::test_handle_default ... ok
[INFO] [stdout] test ffi::context::tests::test_handle_debug ... ok
[INFO] [stdout] test ffi::context::tests::test_handle_new ... ok
[INFO] [stdout] test ffi::context::tests::test_handle_create_multiple ... ok
[INFO] [stdout] test ffi::context::tests::test_handle_destroy ... ok
[INFO] [stdout] test ffi::context::tests::test_multiple_contexts_isolation ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_create ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_create_multiple ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_destroy ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_debug ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_destroy_twice ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_free_list_reuse ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_generation_increment ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_get_invalid ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_get ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_get_mut ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_destroy_invalid ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_is_valid ... ok
[INFO] [stdout] test ffi::context::tests::test_registry_new ... ok
[INFO] [stdout] test ffi::entity::tests::test_clone_entity_invalid_context ... ok
[INFO] [stdout] test ffi::context::tests::test_many_concurrent_contexts ... ok
[INFO] [stdout] test ffi::context::tests::test_stale_id_detection ... ok
[INFO] [stdout] test ffi::entity::tests::test_clone_entity_invalid_entity ... ok
[INFO] [stdout] test ffi::entity::tests::test_clone_entity_recursive_invalid_context ... ok
[INFO] [stdout] test ffi::entity::tests::test_clone_entity_recursive_success ... ok
[INFO] [stdout] test ffi::entity::tests::test_despawn_basic ... ok
[INFO] [stdout] test ffi::entity::tests::test_clone_entity_success ... ok
[INFO] [stdout] test ffi::entity::tests::test_despawn_batch_basic ... ok
[INFO] [stdout] test ffi::entity::tests::test_despawn_batch_partial_invalid ... ok
[INFO] [stdout] test ffi::entity::tests::test_despawn_already_despawned ... ok
[INFO] [stdout] test ffi::entity::tests::test_despawn_batch_zero_count ... ok
[INFO] [stdout] test ffi::entity::tests::test_despawn_invalid_context ... ok
[INFO] [stdout] test ffi::entity::tests::test_entity_count_after_despawn ... ok
[INFO] [stdout] test ffi::entity::tests::test_despawn_invalid_entity ... ok
[INFO] [stdout] test ffi::entity::tests::test_entity_count_basic ... ok
[INFO] [stdout] test ffi::entity::tests::test_is_alive_basic ... ok
[INFO] [stdout] test ffi::entity::tests::test_entity_count_invalid_context ... ok
[INFO] [stdout] test ffi::entity::tests::test_is_alive_invalid_context ... ok
[INFO] [stdout] test ffi::entity::tests::test_is_alive_invalid_entity ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_batch_invalid_context ... ok
[INFO] [stdout] test ffi::entity::tests::test_mixed_operations ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_batch_basic ... ok
[INFO] [stdout] test ffi::context::tests::test_stress_create_destroy ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_batch_large ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_batch_null_pointer ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_batch_zero_count ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_empty_basic ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_despawn_respawn ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_empty_invalid_context ... ok
[INFO] [stdout] test ffi::entity::tests_batch_alive::test_is_alive_batch_invalid_context ... ok
[INFO] [stdout] test ffi::entity::tests::test_spawn_empty_multiple ... ok
[INFO] [stdout] test ffi::entity::tests::test_stress_spawn_despawn ... ok
[INFO] [stdout] test ffi::entity::tests_batch_alive::test_is_alive_batch_basic ... ok
[INFO] [stdout] test ffi::entity::tests_batch_alive::test_is_alive_batch_large ... ok
[INFO] [stdout] test ffi::entity::tests_batch_alive::test_is_alive_batch_mixed ... ok
[INFO] [stdout] test ffi::entity::tests_batch_alive::test_is_alive_batch_null_entities ... ok
[INFO] [stdout] test ffi::entity::tests_batch_alive::test_is_alive_batch_zero_count ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_error_recovery_class_fatal ... ok
[INFO] [stdout] test ffi::entity::tests_batch_alive::test_is_alive_batch_null_results ... ok
[INFO] [stdout] test ffi::entity::tests_batch_alive::test_is_alive_batch_invalid_entities ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_error_recovery_class_degraded ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_error_recovery_class_recoverable ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_error_recovery_hint_null_buffer ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_error_recovery_hint_writes_hint ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_message_buffer_too_small ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_message_no_error ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_message_null_buffer ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_message_null_buffer_no_error ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_message_success_path ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_operation_no_context ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_operation_with_context ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_subsystem_no_context ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_subsystem_null_buffer_returns_neg_size ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_last_error_subsystem_with_context ... ok
[INFO] [stdout] test ffi::plugin::tests::test_invalid_context ... ok
[INFO] [stdout] test ffi::plugin::tests::test_is_registered_not_found ... ok
[INFO] [stdout] test ffi::plugin::tests::test_list_buffer_too_small ... ok
[INFO] [stdout] test ffi::plugin::tests::test_list_plugins ... ok
[INFO] [stdout] test ffi::plugin::tests::test_list_empty ... ok
[INFO] [stdout] test ffi::plugin::tests::test_null_pointer ... ok
[INFO] [stdout] test ffi::plugin::tests::test_register_and_query_plugin ... ok
[INFO] [stdout] test ffi::plugin::tests::test_register_duplicate_returns_error ... ok
[INFO] [stdout] test ffi::plugin::tests::test_unregister_nonexistent_returns_error ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_error_recovery_hint_success_returns_zero ... ok
[INFO] [stdout] test ffi::error::tests::test_goud_error_recovery_hint_truncates ... ok
[INFO] [stdout] test ffi::plugin::tests::test_unregister_plugin ... ok
[INFO] [stdout] test ffi::scene::tests::test_create_scene_duplicate_fails ... ok
[INFO] [stdout] test ffi::scene::tests::test_create_scene_invalid_context ... ok
[INFO] [stdout] test ffi::scene::tests::test_destroy_current_scene_resets_to_default ... ok
[INFO] [stdout] test ffi::scene::tests::test_destroy_invalid_context ... ok
[INFO] [stdout] test ffi::scene::tests::test_destroy_scene_success ... ok
[INFO] [stdout] test ffi::scene::tests::test_create_scene_null_name ... ok
[INFO] [stdout] test ffi::scene::tests::test_create_scene_success ... ok
[INFO] [stdout] test ffi::scene::tests::test_get_by_name_null_ptr ... ok
[INFO] [stdout] test ffi::scene::tests::test_get_by_name_success ... ok
[INFO] [stdout] test ffi::scene::tests::test_get_current_default ... ok
[INFO] [stdout] test ffi::scene::tests::test_get_current_invalid_context ... ok
[INFO] [stdout] test ffi::scene::tests::test_is_active_invalid_context ... ok
[INFO] [stdout] test ffi::scene::tests::test_scene_count_after_create ... ok
[INFO] [stdout] test ffi::scene::tests::test_scene_count_default ... ok
[INFO] [stdout] test ffi::scene::tests::test_destroy_default_scene_fails ... ok
[INFO] [stdout] test ffi::scene::tests::test_scene_count_invalid_context ... ok
[INFO] [stdout] test ffi::scene::tests::test_set_active_and_check ... ok
[INFO] [stdout] test ffi::scene::tests::test_set_active_nonexistent_fails ... ok
[INFO] [stdout] test ffi::scene::tests::test_set_current_nonexistent_fails ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_copy_clone ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_default ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_equality ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_display ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_from_u64 ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_invalid ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_hash ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_is_send ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_new ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_is_sync ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_to_u64 ... ok
[INFO] [stdout] test ffi::types::tests::test_entity_id_size ... ok
[INFO] [stdout] test ffi::types::tests::test_result_copy_clone ... ok
[INFO] [stdout] test ffi::types::tests::test_result_default ... ok
[INFO] [stdout] test ffi::types::tests::test_result_display ... ok
[INFO] [stdout] test ffi::scene::tests::test_get_by_name_not_found ... ok
[INFO] [stdout] test ffi::types::tests::test_result_err ... ok
[INFO] [stdout] test ffi::types::tests::test_result_is_send ... ok
[INFO] [stdout] test ffi::types::tests::test_result_equality ... ok
[INFO] [stdout] test ffi::types::tests::test_result_from_error_code ... ok
[INFO] [stdout] test ffi::types::tests::test_result_repr_c ... ok
[INFO] [stdout] test ffi::types::tests::test_result_ok ... ok
[INFO] [stdout] test ffi::types::tests::test_result_size ... ok
[INFO] [stdout] test ffi::types::tests::test_result_is_sync ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_buffer_lifecycle ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_default_trait ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_double_destroy_returns_false ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_destroyed_handle_operations_return_errors ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_draw_calls_do_not_panic ... ok
[INFO] [stdout] test ffi::scene::tests::test_set_and_get_current ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_state_methods_do_not_panic ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_frame_lifecycle ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::buffer_tests::test_buffer_bind ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::buffer_tests::test_buffer_lifecycle ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::buffer_tests::test_buffer_slot_reuse ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::buffer_tests::test_buffer_update ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::buffer_tests::test_buffer_update_out_of_bounds ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::buffer_tests::test_invalid_handle_operations ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::buffer_tests::test_multiple_buffers ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::buffer_tests::test_opengl_backend_creation ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_attribute_type_to_gl_conversion ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_texture_lifecycle ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_info_values ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_blend_factor_to_gl ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_buffer_type_to_gl_target ... ok
[INFO] [stdout] test libs::graphics::backend::null::tests::test_shader_lifecycle ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_buffer_usage_to_gl_usage ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_bytes_per_pixel ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_texture_filter_to_gl ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_opengl_backend_implements_send_sync ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_texture_format_to_gl ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_texture_wrap_to_gl ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::conversion_tests::test_topology_to_gl_conversion ... ok
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_draw_arrays_basic ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_draw_arrays_instanced ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_draw_arrays_without_shader_fails ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_draw_arrays_without_vertex_buffer_fails ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_draw_indexed_basic ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_draw_indexed_instanced ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_draw_indexed_u16 ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_draw_indexed_without_index_buffer_fails ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::draw_call_tests::test_set_vertex_attributes_multiple ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_multiple_shaders ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_bind_unbind ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_compilation_error ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_destroy_clears_bound_state ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_empty_sources ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_invalid_handle ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_lifecycle ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_set_uniforms ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_slot_reuse ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::shader_tests::test_shader_uniform_location ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::texture_tests::test_texture_bind ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::texture_tests::test_texture_empty_data ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::texture_tests::test_texture_invalid_dimensions ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::texture_tests::test_texture_lifecycle ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::texture_tests::test_texture_multiple_units ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::texture_tests::test_texture_slot_reuse ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::texture_tests::test_texture_update ... ignored
[INFO] [stdout] test libs::graphics::backend::opengl::gl_tests::texture_tests::test_texture_update_bounds_check ... ignored
[INFO] [stdout] test libs::graphics::backend::tests::test_backend_capabilities_clone ... ok
[INFO] [stdout] test libs::graphics::backend::tests::test_backend_capabilities_default ... ok
[INFO] [stdout] test libs::graphics::backend::tests::test_backend_info_clone ... ok
[INFO] [stdout] test libs::graphics::backend::tests::test_cull_face_copy ... ok
[INFO] [stdout] test libs::graphics::backend::tests::test_cull_face_default ... ok
[INFO] [stdout] test libs::graphics::backend::tests::test_cull_face_variants ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_buffer_handle_invalid ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_buffer_handle_valid ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_buffer_type_repr ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_buffer_usage_default ... ok
[INFO] [stdout] test libs::graphics::backend::tests::test_blend_factor_copy ... ok
[INFO] [stdout] test libs::graphics::backend::tests::test_blend_factor_variants ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_handle_types_are_copy ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_primitive_topology_default ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_primitive_topology_variants ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_shader_handle_equality ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_texture_format_variants ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_texture_filter_default ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_texture_wrap_default ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_vertex_attribute_type_component_count ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_vertex_attribute_type_size ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_vertex_layout_total_size ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_vertex_layout_with_attributes ... ok
[INFO] [stdout] test ecs::world::tests::spawn_tests::spawn::test_spawn_batch_large ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_vertex_layout_new ... ok
[INFO] [stdout] test libs::platform::tests::window_config_clone ... ok
[INFO] [stdout] test libs::platform::tests::window_config_default_values ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_default ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_capabilities ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_construction ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_default_state ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_texture_handle_valid ... ok
[INFO] [stdout] test libs::graphics::backend::types::tests::test_vertex_attribute_new ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_gamepad_stubs ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_generic_capabilities ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_sync_key_held ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_sync_key_pressed ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_update_noop ... ok
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_sync_key_released ... ok
[INFO] [stdout] test libs::providers::impls::glfw_window::tests::test_glfw_window_provider_has_platform_methods ... ok
[INFO] [stdout] test libs::providers::impls::opengl_render::tests::test_opengl_render_provider_type_is_send_sync ... ok
[INFO] [stdout] test rendering::render_system::tests::test_sprite_render_system_accessors ... ok
[INFO] [stdout] test rendering::render_system::tests::test_sprite_render_system_debug ... ok
[INFO] [stdout] test rendering::render_system::tests::test_sprite_render_system_empty_world ... ignored
[INFO] [stdout] test rendering::render_system::tests::test_sprite_render_system_multiple_sprites ... ignored
[INFO] [stdout] test rendering::render_system::tests::test_sprite_render_system_run ... ignored
[INFO] [stdout] test rendering::render_system::tests::test_sprite_render_system_z_sorting ... ignored
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_interleaved_textures_batching ... ignored
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_max_batch_size_enforcement ... ignored
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_texture_batching_disabled ... ignored
[INFO] [stdout] test libs::providers::impls::glfw_input::tests::test_glfw_input_sync_mouse ... ok
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_texture_batching_multiple_textures ... ignored
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_texture_batching_same_z_different_texture ... ignored
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_texture_batching_single_texture ... ignored
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_texture_batching_sort_by_texture ... ignored
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_texture_batching_stress_test ... ignored
[INFO] [stdout] test rendering::sprite_batch::batching_tests::test_texture_batching_with_z_layers ... ignored
[INFO] [stdout] test rendering::sprite_batch::gl_tests::test_sprite_batch_begin_end ... ignored
[INFO] [stdout] test rendering::sprite_batch::gl_tests::test_sprite_batch_gather_empty_world ... ignored
[INFO] [stdout] test rendering::sprite_batch::gl_tests::test_sprite_batch_new ... ignored
[INFO] [stdout] test rendering::sprite_batch::gl_tests::test_sprite_batch_sort_z_layer ... ignored
[INFO] [stdout] test rendering::sprite_batch::gl_tests::test_sprite_batch_statistics ... ignored
[INFO] [stdout] test rendering::sprite_batch::integration_tests::test_gather_sprites_clears_previous_frame ... ignored
[INFO] [stdout] test rendering::render_system::tests::test_sprite_render_system_new ... ok
[INFO] [stdout] test rendering::sprite_batch::integration_tests::test_gather_sprites_empty_world ... ignored
[INFO] [stdout] test rendering::sprite_batch::integration_tests::test_gather_sprites_from_world ... ignored
[INFO] [stdout] test rendering::sprite_batch::tests::test_sprite_batch_entry_creation ... ok
[INFO] [stdout] test rendering::sprite_batch::tests::test_sprite_instance_creation ... ok
[INFO] [stdout] test rendering::sprite_batch::tests::test_sprite_vertex_layout ... ok
[INFO] [stderr] ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
[INFO] [stdout] test rendering::sprite_batch::tests::test_sprite_batch_config_default ... ok
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
[INFO] [stdout] test ecs::world::tests::despawn_tests::despawn_batch::test_despawn_batch_large ... ok
[INFO] [stderr] ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_default_creates_empty_cache ... ok
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_cache_get_or_create_returns_atlas ... ok
[INFO] [stderr] ALSA lib confmisc.c:1342:(snd_func_refer) error evaluating name
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_cache_hit_returns_same_atlas ... ok
[INFO] [stderr] ALSA lib conf.c:5204:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_cache_different_handles_get_different_entries ... ok
[INFO] [stderr] ALSA lib conf.c:5727:(snd_config_expand) Evaluate error: No such file or directory
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_cache_different_sizes_get_different_entries ... ok
[INFO] [stderr] ALSA lib pcm.c:2721:(snd_pcm_open_noupdate) Unknown PCM default
[INFO] [stdout] test libs::providers::impls::rodio_audio::tests::test_rodio_audio_provider ... ok
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_invalidate_font_removes_all_sizes ... ok
[INFO] [stdout] test rendering::text::glyph_atlas::tests::test_atlas_contains_all_printable_ascii ... ok
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_process_reloads_returns_zero_for_unknown_fonts ... ok
[INFO] [stdout] test rendering::text::glyph_atlas::tests::test_atlas_dimensions_are_power_of_two ... ok
[INFO] [stdout] test rendering::text::glyph_atlas::tests::test_atlas_glyph_info_returns_none_for_missing_char ... ok
[INFO] [stdout] test rendering::text::glyph_atlas::tests::test_atlas_space_glyph_has_zero_uv_area ... ok
[INFO] [stdout] test rendering::text::glyph_atlas::tests::test_atlas_texture_data_length_matches_dimensions ... ok
[INFO] [stdout] test rendering::text::rasterizer::tests::test_rasterize_glyph_a_bitmap_has_nonzero_pixels ... ok
[INFO] [stdout] test rendering::text::glyph_atlas::tests::test_gpu_texture_returns_none_before_upload ... ok
[INFO] [stdout] test rendering::text::rasterizer::tests::test_rasterize_glyph_a_has_nonzero_dimensions ... ok
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_process_reloads_invalidates_multiple_fonts ... ok
[INFO] [stdout] test rendering::text::rasterizer::tests::test_rasterize_glyph_bitmap_length_matches_dimensions ... ok
[INFO] [stdout] test rendering::text::glyph_atlas::tests::test_atlas_visible_glyph_has_nonzero_uv_area ... ok
[INFO] [stdout] test rendering::text::rasterizer::tests::test_rasterize_metrics_advance_width_positive_for_visible_glyph ... ok
[INFO] [stdout] test rendering::text::rasterizer::tests::test_rasterize_space_glyph_has_zero_dimensions ... ok
[INFO] [stdout] test sdk::collision::tests::test_aabb_aabb_separated ... ok
[INFO] [stdout] test sdk::collision::tests::test_aabb_overlap_false ... ok
[INFO] [stdout] test sdk::collision::tests::test_aabb_overlap_true ... ok
[INFO] [stdout] test sdk::collision::tests::test_circle_aabb_overlapping ... ok
[INFO] [stdout] test sdk::collision::tests::test_circle_aabb_separated ... ok
[INFO] [stdout] test sdk::collision::tests::test_aabb_aabb_overlapping ... ok
[INFO] [stdout] test sdk::collision::tests::test_circle_circle_overlapping ... ok
[INFO] [stdout] test sdk::collision::tests::test_circle_circle_same_center ... ok
[INFO] [stdout] test sdk::collision::tests::test_circle_circle_separated ... ok
[INFO] [stdout] test sdk::collision::tests::test_circle_overlap_false ... ok
[INFO] [stdout] test sdk::collision::tests::test_circle_overlap_true ... ok
[INFO] [stdout] test sdk::collision::tests::test_contact_reexported ... ok
[INFO] [stdout] test sdk::collision::tests::test_distance_pythagorean ... ok
[INFO] [stdout] test sdk::collision::tests::test_distance_squared_pythagorean ... ok
[INFO] [stdout] test sdk::collision::tests::test_distance_squared_zero ... ok
[INFO] [stdout] test sdk::collision::tests::test_distance_zero ... ok
[INFO] [stdout] test sdk::collision::tests::test_point_in_circle_inside ... ok
[INFO] [stdout] test rendering::text::glyph_atlas::tests::test_atlas_no_uv_overlap_for_visible_glyphs ... ok
[INFO] [stdout] test sdk::collision::tests::test_point_in_circle_on_edge ... ok
[INFO] [stdout] test sdk::collision::tests::test_point_in_circle_outside ... ok
[INFO] [stdout] test sdk::collision::tests::test_point_in_rect_inside ... ok
[INFO] [stdout] test sdk::collision::tests::test_point_in_rect_on_edge ... ok
[INFO] [stdout] test sdk::color::tests::test_color_from_hex ... ok
[INFO] [stdout] test sdk::collision::tests::test_point_in_rect_outside ... ok
[INFO] [stdout] test sdk::color::tests::test_color_from_u8 ... ok
[INFO] [stdout] test sdk::color::tests::test_color_lerp ... ok
[INFO] [stdout] test sdk::color::tests::test_color_rgba ... ok
[INFO] [stdout] test sdk::color::tests::test_color_white ... ok
[INFO] [stdout] test sdk::color::tests::test_color_with_alpha ... ok
[INFO] [stdout] test sdk::components::tests::test_component_trait_reexport ... ok
[INFO] [stdout] test sdk::components::tests::test_global_transform2d_reexport ... ok
[INFO] [stdout] test sdk::components::tests::test_hierarchy_reexport ... ok
[INFO] [stdout] test sdk::components::tests::test_rigidbody_reexport ... ok
[INFO] [stdout] test sdk::components::tests::test_transform2d_reexport ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_default_overlay ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_fps_stats_default ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_new_overlay_has_default_stats ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_overlay_corner_default ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_overlay_disabled_by_default ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_rolling_window_eviction ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_set_corner ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_set_enabled ... ok
[INFO] [stdout] test rendering::text::rasterizer::tests::test_rasterize_multiple_chars_preserves_order ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_set_update_interval ... ok
[INFO] [stdout] test sdk::collision::tests::test_aabb_aabb_exact_touch ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_single_frame ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_update_interval_respects_timing ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_zero_delta_time ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_stats_with_known_frame_times ... ok
[INFO] [stdout] test sdk::engine_config::tests::test_engine_config_builder_chain ... ok
[INFO] [stdout] test sdk::debug_overlay::tests::test_stats_computed_after_interval ... ok
[INFO] [stdout] test sdk::engine_config::tests::test_engine_config_custom_providers ... ok
[INFO] [stdout] test sdk::entity::tests::test_ffi_entity_despawn ... ok
[INFO] [stdout] test sdk::entity::tests::test_ffi_entity_despawn_batch ... ok
[INFO] [stdout] test sdk::engine_config::tests::test_engine_config_default ... ok
[INFO] [stdout] test sdk::engine_config::tests::test_engine_config_with_game_config ... ok
[INFO] [stdout] test sdk::entity::tests::test_ffi_entity_spawn_batch ... ok
[INFO] [stdout] test sdk::entity::tests::test_ffi_entity_spawn_empty ... ok
[INFO] [stdout] test sdk::entity::tests::test_ffi_entity_is_alive_batch ... ok
[INFO] [stdout] test sdk::entity_builder::tests::test_entity_builder_basic ... ok
[INFO] [stdout] test sdk::entity_builder::tests::test_entity_builder_entity_access ... ok
[INFO] [stdout] test sdk::entity_builder::tests::test_entity_builder_with_component ... ok
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_process_reloads_partial_invalidation ... ok
[INFO] [stdout] test sdk::entity_builder::tests::test_entity_builder_with_if ... ok
[INFO] [stdout] test sdk::game::tests::test_backward_compat_default ... ok
[INFO] [stdout] test sdk::game::tests::test_backward_compat_new ... ok
[INFO] [stdout] test sdk::entity_builder::tests::test_entity_builder_with_multiple_components ... ok
[INFO] [stdout] test sdk::game::tests::test_game_hud_simultaneous ... ok
[INFO] [stdout] test sdk::game::tests::test_full_game_workflow ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_component_operations ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_debug ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_from_engine_config ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_despawn ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_default ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_run_with_quit ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_from_engine_config_preserves_settings ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_new ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_providers_accessible ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_spawn_empty ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_spawn ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_update_frame ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_spawn_batch ... ok
[INFO] [stdout] test sdk::game::tests::test_inactive_scene_not_updated ... ok
[INFO] [stdout] test sdk::game::tests::test_run_updates_all_active_scenes ... ok
[INFO] [stdout] test sdk::game_config::tests::test_game_config_builder ... ok
[INFO] [stdout] test sdk::game_config::tests::test_game_config_new ... ok
[INFO] [stdout] test sdk::game_config::tests::test_game_config_default ... ok
[INFO] [stdout] test sdk::game::tests::test_goud_game_world_access ... ok
[INFO] [stdout] test sdk::game_config::tests::test_game_context_new ... ok
[INFO] [stdout] test sdk::game_config::tests::test_game_context_quit ... ok
[INFO] [stdout] test sdk::game_config::tests::test_game_context_update ... ok
[INFO] [stdout] test sdk::input::tests::test_action_mapping ... ok
[INFO] [stdout] test sdk::input::tests::test_input_manager_accessible ... ok
[INFO] [stdout] test sdk::input::tests::test_input_manager_mutable ... ok
[INFO] [stdout] test sdk::input::tests::test_key_not_pressed_by_default ... ok
[INFO] [stdout] test sdk::input::tests::test_mouse_delta_default ... ok
[INFO] [stdout] test sdk::input::tests::test_key_press_and_query ... ok
[INFO] [stdout] test sdk::input::tests::test_mouse_button_not_pressed_by_default ... ok
[INFO] [stdout] test sdk::input::tests::test_mouse_position_default ... ok
[INFO] [stdout] test sdk::rendering::tests::test_begin_render_headless ... ok
[INFO] [stdout] test sdk::rendering::tests::test_begin_2d_render_headless ... ok
[INFO] [stdout] test sdk::input::tests::test_scroll_delta_default ... ok
[INFO] [stdout] test sdk::rendering::tests::test_draw_sprites_headless ... ok
[INFO] [stdout] test sdk::rendering::tests::test_end_2d_render_headless ... ok
[INFO] [stdout] test sdk::rendering::tests::test_draw_quad_headless_returns_false ... ok
[INFO] [stdout] test sdk::rendering::tests::test_draw_sprite_headless_returns_false ... ok
[INFO] [stdout] test sdk::rendering::tests::test_has_2d_renderer_headless ... ok
[INFO] [stdout] test sdk::rendering::tests::test_model_matrix_no_rotation ... ok
[INFO] [stdout] test sdk::rendering::tests::test_end_render_headless ... ok
[INFO] [stdout] test sdk::rendering::tests::test_ortho_matrix_identity_like ... ok
[INFO] [stdout] test sdk::rendering::tests::test_render_2d_stats_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_add_light_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_configure_fog_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_configure_grid_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_configure_skybox_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_create_cube_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_destroy_object_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_has_3d_renderer_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_render_3d_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_render_all_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_set_camera_position_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_set_fog_enabled_headless ... ok
[INFO] [stdout] test sdk::rendering_3d::tests::test_set_object_position_headless ... ok
[INFO] [stdout] test sdk::texture::tests::test_texture_load_headless ... ok
[INFO] [stdout] test sdk::texture::tests::test_texture_destroy_headless ... ok
[INFO] [stdout] test sdk::window::tests::test_clear_headless_no_panic ... ok
[INFO] [stdout] test sdk::window::tests::test_get_delta_time_initial ... ok
[INFO] [stdout] test sdk::window::tests::test_get_framebuffer_size_headless ... ok
[INFO] [stdout] test sdk::window::tests::test_get_window_size_headless ... ok
[INFO] [stdout] test sdk::window::tests::test_has_platform_headless ... ok
[INFO] [stdout] test sdk::window::tests::test_poll_events_headless_returns_error ... ok
[INFO] [stdout] test sdk::window::tests::test_set_should_close_headless_returns_error ... ok
[INFO] [stdout] test sdk::window::tests::test_should_close_headless ... ok
[INFO] [stdout] test sdk::window::tests::test_swap_buffers_headless_returns_error ... ok
[INFO] [stdout] test sdk::window::tests::test_window_destroy_invalid_returns_false ... ok
[INFO] [stdout] test ecs::world::tests::insert_tests::insert::test_insert_stress_many_entities ... ok
[INFO] [stdout] test sdk::entity::tests::test_ffi_entity_count ... ok
[INFO] [stdout] test sdk::engine_config::tests::test_engine_config_build_returns_parts ... ok
[INFO] [stdout] test rendering::text::atlas_cache::tests::test_clear_removes_all_entries ... ok
[INFO] [stdout]
[INFO] [stdout] test result: ok. 3700 passed; 0 failed; 75 ignored; 0 measured; 0 filtered out; finished in 0.92s
[INFO] [stdout]
[INFO] [stderr] Running tests/ffi_safety.rs (/opt/rustwide/target/debug/deps/ffi_safety-322dbde0fe03b1c1)
[INFO] [stdout]
[INFO] [stdout] running 51 tests
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_clone_fabricated_entity_returns_invalid ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_despawn_batch_zero_count_returns_zero ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_component_has_fabricated_entity_returns_false ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_is_alive_batch_zero_count_returns_zero ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_is_alive_batch_mixed_results ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_component_get_fabricated_entity_returns_null ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_despawn_fabricated_entity_returns_error ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_rapid_spawn_despawn_cycle ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_is_alive_fabricated_entity_returns_false ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_batch_spawn_then_batch_despawn ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_operations_with_stale_context_id ... ok
[INFO] [stdout] test ffi_safety::invalid_handle_tests::test_entity_count_after_spawn_and_despawn ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_clone_despawned_entity_returns_invalid ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_clone_invalid_entity_returns_invalid ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_clone_recursive_invalid_entity_returns_invalid ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_component_get_mut_after_despawn_returns_null ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_context_double_destroy_returns_false ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_component_get_after_despawn_returns_null ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_context_is_valid_after_destroy_returns_false ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_is_alive_after_despawn_returns_false ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_despawn_with_stale_context_returns_error ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_double_despawn_returns_error ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_component_remove_after_despawn_returns_error ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_transform2d_builder_normal_lifecycle ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_component_has_after_despawn_returns_false ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_animation_clip_builder_free_null_is_noop ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_spawn_with_stale_context_returns_invalid ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_component_get_invalid_context_returns_null ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_sprite_builder_normal_lifecycle ... ok
[INFO] [stdout] test ffi_safety::lifecycle_safety_tests::test_entity_count_with_stale_context_returns_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_component_get_mut_invalid_context_returns_null ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_component_has_invalid_context_returns_false ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_despawn_batch_null_ids_returns_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_entity_count_with_invalid_context_returns_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_despawn_with_invalid_entity_returns_error ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_is_alive_with_invalid_context_returns_false ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_last_error_code_after_clear_is_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_is_alive_batch_null_ids_returns_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_component_remove_invalid_context_returns_error ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_is_alive_batch_null_results_returns_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_despawn_with_invalid_context_returns_error ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_last_error_message_null_buffer_returns_negative_or_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_spawn_batch_null_output_returns_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_spawn_batch_zero_count_returns_zero ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_spawn_empty_with_invalid_context_returns_sentinel ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_sprite_builder_free_null_is_noop ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_transform2d_builder_free_null_is_noop ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_sprite_builder_with_alpha_null_returns_null ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_transform2d_builder_with_position_null_returns_null ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_transform2d_builder_with_rotation_null_returns_null ... ok
[INFO] [stdout] test ffi_safety::null_pointer_tests::test_transform2d_builder_with_scale_null_returns_null ... ok
[INFO] [stdout]
[INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout]
[INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-9d80202400cd8c84)
[INFO] [stdout]
[INFO] [stdout] running 36 tests
[INFO] [stdout] test ecs_integration::test_despawn_entity_and_verify_dead ... ok
[INFO] [stdout] test ecs_integration::test_insert_and_get_component ... ok
[INFO] [stdout] test ecs_integration::test_get_component_on_dead_entity_returns_none ... ok
[INFO] [stdout] test ecs_integration::test_despawn_batch ... ok
[INFO] [stdout] test ecs_integration::test_despawn_already_dead_entity_returns_false ... ok
[INFO] [stdout] test ecs_integration::test_get_mut_updates_component ... ok
[INFO] [stdout] test ecs_integration::test_component_type_count_tracks_registrations ... ok
[INFO] [stdout] test ecs_integration::test_insert_batch_components ... ok
[INFO] [stdout] test ecs_integration::test_insert_replaces_existing_component ... ok
[INFO] [stdout] test ecs_integration::test_remove_component ... ok
[INFO] [stdout] test ecs_integration::test_remove_nonexistent_component_returns_none ... ok
[INFO] [stdout] test ecs_integration::test_spawn_batch_creates_correct_count ... ok
[INFO] [stdout] test ecs_integration::test_has_component ... ok
[INFO] [stdout] test ecs_integration::test_multiple_components_on_same_entity ... ok
[INFO] [stdout] test ecs_integration::test_spawn_entity_and_verify_alive ... ok
[INFO] [stdout] test ecs_integration::test_spawn_multiple_entities_unique_ids ... ok
[INFO] [stdout] test ecs_integration::test_spawn_batch_zero_returns_empty ... ok
[INFO] [stdout] test ecs_integration::test_spawn_builder_with_insert ... ok
[INFO] [stdout] test ecs_integration::test_placeholder_entity_is_not_alive ... ok
[INFO] [stdout] test ecs_integration::test_is_alive_on_never_spawned_entity ... ok
[INFO] [stdout] test ecs_integration::test_system_like_iteration_and_modification ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_despawn_with_invalid_context ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_context_validity_lifecycle ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_invalid_context_id_is_not_valid ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_despawn_batch_and_verify ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_is_alive_with_invalid_context ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_entity_count_spawn_n_despawn_m ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_despawn_invalid_entity_id ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_multiple_entities_all_alive ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_operations_on_destroyed_context ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_full_entity_lifecycle ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_entity_count_after_spawn_and_despawn ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_spawn_batch_and_verify ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_entity_count_with_invalid_context ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_spawn_with_invalid_context ... ok
[INFO] [stdout] test ffi_cross_layer::test_ffi_two_contexts_do_not_share_entities ... ok
[INFO] [stdout]
[INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout]
[INFO] [stderr] Running tests/test_goud_api_macro.rs (/opt/rustwide/target/debug/deps/test_goud_api_macro-268b8a2407844b6f)
[INFO] [stdout]
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_macro_generates_static_ffi_function ... ok
[INFO] [stdout] test test_macro_generates_ffi_with_params ... ok
[INFO] [stdout]
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout]
[INFO] [stderr] Doc-tests goud_engine
[INFO] [stdout]
[INFO] [stdout] running 644 tests
[INFO] [stdout] test src/assets/asset/asset_id.rs - assets::asset::asset_id::AssetId::type_id (line 80) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState (line 24) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_id.rs - assets::asset::asset_id::AssetId (line 18) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_info.rs - assets::asset::asset_info::AssetInfo (line 15) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_info.rs - assets::asset::asset_info::AssetInfo::of (line 69) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState::error (line 140) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_id.rs - assets::asset::asset_id::AssetId::of (line 46) has been running for over 60 seconds
[INFO] [stdout] test src/assets/asset/asset_id.rs - assets::asset::asset_id::AssetId::of_raw (line 66) has been running for over 60 seconds
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState::discriminant (line 160) has been running for over 60 seconds
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState::is_failed (line 101) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_id.rs - assets::asset::asset_id::AssetId::of_raw (line 66) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState::progress (line 118) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState::is_ready (line 71) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState::is_loading (line 86) has been running for over 60 seconds
[INFO] [stdout] test src/assets/asset/asset_type.rs - assets::asset::asset_type::AssetType::all (line 81) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_id.rs - assets::asset::asset_id::AssetId::of (line 46) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_type.rs - assets::asset::asset_type::AssetType::is_gpu_asset (line 117) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_type.rs - assets::asset::asset_type::AssetType (line 19) has been running for over 60 seconds
[INFO] [stdout] test src/assets/asset/asset_type.rs - assets::asset::asset_type::AssetType::is_streamable (line 139) ... FAILED
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState::discriminant (line 160) ... ok
[INFO] [stdout] test src/assets/asset/asset_type.rs - assets::asset::asset_type::AssetType (line 19) ... ok
[INFO] [stdout] test src/assets/audio_manager/controls.rs - assets::audio_manager::controls::AudioManager::global_volume (line 10) - compile ... ok
[INFO] [stdout] test src/assets/audio_manager/controls.rs - assets::audio_manager::controls::AudioManager::set_global_volume (line 31) - compile ... ok
[INFO] [stdout] test src/assets/asset/asset_state.rs - assets::asset::asset_state::AssetState::is_loading (line 86) ... ok
[INFO] [stdout] test src/assets/audio_manager/mod.rs - assets::audio_manager (line 17) - compile ... ok
[INFO] [stdout] test src/assets/audio_manager/mod.rs - assets::audio_manager::AudioManager (line 58) - compile ... ok
[INFO] [stdout] test src/assets/asset/asset_type.rs - assets::asset::asset_type::AssetType::name (line 154) ... ok
[INFO] [stdout] test src/assets/audio_manager/mod.rs - assets::audio_manager::AudioManager::new (line 96) - compile ... ok
[INFO] [stdout] test src/assets/audio_manager/spatial_playback.rs - assets::audio_manager::spatial_playback::AudioManager::update_spatial_volume (line 75) - compile ... ok
[INFO] [stdout] test src/assets/audio_manager/spatial_playback.rs - assets::audio_manager::spatial_playback::AudioManager::play_spatial (line 29) - compile ... ok
[INFO] [stdout] test src/assets/asset/mod.rs - assets::asset (line 17) ... ok
[INFO] [stdout] test src/assets/asset/trait_def.rs - assets::asset::trait_def::Asset::asset_type (line 101) ... ok
[INFO] [stdout] test src/assets/asset/trait_def.rs - assets::asset::trait_def::Asset::asset_type_name (line 67) ... ok
[INFO] [stdout] test src/assets/asset/trait_def.rs - assets::asset::trait_def::Asset (line 26) ... ok
[INFO] [stdout] test src/assets/asset/trait_def.rs - assets::asset::trait_def::Asset::extensions (line 128) ... ok
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::allocate (line 125) ... ok
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::clear (line 293) ... ok
[INFO] [stdout] test src/assets/dependency/graph.rs - assets::dependency::graph::DependencyGraph (line 49) ... ok
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator (line 27) ... ok
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::deallocate (line 172) ... FAILED
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::len (line 252) ... FAILED
[INFO] [stdout] test src/assets/handle/mod.rs - assets::handle (line 27) ... FAILED
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::is_alive (line 224) has been running for over 60 seconds
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::new (line 67) has been running for over 60 seconds
[INFO] [stdout] test src/assets/handle/load_state.rs - assets::handle::load_state::HandleLoadState (line 18) ... FAILED
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::with_capacity (line 93) has been running for over 60 seconds
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath (line 32) has been running for over 60 seconds
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::extension (line 128) ... FAILED
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::directory (line 152) has been running for over 60 seconds
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::directory (line 152) ... FAILED
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::new (line 67) ... ok
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::with_capacity (line 93) ... ok
[INFO] [stdout] test src/assets/handle/allocator.rs - assets::handle::allocator::AssetHandleAllocator::is_alive (line 224) ... ok
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::from_path (line 211) ... ok
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::file_name (line 109) ... ok
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath (line 32) ... ok
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::from_string (line 74) ... ok
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::join (line 229) ... ok
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::new (line 57) ... ok
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::with_extension (line 258) ... ok
[INFO] [stdout] test src/assets/handle/path.rs - assets::handle::path::AssetPath<'a>::stem (line 172) ... ok
[INFO] [stdout] test src/assets/handle/typed.rs - assets::handle::typed::AssetHandle (line 46) ... ok
[INFO] [stdout] test src/assets/handle/typed.rs - assets::handle::typed::AssetHandle::INVALID (line 82) ... FAILED
[INFO] [stdout] test src/assets/handle/typed.rs - assets::handle::typed::AssetHandle::untyped (line 176) ... FAILED
[INFO] [stdout] test src/assets/hot_reload/mod.rs - assets::hot_reload (line 27) - compile ... ok
[INFO] [stdout] test src/assets/hot_reload/watcher.rs - assets::hot_reload::watcher::HotReloadWatcher (line 29) - compile ... ok
[INFO] [stdout] test src/assets/hot_reload/watcher.rs - assets::hot_reload::watcher::HotReloadWatcher::new (line 78) - compile ... ok
[INFO] [stdout] test src/assets/hot_reload/watcher.rs - assets::hot_reload::watcher::HotReloadWatcher::process_events (line 202) - compile ... ok
[INFO] [stdout] test src/assets/hot_reload/watcher.rs - assets::hot_reload::watcher::HotReloadWatcher::watch (line 137) - compile ... ok
[INFO] [stdout] test src/assets/handle/untyped.rs - assets::handle::untyped::UntypedAssetHandle::is_type (line 209) ... FAILED
[INFO] [stdout] test src/assets/loader/traits.rs - assets::loader::traits::AssetLoader (line 19) ... ignored
[INFO] [stdout] test src/assets/handle/untyped.rs - assets::handle::untyped::UntypedAssetHandle::typed (line 150) ... FAILED
[INFO] [stdout] test src/assets/loaders/animation/loader.rs - assets::loaders::animation::loader::AnimationLoader (line 16) - compile ... ok
[INFO] [stdout] test src/assets/handle/typed.rs - assets::handle::typed::WeakAssetHandle (line 333) ... FAILED
[INFO] [stdout] test src/assets/handle/typed.rs - assets::handle::typed::AssetHandle::is_valid (line 153) ... ok
[INFO] [stdout] test src/assets/handle/typed.rs - assets::handle::typed::AssetHandle::new (line 110) ... ok
[INFO] [stdout] test src/assets/handle/untyped.rs - assets::handle::untyped::UntypedAssetHandle (line 36) ... ok
[INFO] [stdout] test src/assets/loaders/audio/loader.rs - assets::loaders::audio::loader::AudioLoader (line 27) - compile ... ok
[INFO] [stdout] test src/assets/loaders/config/loader.rs - assets::loaders::config::loader::ConfigLoader (line 14) - compile ... ok
[INFO] [stdout] test src/assets/loaders/config/mod.rs - assets::loaders::config (line 9) - compile ... ok
[INFO] [stdout] test src/assets/loaders/animation/asset.rs - assets::loaders::animation::asset::KeyframeAnimation (line 15) ... FAILED
[INFO] [stdout] test src/assets/loaders/font/loader.rs - assets::loaders::font::loader::FontLoader (line 17) - compile ... ok
[INFO] [stdout] test src/assets/loaders/audio/asset.rs - assets::loaders::audio::asset::AudioAsset::empty (line 41) ... FAILED
[INFO] [stdout] test src/assets/loaders/material/loader.rs - assets::loaders::material::loader::MaterialLoader (line 46) - compile ... ok
[INFO] [stdout] test src/assets/loaders/material/mod.rs - assets::loaders::material (line 9) - compile ... ok
[INFO] [stdout] test src/assets/handle/untyped.rs - assets::handle::untyped::UntypedAssetHandle::typed_unchecked (line 187) has been running for over 60 seconds
[INFO] [stdout] test src/assets/loaders/config/asset.rs - assets::loaders::config::asset::ConfigAsset::deserialize (line 69) ... FAILED
[INFO] [stdout] test src/assets/handle/untyped.rs - assets::handle::untyped::UntypedAssetHandle::typed_unchecked (line 187) ... ok
[INFO] [stdout] test src/assets/loaders/mesh/loader.rs - assets::loaders::mesh::loader::MeshLoader (line 37) - compile ... ok
[INFO] [stdout] test src/assets/loaders/mesh/mod.rs - assets::loaders::mesh (line 8) - compile ... ok
[INFO] [stdout] test src/assets/loader/mod.rs - assets::loader::context (line 19) has been running for over 60 seconds
[INFO] [stdout] test src/assets/loaders/audio/asset.rs - assets::loaders::audio::asset::AudioAsset (line 15) has been running for over 60 seconds
[INFO] [stdout] test src/assets/loaders/config/asset.rs - assets::loaders::config::asset::ConfigAsset (line 20) ... FAILED
[INFO] [stdout] test src/assets/loaders/shader/mod.rs - assets::loaders::shader (line 8) - compile ... ok
[INFO] [stdout] test src/assets/loaders/audio/asset.rs - assets::loaders::audio::asset::AudioAsset (line 15) ... FAILED
[INFO] [stdout] test src/assets/loaders/font/asset.rs - assets::loaders::font::asset::FontAsset (line 44) has been running for over 60 seconds
[INFO] [stdout] test src/assets/loader/mod.rs - assets::loader::context (line 19) ... FAILED
[INFO] [stdout] test src/assets/loaders/material/asset.rs - assets::loaders::material::asset::MaterialAsset (line 16) has been running for over 60 seconds
[INFO] [stdout] test src/assets/loaders/mesh/asset.rs - assets::loaders::mesh::asset::MeshAsset (line 45) ... FAILED
[INFO] [stdout] test src/assets/loaders/texture/loader.rs - assets::loaders::texture::loader::TextureLoader (line 16) - compile ... ok
[INFO] [stdout] test src/assets/loaders/material/uniform.rs - assets::loaders::material::uniform::UniformValue (line 12) has been running for over 60 seconds
[INFO] [stdout] test src/assets/loaders/texture/mod.rs - assets::loaders::texture::asset (line 8) - compile ... ok
[INFO] [stdout] test src/assets/loaders/shader/asset.rs - assets::loaders::shader::asset::ShaderAsset (line 112) ... FAILED
[INFO] [stdout] test src/assets/loaders/tiled_map/mod.rs - assets::loaders::tiled_map (line 10) - compile ... ok
[INFO] [stdout] test src/assets/server/async_operations.rs - assets::server::async_operations::AssetServer::load_async (line 35) ... ignored
[INFO] [stdout] test src/assets/loaders/material/uniform.rs - assets::loaders::material::uniform::UniformValue (line 12) ... FAILED
[INFO] [stdout] test src/assets/loaders/texture/asset.rs - assets::loaders::texture::asset::TextureAsset::new (line 65) ... FAILED
[INFO] [stdout] test src/assets/mod.rs - assets (line 46) ... FAILED
[INFO] [stdout] test src/assets/loaders/texture/asset.rs - assets::loaders::texture::asset::TextureAsset (line 21) has been running for over 60 seconds
[INFO] [stdout] test src/assets/loaders/texture/asset.rs - assets::loaders::texture::asset::TextureAsset::get_pixel (line 128) ... FAILED
[INFO] [stdout] test src/assets/server/core.rs - assets::server::core::AssetServer (line 48) ... FAILED
[INFO] [stdout] test src/assets/server/loader_registry.rs - assets::server::loader_registry::AssetServer::register_loader (line 18) - compile ... ok
[INFO] [stdout] test src/assets/server/core.rs - assets::server::core::AssetServer::asset_root (line 140) ... FAILED
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::create_hot_reload_watcher (line 428) - compile ... ok
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::create_hot_reload_watcher_with_config (line 453) - compile ... ok
[INFO] [stdout] test src/assets/server/core.rs - assets::server::core::AssetServer::with_root (line 112) ... FAILED
[INFO] [stdout] test src/assets/server/loader_registry.rs - assets::server::loader_registry::AssetServer::has_loader_for_extension (line 90) ... FAILED
[INFO] [stdout] test src/assets/server/core.rs - assets::server::core::AssetServer::new (line 95) has been running for over 60 seconds
[INFO] [stdout] test src/assets/server/core.rs - assets::server::core::AssetServer::new (line 95) ... FAILED
[INFO] [stdout] test src/assets/server/mod.rs - assets::server (line 26) has been running for over 60 seconds
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::get (line 172) has been running for over 60 seconds
[INFO] [stdout] test src/assets/server/mod.rs - assets::server (line 26) ... FAILED
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::is_loaded (line 202) has been running for over 60 seconds
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::get (line 172) ... FAILED
[INFO] [stdout] test src/assets/loaders/texture/asset.rs - assets::loaders::texture::asset::TextureAsset (line 21) ... FAILED
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::load_from_bytes (line 105) has been running for over 60 seconds
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::loaded_count (line 367) has been running for over 60 seconds
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::load_from_bytes (line 105) ... FAILED
[INFO] [stdout] test src/assets/loaders/font/asset.rs - assets::loaders::font::asset::FontAsset (line 44) ... FAILED
[INFO] [stdout] test src/assets/storage/container.rs - assets::storage::container::AssetStorage (line 25) ... FAILED
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::unload (line 236) has been running for over 60 seconds
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::unload (line 236) ... FAILED
[INFO] [stdout] test src/assets/storage/entry.rs - assets::storage::entry::AssetEntry (line 16) has been running for over 60 seconds
[INFO] [stdout] test src/assets/storage/mod.rs - assets::storage (line 37) ... FAILED
[INFO] [stdout] test src/context_registry/scene/loading.rs - context_registry::scene::loading::DeferredSceneLoad (line 126) ... ignored
[INFO] [stdout] test src/assets/storage/entry.rs - assets::storage::entry::AssetEntry (line 16) ... FAILED
[INFO] [stdout] test src/assets/storage/typed.rs - assets::storage::typed::TypedAssetStorage (line 27) has been running for over 60 seconds
[INFO] [stdout] test src/assets/storage/typed.rs - assets::storage::typed::TypedAssetStorage::remove (line 202) ... FAILED
[INFO] [stdout] test src/assets/storage/typed.rs - assets::storage::typed::TypedAssetStorage::insert (line 84) ... FAILED
[INFO] [stdout] test src/assets/storage/typed.rs - assets::storage::typed::TypedAssetStorage (line 27) ... FAILED
[INFO] [stdout] test src/assets/loaders/material/asset.rs - assets::loaders::material::asset::MaterialAsset (line 16) ... ok
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::loaded_count (line 367) ... ok
[INFO] [stdout] test src/assets/server/operations.rs - assets::server::operations::AssetServer::is_loaded (line 202) ... ok
[INFO] [stdout] test src/core/error/codes.rs - core::error::codes::error_category (line 247) ... ok
[INFO] [stdout] test src/core/error/context.rs - core::error::context::GoudErrorContext::new (line 24) ... ok
[INFO] [stdout] test src/core/error/conversions.rs - core::error::conversions::GoudError::fmt (line 19) ... ok
[INFO] [stdout] test src/core/error/conversions.rs - core::error::conversions::GoudError::from (line 107) ... ok
[INFO] [stdout] test src/core/error/conversions.rs - core::error::conversions::GoudError::from (line 62) ... ok
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::GoudFFIResult::from_code (line 287) ... ok
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::GoudFFIResult (line 242) ... ok
[INFO] [stdout] test src/core/error/conversions.rs - core::error::conversions::GoudError::from (line 89) ... ok
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::GoudFFIResult::success (line 268) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::GoudFFIResult::from_result (line 331) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::last_error_code (line 143) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::GoudFFIResult::from_error (line 308) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::set_last_error (line 51) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::take_last_error (line 95) ... FAILED
[INFO] [stdout] test src/core/error/methods.rs - core::error::methods::GoudError::error_code (line 15) ... FAILED
[INFO] [stdout] test src/core/error/methods.rs - core::error::methods::GoudError::message (line 102) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::get_last_error (line 121) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::last_error_message (line 172) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::clear_last_error (line 194) has been running for over 60 seconds
[INFO] [stdout] test src/core/error/methods.rs - core::error::methods::GoudError::category (line 85) has been running for over 60 seconds
[INFO] [stdout] test src/core/error/mod.rs - core::error::GoudResult (line 78) ... FAILED
[INFO] [stdout] test src/core/error/types.rs - core::error::types::GoudError (line 30) ... FAILED
[INFO] [stdout] test src/core/error/recovery.rs - core::error::recovery::recovery_class (line 35) has been running for over 60 seconds
[INFO] [stdout] test src/core/error/reverse_mapping.rs - core::error::reverse_mapping::GoudError::from_error_code (line 27) ... FAILED
[INFO] [stdout] test src/core/error/ffi_bridge.rs - core::error::ffi_bridge::clear_last_error (line 194) ... ok
[INFO] [stdout] test src/core/error/recovery.rs - core::error::recovery::recovery_hint (line 67) has been running for over 60 seconds
[INFO] [stdout] test src/core/error/recovery.rs - core::error::recovery::recovery_hint (line 67) ... FAILED
[INFO] [stdout] test src/core/error/methods.rs - core::error::methods::GoudError::category (line 85) ... ok
[INFO] [stdout] test src/core/event/mod.rs - core::event (line 20) has been running for over 60 seconds
[INFO] [stdout] test src/core/event/mod.rs - core::event (line 20) ... FAILED
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::clear (line 176) ... FAILED
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::is_empty (line 203) ... FAILED
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue (line 32) has been running for over 60 seconds
[INFO] [stdout] test src/core/error/recovery.rs - core::error::recovery::recovery_class (line 35) ... FAILED
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::new (line 74) ... FAILED
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::drain (line 118) has been running for over 60 seconds
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::read_len (line 249) ... FAILED
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::len (line 226) has been running for over 60 seconds
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::send (line 96) ... FAILED
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::swap_buffers (line 146) ... FAILED
[INFO] [stdout] test src/core/event/reader.rs - core::event::reader::EventReader (line 25) ... FAILED
[INFO] [stdout] test src/core/event/queue.rs - core::event::queue::EventQueue::drain (line 118) ... FAILED
[INFO] [stdout] test src/core/event/reader.rs - core::event::reader::EventReader<'a,E>::clear (line 170) ... FAILED
[INFO] [stdout] test src/core/event/reader.rs - core::event::reader::EventReader<'a,E>::is_empty (line 115) ... FAILED
[INFO] [stdout] test src/core/event/reader.rs - core::event::reader::EventReader<'a,E>::len (line 140) ... FAILED
[INFO] [stdout] test src/core/event/reader.rs - core::event::reader::EventReader<'a,E>::read (line 86) ... FAILED
[ERROR] error running command: command timed out after 900 seconds
[INFO] running `Command { std: "docker" "inspect" "0e25abf4361f166e8663ecfc8a32cb88efe7d8c6041b896dd85fb156ed09207e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0e25abf4361f166e8663ecfc8a32cb88efe7d8c6041b896dd85fb156ed09207e", kill_on_drop: false }`
[INFO] [stdout] 0e25abf4361f166e8663ecfc8a32cb88efe7d8c6041b896dd85fb156ed09207e