[INFO] cloning repository https://github.com/dougwithseismic/headless-game-engine-for-rl-training
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dougwithseismic/headless-game-engine-for-rl-training" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdougwithseismic%2Fheadless-game-engine-for-rl-training", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdougwithseismic%2Fheadless-game-engine-for-rl-training'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4d1120bb979faaf99bbfa661641b6edb76389979
[INFO] testing dougwithseismic/headless-game-engine-for-rl-training against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdougwithseismic%2Fheadless-game-engine-for-rl-training" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dougwithseismic/headless-game-engine-for-rl-training
[INFO] finished tweaking git repo https://github.com/dougwithseismic/headless-game-engine-for-rl-training
[INFO] tweaked toml for git repo https://github.com/dougwithseismic/headless-game-engine-for-rl-training written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dougwithseismic/headless-game-engine-for-rl-training on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dougwithseismic/headless-game-engine-for-rl-training already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pyo3-macros v0.25.1
[INFO] [stderr]   Downloaded pyo3-build-config v0.25.1
[INFO] [stderr]   Downloaded unindent v0.2.4
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.25.1
[INFO] [stderr]   Downloaded ena v0.14.4
[INFO] [stderr]   Downloaded target-lexicon v0.13.5
[INFO] [stderr]   Downloaded bevy_utils v0.16.1
[INFO] [stderr]   Downloaded bevy_platform v0.16.1
[INFO] [stderr]   Downloaded bevy_macro_utils v0.16.1
[INFO] [stderr]   Downloaded http-range-header v0.4.2
[INFO] [stderr]   Downloaded simba v0.9.1
[INFO] [stderr]   Downloaded bevy_tasks v0.16.1
[INFO] [stderr]   Downloaded bevy_ptr v0.16.1
[INFO] [stderr]   Downloaded bevy_ecs_macros v0.16.1
[INFO] [stderr]   Downloaded tokio-tungstenite v0.29.0
[INFO] [stderr]   Downloaded pyo3-ffi v0.25.1
[INFO] [stderr]   Downloaded bevy_reflect_derive v0.16.1
[INFO] [stderr]   Downloaded wide v0.7.33
[INFO] [stderr]   Downloaded wgpu-types v24.0.0
[INFO] [stderr]   Downloaded tungstenite v0.29.0
[INFO] [stderr]   Downloaded bevy_reflect v0.16.1
[INFO] [stderr]   Downloaded axum v0.8.9
[INFO] [stderr]   Downloaded rapier3d v0.22.0
[INFO] [stderr]   Downloaded parry3d v0.17.6
[INFO] [stderr]   Downloaded rapier2d v0.22.0
[INFO] [stderr]   Downloaded parry2d v0.17.6
[INFO] [stderr]   Downloaded nalgebra v0.33.3
[INFO] [stderr]   Downloaded spade v2.15.1
[INFO] [stderr]   Downloaded glam v0.29.3
[INFO] [stderr]   Downloaded bevy_ecs v0.16.1
[INFO] [stderr]   Downloaded tokio v1.52.2
[INFO] [stderr]   Downloaded pyo3 v0.25.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d
[INFO] running `Command { std: "docker" "start" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling robust v1.2.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling hash32 v0.3.1
[INFO] [stderr]    Compiling ena v0.14.4
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling async-task v4.7.1
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling bit-vec v0.7.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling spade v2.15.1
[INFO] [stderr]    Compiling ordered-float v4.6.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling async-executor v1.14.0
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling rstar v0.12.2
[INFO] [stderr]    Compiling disqualified v1.0.0
[INFO] [stderr]    Compiling downcast-rs v2.0.2
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling bevy_ptr v0.16.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling nonmax v0.5.5
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rmp v0.8.15
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling bevy_macro_utils v0.16.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling variadics_please v1.1.0
[INFO] [stderr]    Compiling assert_type_match v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling bevy_reflect_derive v0.16.1
[INFO] [stderr]    Compiling bevy_ecs_macros v0.16.1
[INFO] [stderr]    Compiling tokio v1.52.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling nalgebra v0.33.3
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling glam v0.29.3
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling rmp-serde v1.3.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling bevy_platform v0.16.1
[INFO] [stderr]    Compiling bevy_utils v0.16.1
[INFO] [stderr]    Compiling bevy_tasks v0.16.1
[INFO] [stderr]    Compiling bevy_reflect v0.16.1
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-tungstenite v0.29.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling bevy_ecs v0.16.1
[INFO] [stderr]    Compiling parry3d v0.17.6
[INFO] [stderr]    Compiling parry2d v0.17.6
[INFO] [stderr]    Compiling rapier2d v0.22.0
[INFO] [stderr]    Compiling rapier3d v0.22.0
[INFO] [stderr]    Compiling ghostlobby-engine v0.1.0 (/opt/rustwide/workdir/crates/engine)
[INFO] [stdout] warning: unused variable: `bomb_time`
[INFO] [stdout]    --> crates/engine/src/scenarios/cs_lite.rs:822:21
[INFO] [stdout]     |
[INFO] [stdout] 822 |                 let bomb_time = 40.0 * config.arena_width.max(1.0) / config.arena_width; // 40s * tick_rate
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bomb_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plant_time`
[INFO] [stdout]     --> crates/engine/src/scenarios/cs_lite.rs:1853:9
[INFO] [stdout]      |
[INFO] [stdout] 1853 |     let plant_time = 3.0;
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_plant_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defuse_time`
[INFO] [stdout]     --> crates/engine/src/scenarios/cs_lite.rs:1854:9
[INFO] [stdout]      |
[INFO] [stdout] 1854 |     let defuse_time = 5.0;
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defuse_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ghostlobby-telemetry v0.1.0 (/opt/rustwide/workdir/crates/telemetry)
[INFO] [stderr]    Compiling ghostlobby-server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 56s
[INFO] running `Command { std: "docker" "inspect" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: unused variable: `bomb_time`
[INFO] [stdout]    --> crates/engine/src/scenarios/cs_lite.rs:822:21
[INFO] [stdout]     |
[INFO] [stdout] 822 |                 let bomb_time = 40.0 * config.arena_width.max(1.0) / config.arena_width; // 40s * tick_rate
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bomb_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plant_time`
[INFO] [stdout]     --> crates/engine/src/scenarios/cs_lite.rs:1853:9
[INFO] [stdout]      |
[INFO] [stdout] 1853 |     let plant_time = 3.0;
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_plant_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defuse_time`
[INFO] [stdout]     --> crates/engine/src/scenarios/cs_lite.rs:1854:9
[INFO] [stdout]      |
[INFO] [stdout] 1854 |     let defuse_time = 5.0;
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defuse_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ghostlobby-engine v0.1.0 (/opt/rustwide/workdir/crates/engine)
[INFO] [stderr]    Compiling ghostlobby-telemetry v0.1.0 (/opt/rustwide/workdir/crates/telemetry)
[INFO] [stderr]    Compiling ghostlobby-server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stdout] warning: unused variable: `bomb_time`
[INFO] [stdout]    --> crates/engine/src/scenarios/cs_lite.rs:822:21
[INFO] [stdout]     |
[INFO] [stdout] 822 |                 let bomb_time = 40.0 * config.arena_width.max(1.0) / config.arena_width; // 40s * tick_rate
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bomb_time`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `plant_time`
[INFO] [stdout]     --> crates/engine/src/scenarios/cs_lite.rs:1853:9
[INFO] [stdout]      |
[INFO] [stdout] 1853 |     let plant_time = 3.0;
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_plant_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `defuse_time`
[INFO] [stdout]     --> crates/engine/src/scenarios/cs_lite.rs:1854:9
[INFO] [stdout]      |
[INFO] [stdout] 1854 |     let defuse_time = 5.0;
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defuse_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 11.26s
[INFO] running `Command { std: "docker" "inspect" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `bomb_time`
[INFO] [stderr]    --> crates/engine/src/scenarios/cs_lite.rs:822:21
[INFO] [stderr]     |
[INFO] [stderr] 822 |                 let bomb_time = 40.0 * config.arena_width.max(1.0) / config.arena_width; // 40s * tick_rate
[INFO] [stderr]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bomb_time`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `plant_time`
[INFO] [stderr]     --> crates/engine/src/scenarios/cs_lite.rs:1853:9
[INFO] [stderr]      |
[INFO] [stderr] 1853 |     let plant_time = 3.0;
[INFO] [stderr]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_plant_time`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `defuse_time`
[INFO] [stderr]     --> crates/engine/src/scenarios/cs_lite.rs:1854:9
[INFO] [stderr]      |
[INFO] [stderr] 1854 |     let defuse_time = 5.0;
[INFO] [stderr]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defuse_time`
[INFO] [stderr] 
[INFO] [stderr] warning: `ghostlobby-engine` (lib) generated 3 warnings (run `cargo fix --lib -p ghostlobby-engine` to apply 3 suggestions)
[INFO] [stderr] warning: `ghostlobby-engine` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ghostlobby_engine-b5104a83f0fcb173)
[INFO] [stdout] 
[INFO] [stdout] running 251 tests
[INFO] [stdout] test action_space::tests::action_space_def_new_mixed_heads ... ok
[INFO] [stdout] test action_space::tests::action_mask_buffer_set_get_clear ... ok
[INFO] [stdout] test action_space::tests::extract_head_returns_correct_slices ... ok
[INFO] [stdout] test action_space::tests::action_head_name ... ok
[INFO] [stdout] test action_space::tests::fps_action_space ... ok
[INFO] [stdout] test action_space::tests::action_head_flat_size ... ok
[INFO] [stdout] test action_space::tests::head_layout_offsets_and_sizes ... ok
[INFO] [stdout] test action_space::tests::racing_action_space ... ok
[INFO] [stdout] test actions::tests::action_fn_serializes_to_json ... ok
[INFO] [stdout] test actions::tests::arg_type_serializes_to_json ... ok
[INFO] [stdout] test actions::tests::flat_size_computes_correctly_for_mixed_arg_types ... ok
[INFO] [stdout] test actions::tests::flat_translator_input_size_matches_flat_size ... ok
[INFO] [stdout] test actions::tests::flat_translator_pads_short_input ... ok
[INFO] [stdout] test actions::tests::flat_translator_passes_through_unchanged ... ok
[INFO] [stdout] test actions::tests::flat_translator_truncates_long_input ... ok
[INFO] [stdout] test actions::tests::from_legacy_converts_action_space_def_correctly ... ok
[INFO] [stdout] test actions::tests::function_call_translator_decodes_first_function ... ok
[INFO] [stdout] test actions::tests::function_call_translator_decodes_last_function ... ok
[INFO] [stdout] test actions::tests::function_call_translator_decodes_second_function ... ok
[INFO] [stdout] test actions::tests::function_call_translator_handles_empty_space ... ok
[INFO] [stdout] test actions::tests::function_call_translator_input_size ... ok
[INFO] [stdout] test actions::tests::num_functions_returns_count ... ok
[INFO] [stdout] test config::tests::step_mul_defaults_to_none_when_absent ... ok
[INFO] [stdout] test config::tests::step_mul_deserializes_when_present ... ok
[INFO] [stdout] test actions::tests::action_space_serializes_to_json ... ok
[INFO] [stdout] test converters::dict::tests::dict_converter_empty_extractors ... ok
[INFO] [stdout] test converters::dict::tests::dict_converter_output_features_mirrors_extractors ... ok
[INFO] [stdout] test config::tests::step_mul_serializes_roundtrip ... ok
[INFO] [stdout] test converters::spatial::tests::spatial_converter_empty_extractors ... ok
[INFO] [stdout] test config::tests::step_mul_deserializes_as_one ... ok
[INFO] [stdout] test converters::spatial::tests::spatial_converter_name ... ok
[INFO] [stdout] test converters::dict::tests::dict_converter_name ... ok
[INFO] [stdout] test converters::flat::tests::flat_converter_concatenates_in_extractor_order ... ok
[INFO] [stdout] test converters::spatial::tests::spatial_converter_vector_only ... ok
[INFO] [stdout] test converters::spatial::tests::spatial_converter_separates_by_shape_type ... ok
[INFO] [stdout] test converters::flat::tests::flat_converter_handles_missing_buffer_with_zeros ... ok
[INFO] [stdout] test features::extractors::action_mask::tests::mask_longer_than_size_truncates ... ok
[INFO] [stdout] test converters::flat::tests::flat_converter_name ... ok
[INFO] [stdout] test converters::spatial::tests::spatial_converter_no_vectors ... ok
[INFO] [stdout] test converters::spatial::tests::spatial_converter_convert_groups_vectors ... ok
[INFO] [stdout] test converters::flat::tests::flat_converter_output_features_single_obs ... ok
[INFO] [stdout] test features::extractors::action_mask::tests::mask_shorter_than_size_pads_zeros ... ok
[INFO] [stdout] test features::extractors::action_mask::tests::no_mask_returns_all_ones ... ok
[INFO] [stdout] test action_space::tests::raw_action_buffer_insert_get_clear ... ok
[INFO] [stdout] test converters::flat::tests::flat_converter_empty_extractors ... ok
[INFO] [stdout] test features::extractors::action_mask::tests::no_mask_resource_returns_all_ones ... ok
[INFO] [stdout] test converters::dict::tests::dict_converter_passthrough ... ok
[INFO] [stdout] test features::extractors::action_mask::tests::shape_and_name ... ok
[INFO] [stdout] test features::extractors::custom::tests::custom_extractor_calls_closure ... ok
[INFO] [stdout] test features::extractors::custom::tests::custom_extractor_spatial_shape ... ok
[INFO] [stdout] test features::extractors::custom::tests::custom_extractor_reads_world ... ok
[INFO] [stdout] test features::extractors::entity_list::tests::shape_and_name ... ok
[INFO] [stdout] test features::extractors::action_mask::tests::reads_mask_from_buffer ... ok
[INFO] [stdout] test features::extractors::self_state::tests::dead_agent_returns_zero_alive ... ok
[INFO] [stdout] test features::extractors::entity_list::tests::zero_pads_when_fewer_than_max ... ok
[INFO] [stdout] test features::extractors::self_state::tests::extracts_full_agent_state ... ok
[INFO] [stdout] test features::extractors::custom::tests::custom_extractor_with_dtype ... ok
[INFO] [stdout] test features::extractors::entity_list::tests::dead_agent_shows_zero_alive ... ok
[INFO] [stdout] test features::extractors::entity_list::tests::no_position_on_observer_returns_zeros ... ok
[INFO] [stdout] test features::extractors::entity_list::tests::extracts_other_agents_relative_to_observer ... ok
[INFO] [stdout] test features::extractors::entity_list::tests::same_team_detected ... ok
[INFO] [stdout] test features::extractors::self_state::tests::shape_and_name ... ok
[INFO] [stdout] test features::tests::default_dtype_is_f32 ... ok
[INFO] [stdout] test features::extractors::self_state::tests::no_world_bounds_uses_raw_position ... ok
[INFO] [stdout] test features::tests::extractor_set_add_increments_count ... ok
[INFO] [stdout] test features::tests::extractor_set_new_is_empty ... ok
[INFO] [stdout] test features::tests::extractor_set_default_is_empty ... ok
[INFO] [stdout] test features::tests::extractor_set_observation_space_def ... ok
[INFO] [stdout] test features::extractors::self_state::tests::zero_max_speed_uses_raw_velocity ... ok
[INFO] [stdout] test features::extractors::entity_list::tests::sorted_by_distance_nearest_first ... ok
[INFO] [stdout] test features::tests::obs_shape_entity_list_flat_size ... ok
[INFO] [stdout] test features::tests::extractor_set_observe_zero_initializes_buffer ... ok
[INFO] [stdout] test features::tests::extractor_set_add_boxed ... ok
[INFO] [stdout] test features::extractors::self_state::tests::missing_components_return_zeros ... ok
[INFO] [stdout] test features::tests::extractor_set_extractors_returns_slice ... ok
[INFO] [stdout] test features::tests::extractor_set_total_flat_size ... ok
[INFO] [stdout] test features::tests::obs_shape_serialize ... ok
[INFO] [stdout] test features::tests::obs_shape_spatial_flat_size ... ok
[INFO] [stdout] test features::tests::obs_shape_to_shape_vec ... ok
[INFO] [stdout] test features::tests::obs_shape_vector_flat_size ... ok
[INFO] [stdout] test game_def::tests::can_opt_out_of_physics ... ok
[INFO] [stdout] test game_def::tests::can_set_turn_based_mode ... ok
[INFO] [stdout] test game_def::tests::default_needs_physics_is_true ... ok
[INFO] [stdout] test game_def::tests::default_tick_mode_is_realtime ... ok
[INFO] [stdout] test game_def::tests::default_is_done_returns_false ... ok
[INFO] [stdout] test features::tests::extractor_set_observation_space_def_entity_list ... ok
[INFO] [stdout] test game_def::tests::game_tick_mode_default_is_realtime ... ok
[INFO] [stdout] test features::tests::extractor_set_observe_returns_named_buffers ... ok
[INFO] [stdout] test navigation::tests::astar_path_around_obstacle ... ok
[INFO] [stdout] test navigation::tests::astar_adjacent_cells ... ok
[INFO] [stdout] test navigation::tests::astar_diagonal_movement_works ... ok
[INFO] [stdout] test navigation::tests::astar_no_path_returns_none ... ok
[INFO] [stdout] test navigation::tests::astar_returns_none_for_blocked_start ... ok
[INFO] [stdout] test navigation::tests::astar_returns_none_for_blocked_goal ... ok
[INFO] [stdout] test navigation::tests::astar_same_cell_returns_single_waypoint ... ok
[INFO] [stdout] test navigation::tests::obstacle_inflation_blocks_nearby_cells ... ok
[INFO] [stdout] test navigation::tests::astar_straight_line_in_open_space ... ok
[INFO] [stdout] test navigation::tests::cells_outside_obstacle_inflation_are_walkable ... ok
[INFO] [stdout] test navigation::tests::grid_dimensions_match_arena_and_cell_size ... ok
[INFO] [stdout] test navigation::tests::grid_dimensions_round_up_for_non_integer_division ... ok
[INFO] [stdout] test navigation::tests::grid_to_world_produces_cell_centers ... ok
[INFO] [stdout] test navigation::tests::is_walkable_boundary ... ok
[INFO] [stdout] test navigation::tests::is_walkable_interior_empty ... ok
[INFO] [stdout] test navigation::tests::is_walkable_out_of_bounds_returns_false ... ok
[INFO] [stdout] test navigation::tests::is_walkable_under_obstacle ... ok
[INFO] [stdout] test navigation::tests::large_cell_size_produces_small_grid ... ok
[INFO] [stdout] test actions::tests::function_call_translator_clamps_out_of_range_function_id ... ok
[INFO] [stdout] test navigation::tests::multiple_obstacles_all_blocked ... ok
[INFO] [stdout] test actions::tests::function_call_translator_handles_empty_input ... ok
[INFO] [stdout] test navigation::tests::open_arena_interior_cells_are_walkable ... ok
[INFO] [stdout] test navigation::tests::path_distance_same_cell_is_zero ... ok
[INFO] [stdout] test navigation::tests::path_distance_returns_none_when_no_path ... ok
[INFO] [stdout] test navigation::tests::snap_to_walkable_already_walkable ... ok
[INFO] [stdout] test navigation::tests::snap_to_walkable_from_blocked_cell ... ok
[INFO] [stdout] test navigation::tests::snap_to_walkable_respects_direction ... ok
[INFO] [stdout] test navigation::tests::open_arena_boundary_cells_are_blocked ... ok
[INFO] [stdout] test navigation::tests::path_distance_around_obstacle_longer_than_euclidean ... ok
[INFO] [stdout] test navigation::tests::world_to_grid_round_trip ... ok
[INFO] [stdout] test navigation::tests::world_to_grid_returns_none_for_negative_coords ... ok
[INFO] [stdout] test navigation::tests::world_to_grid_returns_none_for_out_of_bounds ... ok
[INFO] [stdout] test navigation::tests::path_navigates_between_multiple_obstacles ... ok
[INFO] [stdout] test navigation::tests::path_distance_straight_line ... ok
[INFO] [stdout] test navigation::tests::obstacle_blocks_cells_beneath_it ... ok
[INFO] [stdout] test navigation::tests::snap_to_walkable_fallback_when_direction_leads_nowhere ... ok
[INFO] [stdout] test observation::tests::obs_writer_write_padded_exact_length_no_extra ... ok
[INFO] [stdout] test observation::tests::agent_registry_new_stores_agents_and_max ... ok
[INFO] [stdout] test observation::tests::agent_registry_index_of_returns_none_for_missing ... ok
[INFO] [stdout] test observation::tests::observation_space_def_serialize_roundtrip ... ok
[INFO] [stdout] test observation::tests::obs_writer_write_stores_data ... ok
[INFO] [stdout] test navigation::tests::world_to_grid_handles_positions_within_cell ... ok
[INFO] [stdout] test observation::tests::obs_writer_write_accumulates_data ... ok
[INFO] [stdout] test observation::tests::agent_registry_index_of_returns_correct_index ... ok
[INFO] [stdout] test observation::tests::reward_buffer_clear_empties_all ... ok
[INFO] [stdout] test observation::tests::reward_buffer_add_independent_entities ... ok
[INFO] [stdout] test observation::tests::reward_buffer_add_accumulates ... ok
[INFO] [stdout] test observation::tests::reward_buffer_get_returns_zero_for_missing ... ok
[INFO] [stdout] test physics::tests::add_dynamic_body_is_dynamic ... ok
[INFO] [stdout] test observation::tests::obs_writer_write_padded_pads_with_zeros ... ok
[INFO] [stdout] test physics::tests::add_dynamic_body_at_correct_position ... ok
[INFO] [stdout] test navigation::tests::origin_is_half_cell_offset ... ok
[INFO] [stdout] test navigation::tests::zero_agent_radius_no_boundary_inflation ... ok
[INFO] [stdout] test physics::tests::add_dynamic_body_returns_valid_handles ... ok
[INFO] [stdout] test physics::tests::add_static_body_at_correct_position ... ok
[INFO] [stdout] test physics::tests::add_static_body_is_fixed ... ok
[INFO] [stdout] test physics::tests::add_static_body_returns_valid_handles ... ok
[INFO] [stdout] test physics::tests::body_velocity_round_trip ... ok
[INFO] [stdout] test physics::tests::body_position_round_trip ... ok
[INFO] [stdout] test physics::tests::body_velocity_invalid_handle_returns_none ... ok
[INFO] [stdout] test physics::tests::body_position_invalid_handle_returns_none ... ok
[INFO] [stdout] test physics::tests::new_sets_dt_and_gravity ... ok
[INFO] [stdout] test physics::tests::cast_ray_hits_static_wall ... ok
[INFO] [stdout] test physics::tests::cast_ray_misses_when_aimed_away ... ok
[INFO] [stdout] test replay::tests::num_frames_counts_correctly ... ok
[INFO] [stdout] test replay::tests::record_frame_only_when_recording ... ok
[INFO] [stdout] test replay::tests::drain_frames_returns_and_clears ... ok
[INFO] [stdout] test replay::tests::start_stop_state_transitions ... ok
[INFO] [stdout] test physics::tests::step_does_not_move_static_body ... ok
[INFO] [stdout] test physics::tests::set_body_linvel_causes_movement ... ok
[INFO] [stdout] test physics::tests::new_zero_gravity ... ok
[INFO] [stdout] test physics::tests::step_moves_dynamic_body_with_velocity ... ok
[INFO] [stdout] test replay::writer::tests::write_and_read_empty_frames ... ok
[INFO] [stdout] test replay::tests::start_clears_previous_frames ... ok
[INFO] [stdout] test physics::tests::cast_ray_exclude_collider ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_dead_enemies_ignored ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_facing_away_from_enemy ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_facing_enemy_directly ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_name ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_no_position_returns_zero ... ok
[INFO] [stdout] test rewards::combat::tests::combat_reward_independent_agents ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_no_team_returns_zero ... ok
[INFO] [stdout] test rewards::objective::tests::objective_reward_calls_closure ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_with_weight ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_facing_perpendicular ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_no_enemies ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_no_facing_returns_zero ... ok
[INFO] [stdout] test replay::writer::tests::write_and_read_roundtrip ... ok
[INFO] [stdout] test rewards::objective::tests::objective_reward_closure_can_read_world ... ok
[INFO] [stdout] test rewards::combat::tests::combat_reward_returns_zero_when_no_buffer ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_agent_no_position_returns_zero ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_agent_no_team_returns_zero ... ok
[INFO] [stdout] test rewards::aim::tests::aim_reward_picks_nearest_enemy ... ok
[INFO] [stdout] test rewards::objective::tests::objective_reward_closure_receives_correct_entity ... ok
[INFO] [stdout] test rewards::combat::tests::combat_reward_reads_from_buffer ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_beyond_max_range_clamps_to_zero ... ok
[INFO] [stdout] test rewards::combat::tests::combat_reward_name ... ok
[INFO] [stdout] test rewards::objective::tests::objective_reward_name ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_close_enemy ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_far_enemy ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_name ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_dead_enemies_ignored ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_no_enemies_returns_zero ... ok
[INFO] [stdout] test rewards::tests::composite_reward_add_boxed ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_with_weight ... ok
[INFO] [stdout] test rewards::tests::composite_reward_len_and_empty ... ok
[INFO] [stdout] test rewards::combat::tests::combat_reward_returns_zero_for_missing_agent ... ok
[INFO] [stdout] test rewards::proximity::tests::proximity_reward_picks_nearest_enemy ... ok
[INFO] [stdout] test rewards::tests::composite_reward_single_component ... ok
[INFO] [stdout] test rewards::tests::composite_reward_weighted_sum ... ok
[INFO] [stdout] test rewards::time_penalty::tests::time_penalty_same_for_all_agents ... ok
[INFO] [stdout] test scripted_ai::tests::best_compass_index_east ... ok
[INFO] [stdout] test rewards::time_penalty::tests::time_penalty_zero_penalty ... ok
[INFO] [stdout] test rewards::tests::composite_reward_negative_weights ... ok
[INFO] [stdout] test rewards::time_penalty::tests::time_penalty_name ... ok
[INFO] [stdout] test rewards::tests::composite_reward_name ... ok
[INFO] [stdout] test rewards::tests::composite_reward_empty_returns_zero ... ok
[INFO] [stdout] test rewards::tests::composite_reward_default ... ok
[INFO] [stdout] test scripted_ai::tests::best_compass_index_north ... ok
[INFO] [stdout] test rewards::time_penalty::tests::time_penalty_returns_constant ... ok
[INFO] [stdout] test scripted_ai::tests::best_compass_index_northeast ... ok
[INFO] [stdout] test scripted_ai::tests::best_compass_index_southwest ... ok
[INFO] [stdout] test scripted_ai::tests::best_compass_index_west ... ok
[INFO] [stdout] test scripted_ai::tests::best_compass_with_walls_no_walls_matches_simple ... ok
[INFO] [stdout] test scripted_ai::tests::best_compass_with_walls_avoids_walled_direction ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_advances_when_far ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_enemy_in_range_but_weapon_cooling_no_shoot ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_aim_delta_in_range ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_no_enemies_move_target_is_compass ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_no_enemies_shoot_is_zero ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_retreats_when_close ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_enemy_out_of_range_no_shoot ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_returns_4_element_vec ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_wall_avoidance_changes_direction ... ok
[INFO] [stdout] test sensors::tests::build_map_classifies_enemies_as_enemy ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_enemy_in_range_shoots ... ok
[INFO] [stdout] test sensors::tests::build_map_mixed_obstacles_and_agents ... ok
[INFO] [stdout] test sensors::tests::build_map_empty_inputs ... ok
[INFO] [stdout] test sensors::tests::distance_is_normalized_to_max_range ... ok
[INFO] [stdout] test sensors::tests::build_map_classifies_obstacles_as_wall ... ok
[INFO] [stdout] test sensors::tests::build_map_classifies_same_team_as_wall ... ok
[INFO] [stdout] test sensors::tests::multiple_objects_at_different_angles ... ok
[INFO] [stdout] test scripted_ai::tests::tactical_ai_move_target_is_valid_range ... ok
[INFO] [stdout] test sensors::tests::ray_hits_wall_with_correct_distance_and_type ... ok
[INFO] [stdout] test sensors::tests::ray_hits_enemy_with_correct_type ... ok
[INFO] [stdout] test sensors::tests::empty_world_all_rays_miss ... ok
[INFO] [stdout] test weapons::tests::cannot_fire_while_reloading ... ok
[INFO] [stdout] test sensors::tests::unknown_collider_defaults_to_wall ... ok
[INFO] [stdout] test weapons::tests::cannot_fire_with_zero_ammo ... ok
[INFO] [stdout] test weapons::tests::ammo_depletes_on_fire_and_auto_reload_triggers ... ok
[INFO] [stdout] test sensors::tests::self_collider_is_excluded ... ok
[INFO] [stdout] test weapons::tests::cooldown_does_not_go_negative ... ok
[INFO] [stdout] test weapons::tests::cooldown_ticks_down_for_all_slots ... ok
[INFO] [stdout] test weapons::tests::reload_ticks_down_but_not_complete ... ok
[INFO] [stdout] test weapons::tests::switch_applies_cooldown_penalty ... ok
[INFO] [stdout] test weapons::tests::dead_entities_are_skipped ... ok
[INFO] [stdout] test weapons::tests::switch_changes_active_weapon ... ok
[INFO] [stdout] test weapons::tests::reload_completes_and_refills_ammo ... ok
[INFO] [stdout] test weapons::tests::no_switch_when_index_out_of_bounds ... ok
[INFO] [stdout] test weapons::tests::no_switch_when_same_weapon_selected ... ok
[INFO] [stdout] test sensors::tests::returns_exactly_num_rays_results ... ok
[INFO] [stdout] test scripted_ai::tests::best_compass_index_south ... ok
[INFO] [stdout] test physics::tests::collision_body_does_not_pass_through_wall ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 251 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cs_lite.rs (/opt/rustwide/target/debug/deps/cs_lite-d364d6d2ab4e570e)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test cs_lite_starts_in_buy_freeze ... ok
[INFO] [stdout] test cs_lite_has_10_agents ... ok
[INFO] [stdout] test cs_lite_audio_3d_has_6_elements ... ok
[INFO] [stdout] test cs_lite_observations_have_correct_keys ... ok
[INFO] [stdout] test cs_lite_transitions_to_active ... ok
[INFO] [stdout] test cs_lite_smoke_test_200_ticks ... ok
[INFO] [stdout] test cs_lite_1000_ticks_stable has been running for over 60 seconds
[INFO] [stdout] test cs_lite_config_driven_rewards has been running for over 60 seconds
[INFO] [stdout] test cs_lite_round_timeout_ct_wins has been running for over 60 seconds
[INFO] [stdout] test cs_lite_config_driven_rewards ... ok
[INFO] [stdout] test cs_lite_round_timeout_ct_wins ... ok
[INFO] [stdout] test cs_lite_1000_ticks_stable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 92.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-437b3ed97c023ec9)
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test converter_integration::flat_converter_observation_space_def_reflects_converter ... ok
[INFO] [stdout] test converter_integration::dict_converter_observation_space_def_matches_extractors ... ok
[INFO] [stdout] test action_system_integration::action_space_derived_from_legacy ... ok
[INFO] [stdout] test converter_integration::flat_converter_produces_single_obs_key ... ok
[INFO] [stdout] test action_system_integration::action_space_accessor_returns_consistent_data ... ok
[INFO] [stdout] test converter_integration::no_converter_defaults_to_dict_behavior ... ok
[INFO] [stdout] test converter_integration::dict_converter_preserves_named_features ... ok
[INFO] [stdout] test converter_integration::spatial_converter_observation_space_def ... ok
[INFO] [stdout] test converter_integration::spatial_converter_groups_vector_features ... ok
[INFO] [stdout] test extractor_integration::game_def_without_extractors_returns_empty_obs ... ok
[INFO] [stdout] test extractor_integration::game_def_with_extractors_produces_observations ... ok
[INFO] [stdout] test extractor_integration::observation_space_def_reflects_extractors ... ok
[INFO] [stdout] test extractor_integration::with_extractor_builder_convenience ... ok
[INFO] [stdout] test game_def_integration::game_def_agent_registered ... ok
[INFO] [stdout] test game_def_integration::game_def_default_action_space_is_empty ... ok
[INFO] [stdout] test game_def_integration::game_def_no_physics_builds_and_ticks ... ok
[INFO] [stdout] test game_def_integration::game_def_config_accessible ... ok
[INFO] [stdout] test action_system_integration::function_call_translator_wired_through_builder ... ok
[INFO] [stdout] test action_system_integration::flat_translator_wired_through_builder ... ok
[INFO] [stdout] test action_system_integration::no_translator_passes_actions_unchanged ... ok
[INFO] [stdout] test extractor_integration::tick_then_observe_works ... ok
[INFO] [stdout] test game_def_integration::game_def_rewards_return_zero ... ok
[INFO] [stdout] test converter_integration::tick_then_observe_with_flat_converter ... ok
[INFO] [stdout] test converter_integration::converter_does_not_affect_scenario_path ... ok
[INFO] [stdout] test game_def_integration::game_def_observe_all_returns_empty_obs ... ok
[INFO] [stdout] test game_def_integration::game_def_is_done_delegates_to_game_def ... ok
[INFO] [stdout] test integration::action_space_shape ... ok
[INFO] [stdout] test integration::observation_space_features ... ok
[INFO] [stdout] test integration::agents_exist ... ok
[INFO] [stdout] test game_def_integration::game_def_telemetry_works ... ok
[INFO] [stdout] test step_mul_integration::step_auto_defaults_to_1_when_step_mul_absent ... ok
[INFO] [stdout] test replay_integration::replay_game_def_path_record_10_ticks ... ok
[INFO] [stdout] test step_mul_integration::step_auto_reads_config_step_mul ... ok
[INFO] [stdout] test step_mul_integration::step_auto_multiple_calls ... ok
[INFO] [stdout] test step_mul_integration::step_with_mul_4_advances_tick_count_by_4 ... ok
[INFO] [stdout] test game_def_integration::game_def_smoke_test_ticks ... ok
[INFO] [stdout] test step_mul_integration::step_with_mul_1_behaves_like_tick ... ok
[INFO] [stdout] test step_mul_integration::step_with_mul_early_termination_on_done ... ok
[INFO] [stdout] test step_mul_integration::step_with_mul_multiple_calls_accumulate ... ok
[INFO] [stdout] test step_mul_integration::step_with_mul_actions_persist_across_subticks ... ok
[INFO] [stdout] test integration::rewards_and_dones_for_all_agents ... ok
[INFO] [stdout] test integration::telemetry_contains_world_snapshots ... ok
[INFO] [stdout] test integration::observation_shapes ... ok
[INFO] [stdout] test integration::builder_with_scenario ... ok
[INFO] [stdout] test integration::observe_all_returns_all_agents ... ok
[INFO] [stdout] test replay_integration::replay_no_overhead_when_not_recording ... ok
[INFO] [stdout] test replay_integration::replay_drain_clears_buffer ... ok
[INFO] [stdout] test replay_integration::replay_save_and_load_roundtrip ... ok
[INFO] [stdout] test replay_integration::replay_scenario_path_record_10_ticks ... ok
[INFO] [stdout] test integration::smoke_test_100_ticks ... ok
[INFO] [stdout] test integration::apply_raw_actions_moves_agent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.63s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tactical.rs (/opt/rustwide/target/debug/deps/tactical-40198b98aa396f81)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test agents_count ... ok
[INFO] [stdout] test action_space_shape ... ok
[INFO] [stdout] test observation_space_features ... ok
[INFO] [stdout] test inventory_action_space_has_4_heads ... ok
[INFO] [stdout] test rewards_and_dones ... ok
[INFO] [stdout] test observation_shapes ... ok
[INFO] [stdout] test total_observation_dims ... ok
[INFO] [stdout] test weapon_switch_updates_observation ... ok
[INFO] [stdout] test raycasts_contain_data ... ok
[INFO] [stdout] test candidates_have_features ... ok
[INFO] [stdout] test observation_includes_weapon_state ... FAILED
[INFO] [stdout] test telemetry_snapshots ... ok
[INFO] [stdout] test apply_move_target_action ... ok
[INFO] [stdout] test stay_action_keeps_position ... ok
[INFO] [stdout] test cover_mode_has_different_rewards ... ok
[INFO] [stdout] test smoke_test_200_ticks ... ok
[INFO] [stdout] test tactical_ai_integration_with_obstacles ... ok
[INFO] [stdout] test tactical_ai_integration_200_ticks ... ok
[INFO] [stdout] test smoke_test_200_ticks_with_obstacles ... ok
[INFO] [stdout] test tactical_ai_agents_fire_shots ... ok
[INFO] [stdout] test inventory_500_ticks_stability ... ok
[INFO] [stdout] test stability_1000_ticks_with_obstacles ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- observation_includes_weapon_state stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'observation_includes_weapon_state' (3010) panicked at crates/engine/tests/tactical.rs:442:5:
[INFO] [stdout] one-hot for active weapon 0 should be 1.0, got 0
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5bb806a4a1f8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5bb806a4a1f8 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5bb806a4a1f8 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5bb806a4a1f8 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5bb806a5fffa - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5bb806a5fffa - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x5bb806a4efc2 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x5bb806a4efc2 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x5bb806a28e86 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5bb806a28e86 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5bb806a42619 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5bb8060a1c9c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x5bb8060a1c9c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5bb806a42892 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x5bb806a42892 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5bb806a28f42 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5bb806a1dbb9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5bb806a29d4d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5bb806a607ec - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5bb806090c38 - tactical[bd36ce2f9c9184b6]::observation_includes_weapon_state
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/engine/tests/tactical.rs:442:5
[INFO] [stdout]   20:     0x5bb80608cc87 - tactical[bd36ce2f9c9184b6]::observation_includes_weapon_state::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/engine/tests/tactical.rs:418:39
[INFO] [stdout]   21:     0x5bb806094b36 - <tactical[bd36ce2f9c9184b6]::observation_includes_weapon_state::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5bb806094d7b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5bb806094d7b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x5bb8060a25f5 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5bb8060a25f5 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5bb8060a25f5 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5bb8060a25f5 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5bb8060a25f5 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5bb8060a25f5 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5bb8060a25f5 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5bb80609bf04 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5bb80609bf04 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5bb8060a5672 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5bb8060a5672 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5bb8060a5672 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5bb8060a5672 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5bb8060a5672 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5bb8060a5672 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5bb8060a5672 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5bb806a49b4f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   41:     0x5bb806a49b4f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x75745f87baa4 - <unknown>
[INFO] [stdout]   43:     0x75745f908a64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     observation_includes_weapon_state
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 21 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.64s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p ghostlobby-engine --test tactical`
[INFO] running `Command { std: "docker" "inspect" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d", kill_on_drop: false }`
[INFO] [stdout] 90ba1ed68f5f162e273ca4db4e07369b3b50d8e64bae1992ee46c7187bd31f1d
