[INFO] cloning repository https://github.com/madmax983/nes
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/madmax983/nes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmadmax983%2Fnes", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmadmax983%2Fnes'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fdd7aab7ca1d4f4c19e85c944cb6fac8b6481c69
[INFO] testing madmax983/nes against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmadmax983%2Fnes" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/madmax983/nes
[INFO] finished tweaking git repo https://github.com/madmax983/nes
[INFO] tweaked toml for git repo https://github.com/madmax983/nes written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/madmax983/nes on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/madmax983/nes 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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] 56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76
[INFO] running `Command { std: "docker" "start" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76", 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" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76", 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" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling cubecl-common v0.8.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling serde_bytes v0.11.19
[INFO] [stderr]    Compiling spin v0.10.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling embassy-futures v0.1.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling as-slice v0.2.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling derive_arbitrary v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling derive-new v0.7.0
[INFO] [stderr]    Compiling arbitrary v1.4.2
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling profiling v1.0.17
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling equator v0.4.2
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling aligned-vec v0.6.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling v_frame v0.3.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling macerator v0.2.10
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling aligned v0.4.3
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling rmp v0.8.15
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling spirv v0.2.0+1.5.4
[INFO] [stderr]    Compiling nes-core v0.1.0 (/opt/rustwide/workdir/crates/nes-core)
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling gpu-descriptor-types v0.1.2
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.113
[INFO] [stderr]    Compiling quick-error v2.0.1
[INFO] [stderr]    Compiling raw-window-handle v0.5.2
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling y4m v0.8.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling naga v0.12.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling float8 v0.4.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling toml v0.8.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling gpu-descriptor v0.2.4
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling nes-config v0.1.0 (/opt/rustwide/workdir/crates/nes-config)
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling cubecl-quant v0.8.1
[INFO] [stderr]    Compiling burn-common v0.19.1
[INFO] [stderr]    Compiling nes-netplay v0.1.0 (/opt/rustwide/workdir/crates/nes-netplay)
[INFO] [stderr]    Compiling av1-grain v0.2.5
[INFO] [stderr]    Compiling burn-tensor v0.19.1
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling gpu-alloc v0.5.4
[INFO] [stderr]    Compiling bitstream-io v4.9.0
[INFO] [stderr]    Compiling rmp-serde v1.3.1
[INFO] [stderr]    Compiling macerator-macros v0.1.4
[INFO] [stderr]    Compiling burn-derive v0.19.1
[INFO] [stderr]    Compiling symphonia-core v0.5.5
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]    Compiling wgpu-types v0.16.1
[INFO] [stderr]    Compiling nes-dsl v0.1.0 (/opt/rustwide/workdir/crates/nes-dsl)
[INFO] [stderr]    Compiling moddef v0.3.0
[INFO] [stderr]    Compiling strict-num v0.1.1
[INFO] [stderr]    Compiling burn-ndarray v0.19.1
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling glow v0.12.3
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling imgref v1.12.0
[INFO] [stderr]    Compiling zune-core v0.4.12
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling ttf-parser v0.25.1
[INFO] [stderr]    Compiling zune-jpeg v0.4.21
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling tiny-skia-path v0.8.4
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling burn-core v0.19.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling calloop v0.10.6
[INFO] [stderr]    Compiling symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling owned_ttf_parser v0.25.1
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling burn-autodiff v0.19.1
[INFO] [stderr]    Compiling burn-ir v0.19.1
[INFO] [stderr]    Compiling fax v0.2.6
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling memmap2 v0.5.10
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling avif-serialize v0.8.8
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling ab_glyph_rasterizer v0.1.10
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling pxfm v0.1.28
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]    Compiling zune-core v0.5.1
[INFO] [stderr]    Compiling lebe v0.5.3
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling rgb v0.8.53
[INFO] [stderr]    Compiling atomic_float v1.1.0
[INFO] [stderr]    Compiling exr v1.74.0
[INFO] [stderr]    Compiling ogg v0.8.0
[INFO] [stderr]    Compiling wgpu-hal v0.16.2
[INFO] [stderr]    Compiling ravif v0.12.0
[INFO] [stderr]    Compiling zune-jpeg v0.5.12
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]    Compiling gif v0.14.1
[INFO] [stderr]    Compiling moxcms v0.7.11
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling image-webp v0.2.4
[INFO] [stderr]    Compiling wgpu-core v0.16.1
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling ab_glyph v0.2.32
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling tiny-skia v0.8.4
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling alsa v0.9.1
[INFO] [stderr]    Compiling tiff v0.10.3
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]    Compiling burn-nn v0.19.1
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling dasp_sample v0.11.0
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling gilrs v0.10.10
[INFO] [stderr]    Compiling base64-simd v0.8.0
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.113
[INFO] [stderr]    Compiling image v0.25.9
[INFO] [stderr]    Compiling gilrs-core v0.5.15
[INFO] [stderr]    Compiling symphonia v0.5.5
[INFO] [stderr]    Compiling wgpu v0.16.3
[INFO] [stderr]    Compiling ultraviolet v0.9.2
[INFO] [stderr]    Compiling sctk-adwaita v0.5.4
[INFO] [stderr]    Compiling lewton v0.10.2
[INFO] [stderr]    Compiling wasm-bindgen v0.2.113
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling pollster v0.3.0
[INFO] [stderr]    Compiling hound v3.5.1
[INFO] [stderr]    Compiling icy_sixel v0.1.3
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.113
[INFO] [stderr]    Compiling rodio v0.17.3
[INFO] [stderr]    Compiling pixels v0.13.0
[INFO] [stderr]    Compiling nes-mcp v0.1.0 (/opt/rustwide/workdir/crates/nes-mcp)
[INFO] [stderr]    Compiling nes-ai v0.1.0 (/opt/rustwide/workdir/crates/nes-ai)
[INFO] [stderr]    Compiling ratatui-image v8.1.1
[INFO] [stderr]    Compiling nes-test-harness v0.1.0 (/opt/rustwide/workdir/crates/nes-test-harness)
[INFO] [stderr]    Compiling nes-rewind v0.1.0 (/opt/rustwide/workdir/crates/nes-rewind)
[INFO] [stderr]    Compiling font8x8 v0.3.1
[INFO] [stderr]    Compiling nes-relay v0.1.0 (/opt/rustwide/workdir/crates/nes-relay)
[INFO] [stderr]    Compiling nes-tui v0.1.0 (/opt/rustwide/workdir/crates/nes-tui)
[INFO] [stderr]    Compiling nes-desktop v0.1.0 (/opt/rustwide/workdir/crates/nes-desktop)
[INFO] [stderr]    Compiling nes-web v0.1.0 (/opt/rustwide/workdir/crates/nes-web)
[INFO] [stderr]    Compiling nes-proof v0.1.0 (/opt/rustwide/workdir/crates/nes-proof)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7m 14s
[INFO] running `Command { std: "docker" "inspect" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76", 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" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling divan-macros v0.1.21
[INFO] [stderr]    Compiling condtype v1.3.0
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling generator v0.8.8
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling naga v0.12.3
[INFO] [stderr]    Compiling symphonia-core v0.5.5
[INFO] [stderr]    Compiling cubecl-common v0.8.1
[INFO] [stderr]    Compiling calloop v0.10.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.1
[INFO] [stderr]    Compiling gilrs-core v0.5.15
[INFO] [stderr]    Compiling cubecl-quant v0.8.1
[INFO] [stderr]    Compiling burn-common v0.19.1
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling burn-tensor v0.19.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling nes-mcp v0.1.0 (/opt/rustwide/workdir/crates/nes-mcp)
[INFO] [stderr]    Compiling symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling divan v0.1.21
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling burn-core v0.19.1
[INFO] [stderr]    Compiling loom v0.7.2
[INFO] [stderr]    Compiling burn-ir v0.19.1
[INFO] [stderr]    Compiling burn-autodiff v0.19.1
[INFO] [stderr]    Compiling burn-nn v0.19.1
[INFO] [stderr]    Compiling wgpu-hal v0.16.2
[INFO] [stderr]    Compiling symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]    Compiling sctk-adwaita v0.5.4
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling symphonia v0.5.5
[INFO] [stderr]    Compiling winit v0.28.7
[INFO] [stderr]    Compiling rodio v0.17.3
[INFO] [stderr]    Compiling gilrs v0.10.10
[INFO] [stderr]    Compiling nes-test-harness v0.1.0 (/opt/rustwide/workdir/crates/nes-test-harness)
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling burn-ndarray v0.19.1
[INFO] [stderr]    Compiling wgpu-core v0.16.1
[INFO] [stderr]    Compiling av1-grain v0.2.5
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]    Compiling nes-relay v0.1.0 (/opt/rustwide/workdir/crates/nes-relay)
[INFO] [stderr]    Compiling nes-web v0.1.0 (/opt/rustwide/workdir/crates/nes-web)
[INFO] [stderr]    Compiling nes-ai v0.1.0 (/opt/rustwide/workdir/crates/nes-ai)
[INFO] [stderr]    Compiling wgpu v0.16.3
[INFO] [stderr]    Compiling ravif v0.12.0
[INFO] [stderr]    Compiling pixels v0.13.0
[INFO] [stderr]    Compiling nes-desktop v0.1.0 (/opt/rustwide/workdir/crates/nes-desktop)
[INFO] [stderr]    Compiling image v0.25.9
[INFO] [stderr]    Compiling nes-core v0.1.0 (/opt/rustwide/workdir/crates/nes-core)
[INFO] [stderr]    Compiling nes-dsl v0.1.0 (/opt/rustwide/workdir/crates/nes-dsl)
[INFO] [stderr]    Compiling nes-rewind v0.1.0 (/opt/rustwide/workdir/crates/nes-rewind)
[INFO] [stderr]    Compiling ratatui-image v8.1.1
[INFO] [stderr]    Compiling nes-tui v0.1.0 (/opt/rustwide/workdir/crates/nes-tui)
[INFO] [stderr]    Compiling nes-config v0.1.0 (/opt/rustwide/workdir/crates/nes-config)
[INFO] [stderr]    Compiling nes-netplay v0.1.0 (/opt/rustwide/workdir/crates/nes-netplay)
[INFO] [stderr]    Compiling nes-proof v0.1.0 (/opt/rustwide/workdir/crates/nes-proof)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4m 59s
[INFO] running `Command { std: "docker" "inspect" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76", 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" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_ai-c13fbb2ef18f5cac)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test profiles::smb::tests::decode_signed_byte_handles_twos_complement_values ... ok
[INFO] [stderr]      Running unittests src/bin/eval_smb_control.rs (/opt/rustwide/target/debug/deps/eval_smb_control-6e7ca44d6154b226)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::build_summary_table_formats_average_return_and_artifacts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/prepare_smb_control.rs (/opt/rustwide/target/debug/deps/prepare_smb_control-823e6aa3a32b5d45)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::build_success_table_formats_hash_and_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/train_smb_control.rs (/opt/rustwide/target/debug/deps/train_smb_control-b49c2761ed697f8c)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::build_summary_table_formats_metrics ... ok
[INFO] [stderr]      Running tests/action_space.rs (/opt/rustwide/target/debug/deps/action_space-a506646348134271)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test action_ids_map_to_expected_controller_masks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/env_determinism.rs (/opt/rustwide/target/debug/deps/env_determinism-01212c90c88b8c7b)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test from_config_rejects_observation_dims_below_model_minimum ... ok
[INFO] [stdout] test from_config_rejects_rom_hash_mismatch ... ok
[INFO] [stdout] test any_control_env_dispatches_smb_configs ... ok
[INFO] [stdout] test reset_and_replayed_action_sequence_are_deterministic ... ok
[INFO] [stdout] test profile_env_resets_stall_penalty_when_progress_increases ... ok
[INFO] [stdout] test profile_env_applies_stall_penalty_when_no_progress_made ... ok
[INFO] [stdout] test profile_env_step_sets_done_when_budget_done ... ok
[INFO] [stdout] test env_exposes_tensor_ready_observation_and_stops_at_frame_budget ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.09s
[INFO] [stderr]      Running tests/episode_artifacts.rs (/opt/rustwide/target/debug/deps/episode_artifacts-35893d3ecf382020)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test episode_writer_emits_metadata_and_tas_json ... ok
[INFO] [stderr]      Running tests/eval_cli.rs (/opt/rustwide/target/debug/deps/eval_cli-d888dab3ab7e4b23)
[INFO] [stdout] test episode_writer_rejects_path_like_prefixes ... 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] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test eval_smb_control_without_required_arguments_prints_usage_and_fails ... ok
[INFO] [stdout] test eval_smb_control_with_help_flag_prints_usage_and_succeeds ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/model_contract.rs (/opt/rustwide/target/debug/deps/model_contract-ebf6b665afd1463d)
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test policy_value_model_rejects_zero_frame_stack - should panic ... ok
[INFO] [stdout] test policy_value_model_rejects_too_small_observation_width - should panic ... ok
[INFO] [stdout] test policy_value_model_supports_nondefault_observation_sizes ... ok
[INFO] [stdout] test policy_value_model_emits_expected_output_shapes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/observation_contract.rs (/opt/rustwide/target/debug/deps/observation_contract-c77be343f702d42b)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/prepare_cli.rs (/opt/rustwide/target/debug/deps/prepare_cli-afd5d35ce555d738)
[INFO] [stdout] test grayscale_downsample_outputs_expected_shape_and_unit_range ... ok
[INFO] [stdout] test frame_stack_retains_only_recent_frames ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test prepare_smb_control_without_required_arguments_prints_usage_and_fails ... ok
[INFO] [stdout] test prepare_smb_control_invalid_rom_permissions_prints_styled_error ... ok
[INFO] [stdout] test prepare_smb_control_missing_rom_prints_styled_error ... ok
[INFO] [stdout] test prepare_smb_control_with_help_flag_prints_usage_and_succeeds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/profile_config.rs (/opt/rustwide/target/debug/deps/profile_config-c1594e6950bc31ec)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test profile_config_parses_expected_control_defaults ... ok
[INFO] [stdout] test profile_config_parses_explicit_game_id ... ok
[INFO] [stdout] test profile_config_rejects_unknown_game_id ... ok
[INFO] [stdout] test profile_config_rejects_zero_observation_width ... ok
[INFO] [stdout] test profile_config_rejects_too_small_observation_height ... ok
[INFO] [stdout] test profile_config_rejects_too_small_observation_width ... ok
[INFO] [stdout] test profile_config_rejects_zero_frame_stack ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/reward_contract.rs (/opt/rustwide/target/debug/deps/reward_contract-5f5f345511b0aad3)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test forward_progress_beats_stall_and_death_is_terminal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/smb_control_integration.rs (/opt/rustwide/target/debug/deps/smb_control_integration-368cce0953989177)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test smb_control_profile_can_reset_and_gain_forward_reward ... ignored, requires local SMB ROM and generated control snapshot
[INFO] [stdout] test smb_control_training_stack_can_emit_checkpoint_and_eval_artifacts ... ignored, requires local SMB ROM and generated control snapshot
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/snapshot_bundle.rs (/opt/rustwide/target/debug/deps/snapshot_bundle-9ccdcff86e000a1a)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/train_cli.rs (/opt/rustwide/target/debug/deps/train_cli-5896b3610c01c3e0)
[INFO] [stdout] test snapshot_bundle_round_trip_preserves_rom_hash_and_snapshot ... ok
[INFO] [stdout] test snapshot_bundle_writes_to_cwd_relative_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test train_smb_control_without_required_arguments_prints_usage_and_fails ... ok
[INFO] [stdout] test train_smb_control_with_help_flag_prints_usage_and_succeeds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/trainer_smoke.rs (/opt/rustwide/target/debug/deps/trainer_smoke-a0a01e70338a16d8)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test action_parser_maps_known_labels ... ok
[INFO] [stdout] test action_parser_rejects_unknown_labels ... ok
[INFO] [stdout] test trainer_rejects_zero_episode_requests ... ok
[INFO] [stdout] test generic_profile_evaluator_dispatches_smb_configs ... ok
[INFO] [stdout] test ppo_smoke_writes_checkpoints_and_eval_artifacts ... ok
[INFO] [stdout] test ppo_smoke_returned_checkpoint_base_round_trips_through_burn_load_file ... ok
[INFO] [stdout] test ppo_smoke_return_changes_with_training_budget ... ok
[INFO] [stdout] test ppo_smoke_produces_positive_finite_return has been running for over 60 seconds
[INFO] [stdout] test ppo_smoke_returns_checkpoint_base_paths has been running for over 60 seconds
[INFO] [stdout] test ppo_smoke_produces_positive_finite_return ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_config-5ed5bcc7a0570949)
[INFO] [stdout] test ppo_smoke_returns_checkpoint_base_paths ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 71.38s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test tests::load_reads_non_default_values_from_file ... ok
[INFO] [stdout] test tests::load_rejects_unknown_nested_field ... ok
[INFO] [stdout] test tests::load_rejects_unknown_top_level_field ... ok
[INFO] [stdout] test tests::load_returns_error_for_missing_file ... ok
[INFO] [stdout] test tests::load_returns_underlying_error_for_non_not_found_io_errors ... ok
[INFO] [stdout] test tests::normalize_nonzero_helpers_use_fallback_only_for_zero ... ok
[INFO] [stdout] test tests::parse_config_path_arg_last_flag_wins_and_preserves_other_args ... ok
[INFO] [stdout] test tests::parse_config_path_arg_rejects_empty_equals_value ... ok
[INFO] [stdout] test tests::parse_config_path_arg_rejects_missing_value ... ok
[INFO] [stdout] test tests::parse_config_path_loop_terminates ... ok
[INFO] [stdout] test tests::load_or_default_uses_provided_path_when_present ... ok
[INFO] [stdout] test tests::parse_config_path_arg_supports_equals_flag ... ok
[INFO] [stdout] test tests::parse_config_path_arg_supports_split_flag ... ok
[INFO] [stdout] test tests::parse_config_path_arg_rejects_flag_as_split_value ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_core-6c0a3eb83413415f)
[INFO] [stdout] test tests::time_machine_config_has_sane_defaults ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 276 tests
[INFO] [stdout] test api::tests::should_call_on_ppu_dot_for_mmc3 ... ok
[INFO] [stdout] test api::tests::should_ignore_on_ppu_dot_for_unsupported_mappers ... ok
[INFO] [stdout] test api::tests::core_query_returns_expected_variants ... ok
[INFO] [stdout] test api::tests::should_return_chr_window_for_cnrom ... ok
[INFO] [stdout] test api::tests::set_speed_returns_error_on_zero ... ok
[INFO] [stdout] test api::tests::should_return_chr_window_for_mmc3 ... ok
[INFO] [stdout] test api::tests::command_power_cycle_resets_speed_to_default ... ok
[INFO] [stdout] test api::tests::should_return_chr_writable_for_cnrom ... ok
[INFO] [stdout] test api::tests::should_return_chr_window_for_gxrom ... ok
[INFO] [stdout] test api::tests::should_return_chr_writable_for_gxrom ... ok
[INFO] [stdout] test api::tests::should_return_chr_writable_for_mmc3 ... ok
[INFO] [stdout] test api::tests::should_return_false_for_chr_writable_unsupported_mappers ... ok
[INFO] [stdout] test api::tests::command_release_button_clears_controller_bit ... ok
[INFO] [stdout] test api::tests::should_ignore_sync_chr_ram_for_unsupported_mappers ... ok
[INFO] [stdout] test api::tests::should_return_correct_bit_mask_for_all_buttons ... ok
[INFO] [stdout] test api::tests::should_return_correct_index_for_players ... ok
[INFO] [stdout] test api::tests::should_return_false_for_irq_pending_unsupported_mappers ... ok
[INFO] [stdout] test api::tests::should_return_irq_pending_for_mmc3 ... ok
[INFO] [stdout] test api::tests::should_return_mirroring_override_for_axrom ... ok
[INFO] [stdout] test api::tests::should_return_mirroring_override_for_mmc3 ... ok
[INFO] [stdout] test api::tests::should_return_none_for_chr_window_unsupported_mappers ... ok
[INFO] [stdout] test api::tests::should_return_none_mirroring_override_for_nrom ... ok
[INFO] [stdout] test api::tests::should_return_none_for_mirroring_override_unsupported_mappers ... ok
[INFO] [stdout] test api::tests::should_return_true_for_irq_pending_when_mmc3_has_irq ... ok
[INFO] [stdout] test api::tests::should_sync_chr_ram_for_cnrom ... ok
[INFO] [stdout] test api::tests::should_sync_chr_ram_from_ppu_window_for_mmc3 ... ok
[INFO] [stdout] test api::tests::should_sync_chr_ram_for_gxrom ... ok
[INFO] [stdout] test api::tests::test_core_snapshot_mapper_delta ... ok
[INFO] [stdout] test api::tests::test_cheat_code_hash_component ... ok
[INFO] [stdout] test api::tests::test_core_error_display ... ok
[INFO] [stdout] test api::tests::test_core_query_fps_and_frame ... ok
[INFO] [stdout] test api::tests_new_mapper_deltas::mmc2_delta_round_trip ... ok
[INFO] [stdout] test api::tests::test_nescore_default ... ok
[INFO] [stdout] test api::tests_new_mapper_deltas::fme7_delta_round_trip ... ok
[INFO] [stdout] test api::tests_new_mapper_deltas::camerica_delta_round_trip ... ok
[INFO] [stdout] test api::tests::test_mapper_hash_components ... ok
[INFO] [stdout] test api::tests_new_mapper_deltas::mmc4_delta_round_trip ... ok
[INFO] [stdout] test api::tests_new_mapper_deltas::namco108_delta_round_trip ... ok
[INFO] [stdout] test api::tests_rom_loader_internal::test_build_new_mapper_size_validation_errors ... ok
[INFO] [stdout] test apu::tests::dmc_timer_uses_exact_period_cycles ... ok
[INFO] [stdout] test api::tests_api_coverage_gaps::test_execute_unsupported_commands_returns_ok ... ok
[INFO] [stdout] test apu::tests::noise_control_write_does_not_restart_envelope ... ok
[INFO] [stdout] test api::tests_new_mapper_deltas::colordreams_delta_round_trip ... ok
[INFO] [stdout] test api::tests_new_mapper_deltas::unchanged_new_mappers_produce_no_delta ... ok
[INFO] [stdout] test apu::tests::dmc_request_does_not_consume_sample_until_loaded ... ok
[INFO] [stdout] test apu::tests::pulse_control_write_does_not_restart_envelope ... ok
[INFO] [stdout] test bmp::tests::encode_bmp_multiplies_row_and_column_indices_for_bottom_up_bgr_layout ... ok
[INFO] [stdout] test bmp::tests::encode_bmp_returns_error_on_buffer_length_mismatch ... ok
[INFO] [stdout] test bmp::tests::encode_bmp_produces_expected_headers_and_pixel_order ... ok
[INFO] [stdout] test bmp::tests::encode_bmp_uses_expected_padding_for_odd_row_widths ... ok
[INFO] [stdout] test bmp::tests::encode_bmp_uses_expected_padding_for_width_3 ... ok
[INFO] [stdout] test bus::tests::map_region_returns_correct_region ... ok
[INFO] [stdout] test cheat_codes::mutant_hunting::cheat_code_applies_to_returns_correct_bool ... ok
[INFO] [stdout] test bus::tests::bus_region_is_legal ... ok
[INFO] [stdout] test bus::tests::map_region_boundaries ... ok
[INFO] [stdout] test api::tests_rom_loader_internal::test_build_mapper_invalid_sizes ... ok
[INFO] [stdout] test cheat_codes::mutant_hunting::cheat_code_address_is_correct ... ok
[INFO] [stdout] test api::tests_rom_loader_internal::test_build_mapper_unsupported_prg_layouts ... ok
[INFO] [stdout] test api::tests_api_coverage_gaps::test_core_snapshot_mapper_delta_coverage ... ok
[INFO] [stdout] test cheat_codes::mutant_hunting::cheat_code_compare_is_correct ... ok
[INFO] [stdout] test cheat_codes::mutant_hunting::cheat_code_raw_is_correct ... ok
[INFO] [stdout] test cheat_codes::mutant_hunting::cheat_code_value_is_correct ... ok
[INFO] [stdout] test cheat_codes::tests::cheat_code_accessors_return_correct_values ... ok
[INFO] [stdout] test cheat_codes::tests::cheat_code_applies_to_logic ... ok
[INFO] [stdout] test cheat_codes::tests::cheat_code_error_formatting ... ok
[INFO] [stdout] test cheat_codes::tests::cheat_code_parser_fails_with_invalid_characters ... ok
[INFO] [stdout] test cheat_codes::tests::cheat_code_parser_ignores_whitespace_and_hyphens ... ok
[INFO] [stdout] test cheat_codes::tests::invalid_cheat_codes_return_errors ... ok
[INFO] [stdout] test cpu::engine::tests_format::format_trace_covers_padding_paths ... ok
[INFO] [stdout] test cpu::engine::tests::cpu_snapshot_roundtrips_work_ram ... ok
[INFO] [stdout] test cpu::status::tests::bits_for_php_preserves_other_flags_and_forces_unused_and_break_set ... ok
[INFO] [stdout] test cpu::status::tests::bits_for_stack_push_preserves_other_flags_and_forces_unused_set_and_break_clear ... ok
[INFO] [stdout] test cpu::status::tests::construct_with_bits_retains_value ... ok
[INFO] [stdout] test cpu::status::tests::default_status_is_empty ... ok
[INFO] [stdout] test cpu::status::tests::update_compare_sets_flags_correctly ... ok
[INFO] [stdout] test cpu::status::tests::update_bit_test_sets_flags_correctly ... ok
[INFO] [stdout] test cpu::status::tests::stack_push_pull_semantics ... ok
[INFO] [stdout] test cpu::status::tests::individual_flags_can_be_set_and_cleared ... ok
[INFO] [stdout] test cpu::status::tests::update_zn_sets_flags_based_on_value ... ok
[INFO] [stdout] test mapper::axrom::tests::axrom_mirroring_reflects_selected_nametable_bank ... ok
[INFO] [stdout] test mapper::axrom::tests::axrom_state_can_be_restored ... ok
[INFO] [stdout] test mapper::camerica::tests::camerica_chr_ram_is_writable ... ok
[INFO] [stdout] test mapper::camerica::tests::camerica_fixed_last_bank_at_c000 ... ok
[INFO] [stdout] test mapper::camerica::tests::camerica_masks_bank_select_to_low_nibble ... ok
[INFO] [stdout] test mapper::camerica::tests::camerica_state_round_trips ... ok
[INFO] [stdout] test mapper::camerica::tests::camerica_switchable_bank_at_8000 ... ok
[INFO] [stdout] test mapper::camerica::tests::camerica_writes_to_8000_bfff_are_noops ... ok
[INFO] [stdout] test mapper::cnrom::tests::cnrom_chr_rom_is_not_writable ... ok
[INFO] [stdout] test mapper::cnrom::tests::cnrom_from_prg_chr_pads_chr_rom_with_remainder ... ok
[INFO] [stdout] test mapper::cnrom::tests::cnrom_prg_offset_for_empty_prg_rom_returns_zero ... ok
[INFO] [stdout] test mapper::cnrom::tests::cnrom_state_can_be_restored ... ok
[INFO] [stdout] test mapper::colordreams::tests::color_dreams_chr_ram_is_writable_when_chr_empty ... ok
[INFO] [stdout] test mapper::colordreams::tests::color_dreams_chr_rom_is_not_writable ... ok
[INFO] [stdout] test mapper::colordreams::tests::color_dreams_masks_bank_select_bits ... ok
[INFO] [stdout] test mapper::colordreams::tests::color_dreams_switches_8k_chr_bank ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_6000_ram_round_trip_and_disable ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_6000_rom_mapped_returns_selected_bank ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_chr_ram_when_chr_absent_is_writable ... ok
[INFO] [stdout] test mapper::colordreams::tests::color_dreams_switches_32k_prg_bank ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_chr_rom_is_not_writable ... ok
[INFO] [stdout] test mapper::cnrom::tests::cnrom_chr_ram_is_writable_and_syncs_from_ppu ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_chr_windows_assemble_from_1k_banks ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_counter_disable_freezes_counter ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_irq_disable_suppresses_assertion_on_underflow ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_mirroring_register_maps_all_four_modes ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_irq_fires_on_underflow_after_n_plus_one_cpu_cycles ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_sub_cycle_divides_dots_by_three ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_prg_banks_switch_and_e000_is_fixed_last ... ok
[INFO] [stdout] test mapper::fme7::tests::fme7_state_round_trips ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_from_prg_chr_exact_32k ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_from_prg_chr_more_math_operators3 ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_from_prg_chr_more_math_operators2 ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_from_prg_chr_more_math_operators ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_from_prg_chr_pads_empty_prg ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_from_prg_chr_pads_short_prg ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_from_prg_chr_pads_partial_bank ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_read_and_write_prg ... ok
[INFO] [stdout] test mapper::gxrom::tests::should_not_sync_chr_ram_when_not_writable ... ok
[INFO] [stdout] test mapper::gxrom::tests::should_restore_state ... ok
[INFO] [stdout] test mapper::gxrom::tests::should_sync_chr_ram_when_writable ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_commit_to_prg_bank_updates_selected_bank ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_commit_to_unhandled_range_does_not_panic ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_prg_mode_0_and_1_switch_32kb_banks ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_from_prg_rom_pads_partial_bank_and_reads_without_panic ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_from_prg_rom_preserves_large_bank_count_without_u8_wrap ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_prg_mode_2_fixes_first_bank_and_switches_second ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_shift_is_reset_handles_partial_reset ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_shift_register_accumulates_bits_and_commits_on_fifth_write ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_write_prg_with_bit7_set_preserves_other_control_bits ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_write_prg_with_bit7_set_resets_shift_and_updates_control ... ok
[INFO] [stdout] test mapper::mmc1::tests::state_and_restore_state_round_trip ... ok
[INFO] [stdout] test mapper::mmc2::tests::mmc2_chr_latch_switches_high_half_independently ... ok
[INFO] [stdout] test mapper::mmc2::tests::mmc2_chr_latch_switches_low_half ... ok
[INFO] [stdout] test mapper::mmc2::tests::mmc2_latches_default_to_fe_on_reset ... ok
[INFO] [stdout] test mapper::mmc2::tests::mmc2_mirroring_register_toggles ... ok
[INFO] [stdout] test mapper::mmc2::tests::mmc2_prg_switchable_low_and_fixed_last_three ... ok
[INFO] [stdout] test mapper::mmc2::tests::mmc2_state_round_trips ... ok
[INFO] [stdout] test mapper::mmc3::more_tests::mmc3_mirroring_toggles_between_vertical_and_horizontal ... ok
[INFO] [stdout] test mapper::mmc3::more_tests::mmc3_prg_ram_protect_register_updates_flags ... ok
[INFO] [stdout] test mapper::mmc3::more_tests::mmc3_write_e000_disables_irq ... ok
[INFO] [stdout] test mapper::mmc3::tests::from_prg_chr_short_inputs_do_not_panic_on_reads ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_a12_filter_suppresses_spurious_edges_when_sharing_high_table ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_c001_clears_counter_for_mmc3c_behavior ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_reset_shift_clears_count_and_sets_bit4 ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_prg_mode_3_switches_first_bank_and_fixes_last ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_from_prg_chr_pads_short_roms_to_minimum ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_from_prg_chr_pads_unaligned_roms ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_irq_clocks_once_per_scanline_for_8x16_sprites ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_irq_clocks_once_per_scanline_when_bg_uses_high_table ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_irq_does_not_clock_when_bg_and_sprites_share_pattern_table_0000 ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_irq_not_clocked_during_vblank_scanlines ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_mirroring_writes_update_nametable_mirroring ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_prg_ram_disabled_chip_reads_open_bus_and_ignores_writes ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_prg_ram_participates_in_state_snapshot ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_prg_ram_read_write_round_trip ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_prg_ram_write_protect_blocks_writes ... ok
[INFO] [stdout] test mapper::mmc3::tests::mmc3_write_e001_enables_irq ... ok
[INFO] [stdout] test mapper::mmc3::tests::new_initializes_banks_and_fills_memory ... ok
[INFO] [stdout] test mapper::mmc3::tests::prg_bank_for_slot_prg_mode_true ... ok
[INFO] [stdout] test mapper::mmc3::tests::sync_chr_ram_returns_early_when_not_writable ... ok
[INFO] [stdout] test mapper::mmc3::tests::state_and_restore_state_round_trip ... ok
[INFO] [stdout] test mapper::mmc3::tests::sync_chr_ram_with_chr_inversion ... ok
[INFO] [stdout] test mapper::mmc3::tests::write_prg_unmapped_address ... ok
[INFO] [stdout] test mapper::mmc4::tests::mmc4_chr_latch_matches_mmc2_semantics ... ok
[INFO] [stdout] test mapper::mmc4::tests::mmc4_prg_ram_round_trip ... ok
[INFO] [stdout] test mapper::mmc4::tests::mmc4_mirroring_register_toggles ... ok
[INFO] [stdout] test mapper::mmc4::tests::mmc4_prg_switchable_16k_and_fixed_last ... ok
[INFO] [stdout] test mapper::mmc5::tests::audio_and_split_registers_store_without_panic ... ok
[INFO] [stdout] test mapper::mmc4::tests::mmc4_state_round_trips ... ok
[INFO] [stdout] test mapper::mmc5::tests::chr_banking_1k_mode ... ok
[INFO] [stdout] test mapper::mmc5::tests::chr_banking_4k_and_2k_modes ... ok
[INFO] [stdout] test mapper::mmc5::tests::chr_banking_8k_mode_uses_reg7 ... ok
[INFO] [stdout] test mapper::mmc5::tests::chr_bg_window_b_set_mirrors_in_1k_mode ... ok
[INFO] [stdout] test mapper::mmc5::tests::chr_bg_window_uses_b_set_only_in_8x16_mode ... ok
[INFO] [stdout] test mapper::mmc5::tests::chr_ram_sync_round_trip ... ok
[INFO] [stdout] test mapper::mmc5::tests::exram_mode0_requires_rendering_for_writes ... ok
[INFO] [stdout] test mapper::mmc5::tests::exram_mode2_cpu_read_write ... ok
[INFO] [stdout] test mapper::mmc5::tests::exram_mode3_is_read_only ... ok
[INFO] [stdout] test mapper::mmc5::tests::chr_upper_bits_extend_bank_number ... ok
[INFO] [stdout] test mapper::mmc5::tests::in_frame_clears_during_vblank ... ok
[INFO] [stdout] test mapper::mmc5::tests::fill_mode_registers_store ... ok
[INFO] [stdout] test mapper::mmc5::tests::irq_disabled_suppresses_cpu_line_but_status_shows_pending ... ok
[INFO] [stdout] test mapper::mmc5::tests::multiplier_returns_product_bytes ... ok
[INFO] [stdout] test mapper::mmc5::tests::prg_mode0_maps_32k_from_5117 ... ok
[INFO] [stdout] test mapper::mmc5::tests::nametable_mapping_decode ... ok
[INFO] [stdout] test mapper::mmc5::tests::prg_mode1_two_16k_banks ... ok
[INFO] [stdout] test mapper::mmc5::tests::prg_mode3_four_independent_8k_banks ... ok
[INFO] [stdout] test mapper::mmc5::tests::prg_mode2_16k_plus_two_8k ... ok
[INFO] [stdout] test mapper::mmc5::tests::prg_ram_bank_select_and_protect ... ok
[INFO] [stdout] test mapper::mmc5::tests::prg_ram_slot_at_8000_when_ram_selected ... ok
[INFO] [stdout] test mapper::mmc5::tests::read_prg_below_8000_outside_ram_is_open_bus ... ok
[INFO] [stdout] test mapper::mmc5::tests::scanline_irq_fires_at_compare_and_read_clears ... ok
[INFO] [stdout] test mapper::namco108::tests::namco108_1k_chr_banks_via_r2_to_r5 ... ok
[INFO] [stdout] test mapper::namco108::tests::namco108_2k_chr_banks_ignore_bit0 ... ok
[INFO] [stdout] test mapper::mmc5::tests::state_round_trips ... ok
[INFO] [stdout] test mapper::namco108::tests::namco108_bank_select_masks_to_index_bits ... ok
[INFO] [stdout] test mapper::namco108::tests::namco108_prg_banks_switch_via_r6_r7_with_fixed_high ... ok
[INFO] [stdout] test mapper::namco108::tests::namco108_state_round_trips ... ok
[INFO] [stdout] test mapper::nrom::tests::test_nrom_from_prg_rom_exact_16k ... ok
[INFO] [stdout] test mapper::nrom::tests::test_nrom_from_prg_rom_truncate ... ok
[INFO] [stdout] test mapper::namco108::tests::namco108_register_values_masked_to_six_bits ... ok
[INFO] [stdout] test mapper::nrom::tests::test_nrom_read_prg ... ok
[INFO] [stdout] test mapper::nrom::tests::test_nrom_write_prg ... ok
[INFO] [stdout] test mapper::uxrom::tests::uxrom_from_prg_rom_exact_bank ... ok
[INFO] [stdout] test mapper::uxrom::tests::uxrom_from_prg_rom_pads_partial_bank ... ok
[INFO] [stdout] test mapper::uxrom::tests::uxrom_read_prg_resolves_via_mapper_trait ... ok
[INFO] [stdout] test mapper::uxrom::tests::uxrom_state_can_be_restored ... ok
[INFO] [stdout] test ppm::tests::encode_ppm_emits_expected_headers_and_pixel_layout ... ok
[INFO] [stdout] test ppm::tests::encode_ppm_returns_error_on_buffer_length_mismatch ... ok
[INFO] [stdout] test ppm::tests::encode_ppm_returns_error_on_buffer_too_large ... ok
[INFO] [stdout] test ppm::tests::encode_ppm_returns_error_on_frame_size_overflow ... ok
[INFO] [stdout] test ppu::tests::chr_window_change_before_sprite_prefetch_updates_next_scanline_sprite_tiles ... ok
[INFO] [stdout] test ppu::tests::chr_window_change_after_sprite_prefetch_keeps_next_scanline_sprite_tiles ... ok
[INFO] [stdout] test ppu::tests::dot_257_reloads_horizontal_scroll_from_temp_addr ... ok
[INFO] [stdout] test ppu::tests::chr_window_change_mid_sprite_prefetch_splits_next_scanline_sprite_banks ... ok
[INFO] [stdout] test ppu::tests::hblank_chr_window_change_is_visible_on_next_scanline_start ... ok
[INFO] [stdout] test ppu::tests::hblank_ppuaddr_change_is_visible_on_next_scanline_start ... ok
[INFO] [stdout] test mapper::gxrom::tests::gxrom_from_prg_chr_pads_chr ... ok
[INFO] [stdout] test ppu::tests::nametable_mirroring_maps_addresses ... ok
[INFO] [stdout] test cheat_codes::tests::cheat_code_decodes_address_bits_correctly ... ok
[INFO] [stdout] test cheat_codes::tests::cheat_code_decodes_value_bits_correctly ... ok
[INFO] [stdout] test mapper::colordreams::tests::color_dreams_state_round_trips ... ok
[INFO] [stdout] test ppu::tests::one_screen_lower_mirroring_maps_all_tables_to_first_page ... ok
[INFO] [stdout] test ppu::tests::one_screen_upper_mirroring_maps_all_tables_to_second_page ... ok
[INFO] [stdout] test mapper::mmc1::tests::mmc1_from_prg_rom_initializes_correctly ... ok
[INFO] [stdout] test mapper::nrom::tests::test_nrom_from_prg_rom_exact_32k ... ok
[INFO] [stdout] test ppu::tests::late_visible_ppuaddr_change_that_matures_in_hblank_hits_next_scanline_start ... ok
[INFO] [stdout] test ppu::tests::hblank_ppuctrl_write_preserves_split_vertical_scroll ... ok
[INFO] [stdout] test ppu::tests::ppuaddr_write_during_hblank_targets_next_scanline ... ok
[INFO] [stdout] test ppu::tests::ppuaddr_write_during_vblank_does_not_update_scroll ... ok
[INFO] [stdout] test ppu::tests::ppuaddr_write_during_visible_scanline_updates_scroll ... ok
[INFO] [stdout] test ppu::tests::pre_render_scroll_y_ff_wraps_back_to_row_zero_on_second_visible_scanline ... ok
[INFO] [stdout] test ppu::tests::restore_position_is_derived_from_cycle_in_frame ... ok
[INFO] [stdout] test ppu::tests::only_first_eight_sprites_render_on_a_scanline ... ok
[INFO] [stdout] test ppu::tests::visible_ppuaddr_split_write_advances_vertical_vram_at_dot_256 ... ok
[INFO] [stdout] test ppu::tests::visible_scanline_chr_window_change_is_delayed_until_prefetch_boundary ... ok
[INFO] [stdout] test ppu::tests::visible_scanline_ppuaddr_change_is_delayed_until_prefetch_boundary ... ok
[INFO] [stdout] test ppu::tests::visible_dot_background_cache_invalidates_after_pattern_write ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_exactly_16_bytes_missing_prg ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_four_screen_mirroring ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_ines_console_type_is_rejected ... ok
[INFO] [stdout] test ppu::tests::sprite_overflow_stays_latched_until_pre_render_clear_when_sprites_disabled ... ok
[INFO] [stdout] test ppu::tests::restore_rerender_falls_back_to_live_scroll_before_first_vblank_capture ... ok
[INFO] [stdout] test ppu::tests::visible_dot_sprite_cache_invalidates_after_oam_write ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_invalid_magic ... ok
[INFO] [stdout] test ppu::tests::vblank_edges_are_dot_exact ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_mirroring ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_nes2_console_type_is_rejected ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_nes2_mapper_id ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_missing_prg ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_nes2_extended_mapper ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_nes2_prg_chr_msb ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_trainer ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_truncated_body ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_truncated_header ... ok
[INFO] [stdout] test rom::tests::test_rom_error_display ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_nes2_size_encoding ... ok
[INFO] [stdout] test scheduler::tests::restore_near_wrap_then_step_advances_and_wraps ... ok
[INFO] [stdout] test rom::tests::test_parse_ines_nes2_submapper_is_rejected ... ok
[INFO] [stdout] test scheduler::tests::wrap_behavior_preserves_phase_instead_of_saturating ... ok
[INFO] [stdout] test scheduler::tests::should_reset_scheduler_counters ... ok
[INFO] [stdout] test scheduler::tests::should_return_correct_default_scheduler ... ok
[INFO] [stdout] test scheduler::tests::should_save_and_restore_scheduler_snapshot ... ok
[INFO] [stdout] test ppu::tests::odd_frame_shortens_by_one_dot_when_rendering_enabled ... ok
[INFO] [stdout] test scheduler::tests::test_cpu_ppu_apu_getters ... ok
[INFO] [stdout] test serde_array::tests::test_deserialize_too_long ... ok
[INFO] [stdout] test serde_array::tests::test_deserialize_invalid_length ... ok
[INFO] [stdout] test serde_array::tests::test_expected_length_formatting ... ok
[INFO] [stdout] test serde_array::tests::test_serialize_deserialize_u8_array ... ok
[INFO] [stdout] test tas::tests::test_tas_movie_push_run_coalescing ... ok
[INFO] [stdout] test tas::tests::test_tas_movie_to_macro_script_fails_with_player_2_input ... ok
[INFO] [stdout] test tas::tests_mutants::test_tas_recorder_methods ... ok
[INFO] [stdout] test tas::tests_mutants::test_tas_frame_run_new ... ok
[INFO] [stdout] test ppu::tests::restore_rerender_uses_vblank_captured_y_scroll ... ok
[INFO] [stdout] test tas::tests_mutants::test_tas_movie_methods ... ok
[INFO] [stdout] test rom::havoc_fuzz_tests::havoc_fuzz_ines_parse ... ok
[INFO] [stderr]      Running tests/apu_hardware_fidelity.rs (/opt/rustwide/target/debug/deps/apu_hardware_fidelity-a0a7e7c5e3c08132)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 276 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test mode5_write_clocks_quarter_and_half_immediately ... ok
[INFO] [stdout] test pulse1_negate_sweep_uses_extra_subtract_step ... ok
[INFO] [stdout] test frame_irq_clears_on_status_read ... ok
[INFO] [stdout] test pulse_sweep_updates_timer_reload_on_half_frame_tick ... ok
[INFO] [stderr]      Running tests/audio_contract.rs (/opt/rustwide/target/debug/deps/audio_contract-0a566bb420b1126c)
[INFO] [stdout] test pulse2_triangle_noise_writes_change_mixed_output ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test audio_chunk_is_reset_deterministic ... ok
[INFO] [stdout] test audio_chunk_has_expected_sample_geometry ... ok
[INFO] [stdout] test audio_chunk_is_input_invariant_without_channel_state_changes ... ok
[INFO] [stdout] test audio_chunk_stays_well_formed_under_long_run ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.52s
[INFO] [stderr]      Running tests/bus_map.rs (/opt/rustwide/target/debug/deps/bus_map-ad1a462c23219026)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/bus_map_prop.rs (/opt/rustwide/target/debug/deps/bus_map_prop-7f9f2772106035de)
[INFO] [stdout] test address_regions_are_unambiguous ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test every_address_maps_to_legal_region ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cheat_codes.rs (/opt/rustwide/target/debug/deps/cheat_codes-52d7305a737bf2a0)
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test cheat_code_decodes_eight_letter_codes_with_compare ... ok
[INFO] [stdout] test cheat_code_rejects_invalid_codes ... ok
[INFO] [stdout] test cheat_code_decodes_six_letter_codes ... ok
[INFO] [stdout] test cheat_codes_override_nrom_reads_and_can_be_cleared ... ok
[INFO] [stdout] test compare_guarded_cheat_codes_track_uxrom_bank_switches ... ok
[INFO] [stdout] test state_hash_differentiates_cheat_code_variations ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/command_query_contract.rs (/opt/rustwide/target/debug/deps/command_query_contract-d13875d1d6b9e42e)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test pause_and_resume_are_core_commands ... ok
[INFO] [stdout] test boot_state_is_queryable_without_frontend ... ok
[INFO] [stdout] test controller_state_and_speed_are_queryable ... ok
[INFO] [stderr]      Running tests/cpu_exec_trace.rs (/opt/rustwide/target/debug/deps/cpu_exec_trace-0a1d732a4914d97d)
[INFO] [stdout] test ppu_frame_counter_is_queryable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test beq_not_taken_when_zero_flag_is_clear ... ok
[INFO] [stdout] test beq_taken_when_zero_flag_is_set ... ok
[INFO] [stdout] test bne_taken_when_zero_flag_is_clear ... ok
[INFO] [stdout] test bus_microphase_for_lda_immediate_matches_cycle_reads ... ok
[INFO] [stdout] test bpl_and_bmi_follow_negative_flag ... ok
[INFO] [stdout] test cpu_executes_ldx_ldy_txa_tya_sequence ... ok
[INFO] [stdout] test bus_microphase_for_sta_absolute_matches_fetch_fetch_fetch_write ... ok
[INFO] [stdout] test cpu_executes_lda_tax_inx_sequence ... ok
[INFO] [stdout] test jsr_and_rts_round_trip_through_stack ... ok
[INFO] [stdout] test nestest_style_trace_for_lda_immediate_matches_expected_prefix ... ok
[INFO] [stdout] test sta_absolute_x_writes_indexed_target ... ok
[INFO] [stdout] test nop_advances_pc_and_preserves_registers ... ok
[INFO] [stdout] test irq_service_is_masked_when_interrupt_disable_is_set ... ok
[INFO] [stdout] test irq_service_vectors_when_interrupts_enabled ... ok
[INFO] [stdout] test nestest_style_trace_for_ldx_immediate_matches_expected_prefix ... ok
[INFO] [stdout] test sta_absolute_writes_memory_and_emits_prg_write ... ok
[INFO] [stdout] test unknown_opcode_returns_error ... ok
[INFO] [stderr]      Running tests/cycle_accuracy.rs (/opt/rustwide/target/debug/deps/cycle_accuracy-79cd66f95dd21b61)
[INFO] [stdout] test txs_and_stx_absolute_update_stack_and_memory ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test absolute_x_page_cross_adds_cycle_for_reads ... ok
[INFO] [stdout] test branch_taken_and_page_cross_add_cycles ... ok
[INFO] [stderr]      Running tests/dma_microcycle_timing.rs (/opt/rustwide/target/debug/deps/dma_microcycle_timing-801cdf52387c8b3d)
[INFO] [stdout] test step_frame_advances_to_next_ppu_frame ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test oam_dma_copies_page_and_stalls_cpu ... ok
[INFO] [stdout] test dmc_irq_latches_until_disabled_via_status_write ... ok
[INFO] [stdout] test oam_dma_timing_remains_correct_across_cpu_cycle_wrap ... ok
[INFO] [stderr]      Running tests/dot_hardware_timing.rs (/opt/rustwide/target/debug/deps/dot_hardware_timing-a3545bed88f93945)
[INFO] [stdout] test dmc_fetches_increase_cpu_cycle_count_via_dma_stalls ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test apu_frame_sequencer_ticks_on_hardware_cycle_boundaries ... ok
[INFO] [stdout] test ppu_vblank_edges_are_dot_exact ... ok
[INFO] [stdout] test step_frame_advances_one_ppu_frame_with_odd_frame_shortening ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/framebuffer_contract.rs (/opt/rustwide/target/debug/deps/framebuffer_contract-80053d483ccd848b)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test timed_sta_to_ppuscroll_does_not_retroactively_rewrite_earlier_pixels ... ok
[INFO] [stdout] test framebuffer_geometry_matches_nes_resolution ... ok
[INFO] [stdout] test mid_frame_scroll_write_changes_later_scanline_pixels_only ... ok
[INFO] [stdout] test framebuffer_reflects_ppu_background_pattern_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc.rs (/opt/rustwide/target/debug/deps/havoc-e660a8d9645f3647)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_fuzz_cheat_code_parsing ... ignored, havoc target
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_bmp.rs (/opt/rustwide/target/debug/deps/havoc_bmp-f2eb680c621c23fc)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/irq_line.rs (/opt/rustwide/target/debug/deps/irq_line-f338162de0e879bc)
[INFO] [stdout] test havoc_encode_bmp_panics_on_small_buffer ... ignored, havoc target
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test apu_frame_irq_vectors_cpu_when_interrupts_enabled ... ok
[INFO] [stdout] test apu_frame_irq_is_masked_while_interrupt_disable_set ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mapper_axrom.rs (/opt/rustwide/target/debug/deps/mapper_axrom-b66c2c3efef0b0e9)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test axrom_selected_bank_maps_entire_32k_prg_window ... ok
[INFO] [stdout] test axrom_write_selects_bank_and_one_screen_mirroring ... ok
[INFO] [stdout] test axrom_short_prg_is_zero_padded_to_full_32k_window ... ok
[INFO] [stdout] test axrom_read_prg_masks_address_into_32k_window ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mapper_camerica.rs (/opt/rustwide/target/debug/deps/mapper_camerica-a098ab3a6eedaa93)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test camerica_exposes_writable_chr_ram ... ok
[INFO] [stdout] test camerica_ignores_writes_to_8000_bfff ... ok
[INFO] [stdout] test camerica_masks_bank_select_to_low_nibble ... ok
[INFO] [stdout] test camerica_normalizes_empty_and_odd_prg ... ok
[INFO] [stdout] test camerica_switches_16k_bank_at_8000 ... ok
[INFO] [stderr]      Running tests/mapper_cnrom.rs (/opt/rustwide/target/debug/deps/mapper_cnrom-1cbfea5c3ea295c6)
[INFO] [stdout] test camerica_high_window_is_fixed_to_last_bank ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test cnrom_empty_prg_defaults_to_zero_byte ... ok
[INFO] [stdout] test cnrom_chr_bank_count_does_not_wrap_at_256_banks ... ok
[INFO] [stdout] test cnrom_from_prg_chr_pads_chr_rom ... ok
[INFO] [stdout] test cnrom_prg_mapping_is_fixed_across_chr_bank_switches ... ok
[INFO] [stdout] test cnrom_short_chr_input_is_zero_padded ... ok
[INFO] [stdout] test cnrom_write_selects_chr_bank_window ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mapper_colordreams.rs (/opt/rustwide/target/debug/deps/mapper_colordreams-311654a68462c3cf)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test color_dreams_masks_prg_and_chr_select_bits ... ok
[INFO] [stdout] test color_dreams_switches_8k_chr_banks ... ok
[INFO] [stdout] test color_dreams_uses_chr_ram_when_chr_absent ... ok
[INFO] [stdout] test color_dreams_normalizes_undersized_and_odd_inputs ... ok
[INFO] [stderr]      Running tests/mapper_fanout.rs (/opt/rustwide/target/debug/deps/mapper_fanout-2c1b9d75088e3410)
[INFO] [stdout] test color_dreams_switches_32k_prg_banks ... ok
[INFO] [stdout] test color_dreams_wraps_bank_selects_modulo_available_banks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test mmc2_prg_bank_switch_and_save_state_through_nescore ... ok
[INFO] [stdout] test fme7_irq_counter_underflow_vectors_cpu_through_nescore ... ok
[INFO] [stdout] test mmc4_prg_and_wram_and_save_state_through_nescore ... ok
[INFO] [stdout] test colordreams_prg_bank_switch_through_nescore ... ok
[INFO] [stdout] test camerica_prg_bank_switch_through_nescore ... ok
[INFO] [stdout] test fme7_prg_and_wram_and_bank_switch_through_nescore ... ok
[INFO] [stdout] test namco108_prg_bank_switch_through_nescore ... ok
[INFO] [stdout] test mmc4_chr_latch_rebanks_background_through_ppu_render_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mapper_fme7.rs (/opt/rustwide/target/debug/deps/mapper_fme7-3b57191802260735)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test fme7_6000_rom_mapped_returns_selected_bank_and_ignores_writes ... ok
[INFO] [stdout] test fme7_chr_window_assembles_from_1k_banks ... ok
[INFO] [stdout] test fme7_irq_fires_at_underflow_and_acks_on_reg_d_write ... ok
[INFO] [stdout] test fme7_counter_disable_freezes_and_irq_disable_suppresses ... ok
[INFO] [stdout] test fme7_mirroring_register_produces_four_distinct_modes ... ok
[INFO] [stdout] test fme7_normalizes_inputs_and_guards_out_of_range_access ... ok
[INFO] [stdout] test fme7_prg_banks_switch_with_fixed_last_at_e000 ... ok
[INFO] [stdout] test fme7_chr_ram_when_absent_is_writable ... ok
[INFO] [stdout] test fme7_6000_ram_round_trips_and_open_bus_when_disabled ... ok
[INFO] [stderr]      Running tests/mapper_gxrom.rs (/opt/rustwide/target/debug/deps/mapper_gxrom-408bc8256c87cdb1)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test gxrom_bank_counts_do_not_wrap_at_256_banks ... ok
[INFO] [stdout] test gxrom_from_prg_chr_pads_unaligned_prg_rom ... ok
[INFO] [stdout] test gxrom_read_prg_masks_address_into_32k_window ... ok
[INFO] [stdout] test gxrom_selected_prg_bank_maps_entire_32k_window ... ok
[INFO] [stdout] test gxrom_short_inputs_are_zero_padded ... ok
[INFO] [stderr]      Running tests/mapper_mmc1.rs (/opt/rustwide/target/debug/deps/mapper_mmc1-213463c732dede5e)
[INFO] [stdout] test gxrom_write_selects_prg_and_chr_banks ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test mmc1_resets_shift_register_on_bit7_write ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mapper_mmc2.rs (/opt/rustwide/target/debug/deps/mapper_mmc2-134286e161794aaf)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test mmc2_high_half_chr_latch_is_independent ... ok
[INFO] [stdout] test mmc2_chr_ram_when_chr_absent_syncs_both_halves ... ok
[INFO] [stdout] test mmc2_chr_rom_is_not_writable ... ok
[INFO] [stdout] test mmc2_low_half_chr_latch_switches_on_fd_fe_fetches ... ok
[INFO] [stdout] test mmc2_mirroring_register_yields_two_distinct_modes ... ok
[INFO] [stdout] test mmc2_prg_bank_select_masks_to_four_bits ... ok
[INFO] [stdout] test mmc2_reads_and_writes_below_8000_and_unmapped_region_are_guarded ... ok
[INFO] [stdout] test mmc2_short_inputs_do_not_panic ... ok
[INFO] [stdout] test mmc2_switchable_low_bank_and_fixed_last_three ... ok
[INFO] [stdout] test mmc2_non_multiple_chr_rom_is_padded ... ok
[INFO] [stderr]      Running tests/mapper_mmc3.rs (/opt/rustwide/target/debug/deps/mapper_mmc3-5db61b3341927ba0)
[INFO] [stdout] test mmc2_chr_latch_rebanks_background_through_ppu_render_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test mmc3_irq_not_triggered_if_rendering_disabled ... ok
[INFO] [stdout] test mmc3_irq_8x16_sprites_clock_once_per_scanline ... ok
[INFO] [stdout] test mmc3_irq_retimes_correctly_across_frames ... ok
[INFO] [stdout] test mmc3_irq_shared_high_table_is_effectively_suppressed ... ok
[INFO] [stdout] test mmc3_irq_disabled_and_acknowledged_on_write_to_e000 ... ok
[INFO] [stdout] test mmc3_irq_not_triggered_on_vblank_scanlines ... ok
[INFO] [stdout] test mmc3_prg_ram_does_not_alias_prg_rom ... ok
[INFO] [stdout] test mmc3_chr_inversion_reorders_1k_and_2k_windows ... ok
[INFO] [stdout] test mmc3_prg_ram_round_trips ... ok
[INFO] [stdout] test mmc3_irq_c001_forces_reload_mid_count ... ok
[INFO] [stdout] test mmc3_irq_common_config_clocks_exactly_once_per_scanline ... ok
[INFO] [stdout] test mmc3_irq_common_config_fires_after_exactly_n_scanlines ... ok
[INFO] [stdout] test mmc3_prg_mode_swaps_fixed_and_switchable_windows ... ok
[INFO] [stdout] test mmc3_prg_ram_respects_write_protect_and_enable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mapper_mmc4.rs (/opt/rustwide/target/debug/deps/mapper_mmc4-0410517a107048ce)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test mmc4_chr_latch_matches_mmc2_low_and_high_halves ... ok
[INFO] [stdout] test mmc4_chr_ram_when_chr_absent_syncs_both_halves ... ok
[INFO] [stdout] test mmc4_mirroring_register_yields_two_distinct_modes ... ok
[INFO] [stdout] test mmc4_non_multiple_chr_rom_is_padded ... ok
[INFO] [stdout] test mmc4_prg_bank_select_masks_to_four_bits ... ok
[INFO] [stdout] test mmc4_prg_ram_round_trip ... ok
[INFO] [stdout] test mmc4_reads_and_writes_below_8000_and_unmapped_region_are_guarded ... ok
[INFO] [stdout] test mmc4_short_inputs_do_not_panic ... ok
[INFO] [stdout] test mmc4_switchable_16k_bank_and_fixed_last ... ok
[INFO] [stdout] test mmc4_chr_rom_is_not_writable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mapper_mmc5.rs (/opt/rustwide/target/debug/deps/mapper_mmc5-7c971595d542ae0c)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test mmc5_prg_bank_switch_through_nescore ... ok
[INFO] [stdout] test mmc5_prg_ram_save_state_round_trip ... ok
[INFO] [stdout] test mmc5_scanline_irq_vectors_cpu_through_nescore ... ok
[INFO] [stdout] test mmc5_multiplier_and_exram_through_nescore ... ok
[INFO] [stdout] test mmc5_state_hash_and_save_state_round_trip ... ok
[INFO] [stdout] test mmc5_prg_ram_write_protect_handshake_through_nescore ... ok
[INFO] [stdout] test mmc5_chr_bank_switch_changes_rendered_pixels ... ok
[INFO] [stderr]      Running tests/mapper_namco108.rs (/opt/rustwide/target/debug/deps/mapper_namco108-30396737fdb93998)
[INFO] [stdout] test mmc5_8x16_sprite_chr_bank_split ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test namco108_1k_chr_banks_via_r2_r5 ... ok
[INFO] [stdout] test namco108_bank_select_uses_only_index_bits ... ok
[INFO] [stdout] test namco108_chr_ram_when_chr_absent_syncs_and_reads_back ... ok
[INFO] [stdout] test namco108_prg_switches_r6_r7_with_fixed_high_windows ... ok
[INFO] [stdout] test namco108_non_multiple_chr_rom_is_padded_and_not_writable ... ok
[INFO] [stdout] test namco108_reads_and_writes_below_8000_are_guarded ... ok
[INFO] [stdout] test namco108_register_values_masked_to_six_bits ... ok
[INFO] [stderr]      Running tests/mapper_nrom_uxrom.rs (/opt/rustwide/target/debug/deps/mapper_nrom_uxrom-98803a285bc373e6)
[INFO] [stdout] test namco108_2k_chr_banks_via_r0_r1_ignore_bit0 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test nrom_from_prg_rom_truncates_large_rom ... ok
[INFO] [stdout] test nrom_reads_from_prg_rom ... ok
[INFO] [stdout] test nrom_ignores_bank_switch_writes ... ok
[INFO] [stdout] test uxrom_boundary_read ... ok
[INFO] [stdout] test uxrom_from_prg_rom_counts_banks ... ok
[INFO] [stdout] test uxrom_from_prg_rom_empty_is_readable ... ok
[INFO] [stdout] test uxrom_from_prg_rom_partial_bank_is_padded ... ok
[INFO] [stdout] test uxrom_from_prg_rom_preserves_large_bank_count_without_u8_wrap ... ok
[INFO] [stdout] test uxrom_reads_lower_bank_from_selected_and_upper_from_last ... ok
[INFO] [stderr]      Running tests/mmio_register_reads.rs (/opt/rustwide/target/debug/deps/mmio_register_reads-56108475b465b75e)
[INFO] [stdout] test uxrom_switches_lower_bank_only ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test oamdata_read_returns_byte_at_oamaddr ... ok
[INFO] [stdout] test controller_port_reads_shift_bits_when_strobe_low ... ok
[INFO] [stdout] test controller2_port_reads_shift_bits_from_4017 ... ok
[INFO] [stdout] test ppudata_reads_are_buffered ... ok
[INFO] [stdout] test sprite_zero_hit_requires_non_transparent_background_pixel ... ok
[INFO] [stdout] test sprite_zero_hit_requires_background_rendering_enabled ... ok
[INFO] [stdout] test sprite_zero_hit_sets_ppustatus_bit ... ok
[INFO] [stdout] test sprite_overflow_sets_ppustatus_bit ... ok
[INFO] [stdout] test unofficial_nop_abs_still_performs_read_side_effects ... ok
[INFO] [stdout] test mirrored_ppu_status_read_clears_vblank_bit ... ok
[INFO] [stdout] test ppustatus_write_is_ignored ... ok
[INFO] [stdout] test ppu_status_read_clears_vblank_bit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ppu_nmi.rs (/opt/rustwide/target/debug/deps/ppu_nmi-94c0b6bcb85637a0)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test nmi_triggers_when_ppuctrl_nmi_enabled ... ok
[INFO] [stdout] test ppu_status_register_reflects_vblank_progression ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/proptest_math.rs (/opt/rustwide/target/debug/deps/proptest_math-482ff9beae4b460c)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test test_core_read_memory_fuzz ... ok
[INFO] [stdout] test test_cpu_cycles_dont_overflow ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rom_loader.rs (/opt/rustwide/target/debug/deps/rom_loader-7dea505f37a79677)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test invalid_ines_magic_is_rejected ... ok
[INFO] [stdout] test load_nes2_nrom32_maps_prg_and_respects_reset_vector ... ok
[INFO] [stdout] test load_gxrom_maps_initial_32k_bank_for_boot ... ok
[INFO] [stdout] test load_mmc1_maps_first_and_last_bank_for_boot ... ok
[INFO] [stdout] test load_axrom_maps_initial_32k_bank_for_boot ... ok
[INFO] [stdout] test load_mmc3_maps_switchable_and_fixed_prg_windows_for_boot ... ok
[INFO] [stdout] test axrom_bank_switch_via_cpu_prg_write_changes_entire_prg_window ... ok
[INFO] [stdout] test load_nrom16_maps_prg_and_respects_reset_vector ... ok
[INFO] [stdout] test load_uxrom_maps_first_and_last_bank_for_boot ... ok
[INFO] [stdout] test mmc3_bank_switch_via_prg_writes_changes_lower_8k_window ... ok
[INFO] [stdout] test mmc3_prg_ram_is_readable_and_writable_through_cpu_bus ... ok
[INFO] [stdout] test mmc3_chr_ram_writes_survive_mapper_register_writes ... ok
[INFO] [stdout] test non_wram_mapper_leaves_6000_7fff_as_flat_ram ... ok
[INFO] [stdout] test unsupported_mapper_is_rejected ... ok
[INFO] [stdout] test mmc3_prg_ram_write_protect_and_chip_disable_behave ... ok
[INFO] [stdout] test uxrom_bank_switch_via_cpu_prg_write_changes_lower_window ... ok
[INFO] [stdout] test mmc1_bank_switch_via_prg_writes_changes_lower_window ... ok
[INFO] [stdout] test gxrom_bank_switch_via_cpu_prg_write_updates_prg_and_chr_windows ... ok
[INFO] [stdout] test cnrom_chr_bank_switch_via_prg_write_changes_background_pixels ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/scheduler_determinism.rs (/opt/rustwide/target/debug/deps/scheduler_determinism-50ec9ccf45fc24b7)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test identical_command_sequences_yield_identical_state_hash ... ok
[INFO] [stdout] test step_frame_advances_monotonic_cycle_counter ... ok
[INFO] [stdout] test step_scanline_advances_cycles_less_than_frame ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/state_hash_mapper.rs (/opt/rustwide/target/debug/deps/state_hash_mapper-50f901ecc8298419)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test state_hash_differentiates_mapper_state ... ok
[INFO] [stdout] test state_hash_differentiates_all_mappers ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/status_flags.rs (/opt/rustwide/target/debug/deps/status_flags-529cf4afce6145db)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test zero_and_negative_flags_follow_value_written ... ok
[INFO] [stderr]      Running tests/step_cpu_core_integration.rs (/opt/rustwide/target/debug/deps/step_cpu_core_integration-7fd0bdafc83022ec)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running tests/step_cpu_coverage.rs (/opt/rustwide/target/debug/deps/step_cpu_coverage-b8152d978819394d)
[INFO] [stdout] test step_cpu_executes_instruction_and_tracks_trace ... ok
[INFO] [stdout] test step_cpu_surfaces_unknown_opcode_errors ... 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] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cpu_opcode_coverage ... ok
[INFO] [stderr]      Running tests/step_cpu_unofficial.rs (/opt/rustwide/target/debug/deps/step_cpu_unofficial-e161ef4420009ed5)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_unofficial_instruction_trace_no_alloc ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tas.rs (/opt/rustwide/target/debug/deps/tas-9754978474a1f762)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test tas_error_display_describes_player2_macro_limit ... ok
[INFO] [stdout] test tas_movie_exports_legacy_macro_script ... ok
[INFO] [stdout] test tas_movie_macro_export_rejects_player2_input ... ok
[INFO] [stdout] test tas_movie_serde_round_trip_preserves_runs ... ok
[INFO] [stdout] test tas_recorder_coalesces_identical_frames_into_runs ... ok
[INFO] [stdout] test tas_recorder_macro_script_matches_movie_export ... ok
[INFO] [stdout] test tas_recorder_can_capture_live_core_state_and_finish_movie ... ok
[INFO] [stdout] test tas_recorder_start_stop_and_clear_update_observable_state ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_desktop-d8c09df82b1c8009)
[INFO] [stdout] test tas_movie_replay_matches_direct_command_execution ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 57 tests
[INFO] [stdout] test app::tests::key_mapping_supports_both_shift_keys_for_select ... ok
[INFO] [stdout] test actions::tests::menu_ids_roundtrip_common_actions_and_slots ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_accepts_all_equals_forms_for_netplay_flags ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_accepts_rta_flags ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_accepts_repeated_cheat_code_flags ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_accepts_netplay_flags ... ok
[INFO] [stdout] test app::tests::key_bit_mapping_returns_expected_mask ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_accepts_mcp_host_and_bind_flags ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_defaults_bind_when_flag_absent ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_rejects_unknown_flags ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_accepts_equals_bind_form ... ok
[INFO] [stdout] test audio::tests::rodio_sink_adapter_stop_mutes_idle_queue_output ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_help_and_validation_paths ... ok
[INFO] [stdout] test audio::tests::audio_output_queue_and_drop_behave_with_fake_sink ... ok
[INFO] [stdout] test audio::tests::rodio_sink_adapter_forwards_append_and_queue_len ... ok
[INFO] [stdout] test audio::tests::audio_output_rejects_samples_when_queue_is_full ... ok
[INFO] [stdout] test manual_state::tests::portable_stem_for_rom_path_uses_last_segment_for_unix_style_paths ... ok
[INFO] [stdout] test manual_state::tests::portable_stem_for_rom_path_uses_last_segment_for_windows_style_paths ... ok
[INFO] [stdout] test audio::tests::audio_output_clear_forwards_to_sink_and_empties_queue ... ok
[INFO] [stdout] test menu::tests::menu_event_ids_map_to_expected_actions ... ok
[INFO] [stdout] test menu::tests::native_menu_contains_file_and_emulation_sections ... ok
[INFO] [stdout] test manual_state::tests::slot_path_for_rom_includes_slot_number_and_hash_prefix ... ok
[INFO] [stdout] test menu::tests::native_menu_emulation_section_contains_cheats_entry ... ok
[INFO] [stdout] test manual_state::tests::slot_paths_for_rom_returns_contiguous_numbered_slots ... ok
[INFO] [stdout] test menu::tests::rom_picker_capability_matches_platform_contract ... ok
[INFO] [stdout] test manual_state::tests::read_slot_metadata_flags_corrupt_files_without_failing_refresh ... ok
[INFO] [stdout] test overlay::tests::add_cheat_modal_collects_input_and_submits_uppercase_code ... ok
[INFO] [stdout] test menu::tests::rollback_disables_open_and_slot_actions ... ok
[INFO] [stdout] test overlay::tests::cheats_panel_supports_toggle_and_remove_shortcuts ... ok
[INFO] [stdout] test overlay::tests::cheats_panel_navigation_wraps_and_escape_returns_to_main_menu ... ok
[INFO] [stdout] test overlay::tests::draw_text_marks_pixels_inside_target_buffer ... ok
[INFO] [stdout] test overlay::tests::main_menu_can_activate_cheats_action ... ok
[INFO] [stdout] test overlay::tests::main_menu_navigation_wraps_and_tracks_selected_slot ... ok
[INFO] [stdout] test overlay::tests::moving_main_menu_slot_selection_updates_selected_slot ... ok
[INFO] [stdout] test rta::tests::artifact_writer_saves_run_json_and_optional_input_log ... ok
[INFO] [stdout] test rta::tests::calibration_outputs_draft_profile_and_report ... ok
[INFO] [stdout] test overlay::tests::draw_overlay_renders_cheats_panel_and_input_modal ... ok
[INFO] [stdout] test rta::tests::profile_parse_defaults_and_trigger_ops_are_supported ... ok
[INFO] [stdout] test rta::tests::compare_rom_hashes_ignores_case_without_allocation ... ok
[INFO] [stdout] test rta::tests::select_profile_handles_multiple_matches_and_empty_matches ... ok
[INFO] [stdout] test overlay::tests::draw_overlay_renders_main_panel_selection_and_status_message ... ok
[INFO] [stdout] test session_cheats::tests::add_normalizes_lowercase_codes ... ok
[INFO] [stdout] test rta::tests::state_machine_transitions_and_invalidation_keep_timer_running ... ok
[INFO] [stdout] test session_cheats::tests::clear_removes_all_entries ... ok
[INFO] [stdout] test session_cheats::tests::doc_examples_combinations_work_without_panics ... ok
[INFO] [stdout] test session_cheats::tests::from_raw_codes_preserves_duplicate_order ... ok
[INFO] [stdout] test session_cheats::tests::invalid_codes_are_rejected_before_mutation ... ok
[INFO] [stdout] test session_cheats::tests::is_empty_returns_true_for_empty_list ... ok
[INFO] [stdout] test session_cheats::tests::missing_indices_report_bounds_errors ... ok
[INFO] [stdout] test rta::tests::select_profile_prefers_override_and_handles_draft_rules ... ok
[INFO] [stdout] test session_cheats::tests::toggle_and_remove_mutate_expected_entries ... ok
[INFO] [stdout] test session_cheats::tests::session_cheat_error_fmt ... ok
[INFO] [stdout] test args::tests::parse_runtime_args_control_flow_branches_do_not_hang ... ok
[INFO] [stdout] test rta::tests::profile_parse_rejects_unknown_fields ... ok
[INFO] [stdout] test rta::tests::rom_hash_is_stable_and_lowercase_hex ... ok
[INFO] [stdout] test manual_state::tests::read_slot_metadata_flags_incompatible_rom_hash ... ok
[INFO] [stdout] test manual_state::tests::read_slot_metadata_reports_empty_and_saved_slots ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nes_desktop-477b70e2b210c28c)
[INFO] [stdout] 
[INFO] [stdout] running 61 tests
[INFO] [stdout] test input::tests::classify_keyboard_input_rta_calibrate_conditions ... ok
[INFO] [stdout] test input::tests::map_virtual_keycode_maps_all_keys ... ok
[INFO] [stdout] test input::tests::evaluate_frame_deadline_classifies_wait_and_step_cases ... ok
[INFO] [stdout] test metrics::tests::compute_metrics_snapshot_derives_expected_rates ... ok
[INFO] [stdout] test metrics::tests::compute_metrics_snapshot_handles_guard_conditions_and_saturating_ppu_delta ... ok
[INFO] [stdout] test input::tests::classify_window_event_maps_window_variants_to_decisions ... ok
[INFO] [stdout] test input::tests::classify_keyboard_input_covers_exit_rewind_rollback_and_core_paths ... ok
[INFO] [stdout] test metrics::tests::frame_signature_matches_reference_and_changes_on_sampled_byte ... ok
[INFO] [stdout] test netplay::tests::connect_rejects_invalid_player_before_attempting_socket_connect ... ok
[INFO] [stdout] test netplay::tests::netplay_helper_functions_choose_local_bits_and_hash_schedule ... ok
[INFO] [stdout] test metrics::tests::perf_metrics_maybe_report_guard_paths_skip_when_disabled_or_under_threshold ... ok
[INFO] [stdout] test metrics::tests::perf_metrics_disabled_mode_does_not_mutate_tracking_fields ... ok
[INFO] [stdout] [2J[1;1H[2J[1;1Htest metrics::tests::perf_metrics_render_audio_and_netplay_observation_update_fields ... ok
[INFO] [stdout] test netplay::tests::try_recv_returns_messages_and_prioritizes_error_channel ... ok
[INFO] [stdout] test netplay::tests::send_methods_report_channel_disconnect_errors ... ok
[INFO] [stdout] test metrics::tests::perf_metrics_maybe_report_resets_window_after_threshold ... ok
[INFO] [stdout] test netplay::tests::schedule_netplay_ping_enforces_deadline_nonce_and_pending_cap ... ok
[INFO] [stdout] [2J[1;1Htest session::tests::format_rom_read_error_handles_not_found ... ok
[INFO] [stdout] test session::tests::format_rom_read_error_handles_other_errors ... ok
[INFO] [stdout] [2J[1;1Htest session::tests::format_slot_status_renders_expected_labels ... ok
[INFO] [stdout] test session::tests::applying_runtime_cheat_codes_replaces_existing_codes ... ok
[INFO] [stdout] test metrics::tests::netplay_metrics_color_thresholds ... ok
[INFO] [stdout] test metrics::tests::perf_metrics_on_step_tracks_stalls_and_recovers_on_pc_change ... ok
[INFO] [stdout] test session::tests::apply_session_cheats_applies_enabled_codes ... ok
[INFO] [stdout] test netplay::tests::reader_loop_forwards_messages_and_reports_relay_close ... ok
[INFO] [stdout] test session::tests::slot_path_for_selection_constructs_expected_path ... ok
[INFO] [stdout] test session::tests::rom_display_name_extracts_stem ... ok
[INFO] [stdout] test session::tests::window_title_includes_pause_suffix ... ok
[INFO] [stdout] test session::tests::load_rom_session_propagates_read_errors ... ok
[INFO] [stdout] test tests::adaptive_delay_exact_targets_and_hysteresis_behave_as_expected ... ok
[INFO] [stdout] test session::tests::refresh_slot_metadata_updates_session_slots ... ok
[INFO] [stdout] test tests::adaptive_delay_returns_min_when_bounds_are_invalid ... ok
[INFO] [stdout] test tests::adaptive_delay_uses_current_when_no_rtt_sample ... ok
[INFO] [stdout] test tests::adaptive_delay_reacts_to_rtt_and_jitter ... ok
[INFO] [stdout] test tests::classify_window_event_maps_window_variants_to_decisions ... ok
[INFO] [stdout] test tests::capture_config_helpers_handle_placeholders_and_defaults ... ok
[INFO] [stdout] test tests::controller_state_delta_emits_press_and_release ... ok
[INFO] [stdout] test tests::controller_state_delta_for_player2_uses_player2_commands ... ok
[INFO] [stdout] test tests::desktop_loop_helper_primitives_cover_window_scale_and_player_flags ... ok
[INFO] [stdout] test tests::format_rom_read_error_handles_not_found_and_other_errors ... ok
[INFO] [stdout] test tests::apply_gamepad_delta_commands_updates_controller_bits ... ok
[INFO] [stdout] test tests::gamepad_source_helpers_select_connected_ids_without_duplicates ... ok
[INFO] [stdout] test tests::map_virtual_keycode_maps_all_supported_keys ... ok
[INFO] [stdout] test tests::netplay_runtime_stats_tracks_rtt_jitter_rollbacks_and_desyncs ... ok
[INFO] [stdout] test tests::build_startup_table_creates_expected_table_with_all_options ... ok
[INFO] [stdout] test tests::open_rom_menu_action_requires_platform_picker_support ... ok
[INFO] [stdout] test tests::reconcile_core_pause_with_overlay_matches_overlay_visibility ... ok
[INFO] [stdout] test tests::gamepad_assignment_helpers_detect_global_and_slot_level_changes ... ok
[INFO] [stdout] test tests::overlay_input_requires_redraw_for_navigation_action_and_text_entry_keys ... ok
[INFO] [stdout] test tests::overlay_blocks_gameplay_button_commands_while_open ... ok
[INFO] [stdout] test tests::resync_restored_inputs_reapplies_keyboard_and_resets_gamepad_cache ... ok
[INFO] [stdout] test tests::rollback_disables_stateful_menu_actions ... ok
[INFO] [stdout] test tests::update_button_bits_sets_and_clears_masks ... ok
[INFO] [stdout] test tests::advance_core_for_host_frame_steps_cpu_budget ... ok
[INFO] [stdout] test tests::track_keyboard_bits_for_key_updates_controller_bits_and_ignores_hotkeys ... ok
[INFO] [stdout] test tests::gamepad_sampling_helpers_map_buttons_and_axis_thresholds ... ok
[INFO] [stdout] test tests::write_frame_ppm_validates_frame_size_and_writes_output_files ... ok
[INFO] [stdout] test tests::selected_slot_hotkeys_target_current_slot ... ok
[INFO] [stdout] test tests::sync_native_menu_state_executes_without_panic_in_test_mode ... ok
[INFO] [stdout] test netplay::tests::handle_netplay_server_message_updates_stats_and_errors ... ok
[INFO] [stdout] test netplay::tests::writer_loop_survives_idle_timeout_and_sends_late_message ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_help.rs (/opt/rustwide/target/debug/deps/cli_help-c12fe0da1b3265eb)
[INFO] [stdout] test result: ok. 61 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/cli_smoke.rs (/opt/rustwide/target/debug/deps/cli_smoke-32af55991d960f93)
[INFO] [stdout] test help_flag_prints_usage_and_default_config_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test nes_desktop_missing_rom_prints_styled_error ... ok
[INFO] [stdout] test nes_desktop_invalid_rom_permissions_prints_styled_error ... ok
[INFO] [stderr]      Running tests/havoc.rs (/opt/rustwide/target/debug/deps/havoc-dbb46bfaad8fbfea)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test havoc_fuzz_desktop_args ... ignored, havoc target
[INFO] [stdout] test havoc_fuzz_session_cheats ... ignored, havoc target
[INFO] [stdout] test havoc_fuzz_session_cheats_multiple ... ignored, havoc target
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_desktop_oom.rs (/opt/rustwide/target/debug/deps/havoc_desktop_oom-30451e87be5de8aa)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_desktop_load_state_oom ... ignored, Havoc OOM Attack (SIGKILL)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_mcp_oom.rs (/opt/rustwide/target/debug/deps/havoc_mcp_oom-993e5f5ba73b548b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_oom.rs (/opt/rustwide/target/debug/deps/havoc_oom-d3c5f76a6f730f30)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/input_bridge.rs (/opt/rustwide/target/debug/deps/input_bridge-cb9cbb1044ed2421)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test keyboard_press_maps_to_controller_command ... ok
[INFO] [stdout] test keyboard_release_maps_to_controller_command ... ok
[INFO] [stderr]      Running tests/manual_state.rs (/opt/rustwide/target/debug/deps/manual_state-0235c6ecc28801ed)
[INFO] [stdout] test keyboard_maps_remaining_supported_keys ... ok
[INFO] [stdout] test keyboard_unknown_key_returns_none ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test quicksave_path_uses_sanitized_rom_stem_and_hash_prefix ... ok
[INFO] [stderr]      Running tests/mcp_host_read_timeout.rs (/opt/rustwide/target/debug/deps/mcp_host_read_timeout-0a7b956b680ab576)
[INFO] [stdout] test load_state_file_rejects_hash_mismatch ... ok
[INFO] [stderr]      Running tests/mcp_host_slowloris.rs (/opt/rustwide/target/debug/deps/mcp_host_slowloris-ee33403da91e1923)
[INFO] [stdout] test save_state_file_round_trips_snapshot_for_loaded_rom ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_dsl-5a91625094869b6f)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test tests::decode_string_literal_accepts_byte_boundary_character_ff ... ok
[INFO] [stdout] test tests::branch_relative_encoding_is_correct_for_in_range_targets ... ok
[INFO] [stdout] test tests::csv_and_string_literal_helpers_handle_escapes_and_errors ... ok
[INFO] [stdout] test tests::branch_out_of_range_is_reported_for_immediate_target ... ok
[INFO] [stdout] test tests::assembles_labels_branches_and_vectors ... ok
[INFO] [stdout] test tests::branch_out_of_range_is_reported_for_symbol_fixup ... ok
[INFO] [stdout] test tests::dsl_error_display_includes_context ... ok
[INFO] [stdout] test tests::duplicate_address_allows_same_value_and_rejects_conflict ... ok
[INFO] [stdout] test tests::const_directive_resolves_symbols_and_rejects_duplicates ... ok
[INFO] [stdout] test tests::emit_ines_rom_keeps_single_bank_for_upper_bank_program_bytes_only ... ok
[INFO] [stdout] test tests::addressing_mode_selection_prefers_zeropage_when_possible ... ok
[INFO] [stdout] test tests::emit_ines_rom_rejects_chr_bank_count_over_header_limit ... ok
[INFO] [stdout] test tests::insert_mapped_byte_allows_vector_bytes_that_match_existing_program_data ... ok
[INFO] [stdout] test tests::mnemonic_and_mode_helpers_cover_known_values ... ok
[INFO] [stdout] test tests::opcode_table_reports_supported_mode_pairs ... ok
[INFO] [stdout] test tests::emit_ines_rom_respects_chr_and_mirroring_layout ... ok
[INFO] [stdout] test tests::parser_helper_functions_enforce_expected_rules ... ok
[INFO] [stdout] test tests::rom_build_options_default_uses_8k_chr_bank ... ok
[INFO] [stdout] test tests::emits_two_prg_banks_when_bank0_is_used ... ok
[INFO] [stderr]      Running tests/havoc_dsl.rs (/opt/rustwide/target/debug/deps/havoc_dsl-3d9a667409708cc7)
[INFO] [stdout] test tests::parse_expr_reports_unknown_mnemonic_with_one_based_line_numbers ... ok
[INFO] [stdout] test tests::strip_comments_handles_string_boundaries_and_trailing_slashes ... ok
[INFO] [stdout] test tests::quoted_string_predicate_requires_both_delimiters ... ok
[INFO] [stdout] test tests::supports_data_directives_and_literals ... ok
[INFO] [stdout] test tests::unknown_or_mode_error_uses_mode_name_for_known_mnemonics ... ok
[INFO] [stdout] test tests::emitted_rom_boots_in_nes_core ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_fuzz_dsl ... ignored, havoc target
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_dsl_fuzz.rs (/opt/rustwide/target/debug/deps/havoc_dsl_fuzz-591e94cdd4a73efe)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_fuzz_assemble ... ok
[INFO] [stderr]      Running tests/test_coverage_gap.rs (/opt/rustwide/target/debug/deps/test_coverage_gap-b4dc65f1a5a78fb9)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.54s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stderr]      Running tests/test_coverage_gap2.rs (/opt/rustwide/target/debug/deps/test_coverage_gap2-39826f8b72753a73)
[INFO] [stdout] test test_handle_word_directive ... ok
[INFO] [stdout] test test_resolve_addressing_mode ... ok
[INFO] [stdout] test test_handle_text_directive ... ok
[INFO] [stdout] test test_handle_byte_directive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/test_instruction_error.rs (/opt/rustwide/target/debug/deps/test_instruction_error-24f867d7270b4416)
[INFO] [stdout] test test_resolve_addressing_mode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_instruction_error ... ok
[INFO] [stderr]      Running tests/test_unknown_directive.rs (/opt/rustwide/target/debug/deps/test_unknown_directive-bfe8cb1f94c607ec)
[INFO] [stdout] test test_instruction_mode_error ... ok
[INFO] [stdout] test test_instruction_branch_no_target ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_unknown_directive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_unsupported_bank.rs (/opt/rustwide/target/debug/deps/test_unsupported_bank-42e853a98c47c6d0)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_unsupported_bank ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_mcp-4d3b3525be4149de)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test dispatch::tests::encode_base64_matches_known_vectors ... ok
[INFO] [stdout] test dispatch::tests::parse_hex_bytes_supports_mixed_case_whitespace_and_underscores ... ok
[INFO] [stdout] test dispatch::tests::parse_hex_bytes_reports_shape_and_digit_errors ... ok
[INFO] [stdout] test dispatch::tests::handle_get_ppu_oam_returns_256_bytes ... ok
[INFO] [stdout] test dispatch::tests::parse_slot_uses_default_when_omitted ... ok
[INFO] [stdout] test dispatch::tests::parse_u64_handles_decimal_hex_missing_and_invalid_values ... ok
[INFO] [stdout] test dispatch::tests::parse_speed_permille_validates_and_converts_multiplier ... ok
[INFO] [stdout] test dispatch::tests::parse_button_supports_all_button_names ... ok
[INFO] [stdout] test dispatch::tests::parse_player2_maps_player_slot_values ... ok
[INFO] [stdout] test dispatch::tests::parse_dsl_rom_options_supports_mirroring_and_chr_hex ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_buttons ... ok
[INFO] [stdout] test dispatch::tests::sync_outputs_publish_frame_and_audio_sequences ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_invalid_command ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_hold_alias_and_lowercase_buttons ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_missing_arguments ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_invalid_args ... ok
[INFO] [stdout] test output::tests::should_fast_forward_audio_chunk_sequence_when_requested_seq_is_newer ... ok
[INFO] [stdout] test output::tests::should_fast_forward_frame_chunk_sequence_when_requested_seq_is_newer ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_reset_and_directional_buttons ... ok
[INFO] [stdout] test output::tests::should_ignore_publish_frame_if_rgba_length_is_invalid ... ok
[INFO] [stdout] test output::tests::should_increment_audio_seq_and_update_samples_on_publish_audio ... ok
[INFO] [stdout] test output::tests::should_resize_memory_when_publishing_audio_with_closure_if_length_differs ... ok
[INFO] [stdout] test output::tests::should_calculate_correct_frame_length_for_valid_dimensions ... ok
[INFO] [stdout] test output::tests::should_return_none_when_expected_frame_len_overflows ... ok
[INFO] [stdout] test output::tests::should_resize_memory_when_publishing_frame_with_closure_if_length_differs ... ok
[INFO] [stdout] test output::tests::should_reuse_memory_when_publishing_audio_with_closure ... ok
[INFO] [stdout] test protocol::tests::dispatch_output_value_maps_variants_to_json ... ok
[INFO] [stdout] test output::tests::should_reuse_memory_when_publishing_frame_with_closure ... ok
[INFO] [stdout] test protocol::tests::jsonrpc_helper_envelopes_include_version_ids_and_payloads ... ok
[INFO] [stdout] test protocol::tests::map_tool_arguments_stringifies_supported_json_types ... ok
[INFO] [stdout] test protocol::tests::rpc_error_constructors_use_jsonrpc_standard_codes ... ok
[INFO] [stdout] test protocol::tests::tool_input_schema_covers_controller_memory_and_dsl_groups ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_accepts_trailing_tokens_for_known_commands ... ok
[INFO] [stdout] test protocol::tests::jsonrpc_error_wraps_error_payload ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_comments_and_whitespace ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_with_progress_callback ... ok
[INFO] [stdout] test macro_engine::tests::test_execute_macro_script_wait ... ok
[INFO] [stdout] test dispatch::havoc_fuzz_tests::havoc_fuzz_hex ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.05s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nes_mcp-78275819ba26e147)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test tests::mcp_error_formatting_and_conversions ... ok
[INFO] [stdout] test tests::read_stdio_message_handles_errors ... ok
[INFO] [stdout] test tests::initialized_notification_does_not_emit_response ... ok
[INFO] [stdout] test tests::rpc_error_helpers_use_jsonrpc_standard_codes ... ok
[INFO] [stdout] test tests::handle_message_supports_ping_and_auxiliary_list_methods ... ok
[INFO] [stdout] test tests::tools_call_reports_dispatch_errors_as_tool_errors ... ok
[INFO] [stdout] test tests::initialize_returns_server_capabilities ... ok
[INFO] [stderr]      Running unittests src/bin/run_macro.rs (/opt/rustwide/target/debug/deps/run_macro-3cd00ac96c6db123)
[INFO] [stdout] test tests::tools_list_includes_load_rom_with_schema ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test tests::run_reports_missing_rom_file_errors ... ok
[INFO] [stdout] test tests::run_reports_missing_script_file_errors ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/control_parity.rs (/opt/rustwide/target/debug/deps/control_parity-4f405662a68080d4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test pause_tool_matches_direct_core_command ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dispatch_surface.rs (/opt/rustwide/target/debug/deps/dispatch_surface-0fb259fea73df0be)
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test core_snapshot_size_stays_bounded_for_dispatch_stack_safety ... ok
[INFO] [stdout] test get_audio_chunk_reports_expected_sample_count ... ok
[INFO] [stdout] test controller_tools_support_player2_argument ... ok
[INFO] [stdout] test get_fps_returns_fps_output_variant ... ok
[INFO] [stdout] test capture_frame_writes_ppm_file ... ok
[INFO] [stdout] test get_frame_reports_full_rgba_payload_size ... ok
[INFO] [stdout] test export_6502_dsl_rom_writes_ines_file ... ok
[INFO] [stdout] test assemble_6502_dsl_reports_expected_metadata ... ok
[INFO] [stdout] test load_6502_dsl_builds_and_loads_into_core ... ok
[INFO] [stdout] test read_registers_and_memory_tools_reflect_core_state ... ok
[INFO] [stdout] test capture_frame_writes_bmp_file ... ok
[INFO] [stdout] test press_and_release_button_tools_match_direct_commands ... ok
[INFO] [stdout] test export_6502_dsl_rom_base64_returns_ines_payload ... ok
[INFO] [stdout] test get_ppu_frame_counter_reflects_core_progress ... ok
[INFO] [stdout] test every_catalog_tool_has_dispatch_path ... ok
[INFO] [stdout] test load_rom_tool_maps_program_into_core_execution_path ... ok
[INFO] [stdout] test save_and_load_state_round_trip_restores_state_hash ... ok
[INFO] [stdout] test load_rom_tool_supports_uxrom_boot_mapping ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc.rs (/opt/rustwide/target/debug/deps/havoc-4f3abe68d93417aa)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test havoc_fuzz_mcp_macro ... ignored, havoc target
[INFO] [stdout] test havoc_fuzz_mcp_params ... ignored, havoc target
[INFO] [stdout] test havoc_crash_mcp_dos_wait_frames - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.62s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_load_rom_oom.rs (/opt/rustwide/target/debug/deps/havoc_load_rom_oom-e72058d06d706c98)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_load_rom_oom ... ignored, Havoc OOM Attack (SIGKILL)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_mcp_deadlock.rs (/opt/rustwide/target/debug/deps/havoc_mcp_deadlock-e7281a02426ac382)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_test_mutex_poison - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_mcp_output_dos.rs (/opt/rustwide/target/debug/deps/havoc_mcp_output_dos-35043a816bb389e5)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/havoc_mcp_output_poison.rs (/opt/rustwide/target/debug/deps/havoc_mcp_output_poison-f78a0f8172172b25)
[INFO] [stdout] test havoc_test_mutex_poison - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_test_poisoned_mutex_on_audio_panic - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_output.rs (/opt/rustwide/target/debug/deps/havoc_output-4ef652b6a1ef0553)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_test_poisoned_mutex_on_panic - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_proptest.rs (/opt/rustwide/target/debug/deps/havoc_proptest-b0fffd432f59443c)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_test_load_rom_hex_crash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.57s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mcp_havoc_crash.rs (/opt/rustwide/target/debug/deps/mcp_havoc_crash-5f5a520c19ba9295)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr] [38;5;14m[1mnes-mcpd[0m
[INFO] [stderr] 
[INFO] [stderr] ┌──────────────────┬────────────────────┐
[INFO] [stderr] │ Property         ┆ Value              │
[INFO] [stderr] ╞══════════════════╪════════════════════╡
[INFO] [stderr] │ Protocol Version ┆ 2025-06-18         │
[INFO] [stderr] ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
[INFO] [stderr] │ Tools Loaded     ┆ 31                 │
[INFO] [stderr] ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
[INFO] [stderr] │ Status           ┆ Listening on stdio │
[INFO] [stderr] └──────────────────┴────────────────────┘
[INFO] [stderr] 
[INFO] [stderr] Protocol error: Content-Length 18446744073709551615 exceeds maximum allowed size of 10485760 bytes
[INFO] [stdout] test havoc_crash_mcp_daemon_oom ... ok
[INFO] [stdout] test havoc_dos_macro_wait_hang - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/output_contract.rs (/opt/rustwide/target/debug/deps/output_contract-b0462c4cc174fe2d)
[INFO] [stderr]      Running tests/run_macro_cli.rs (/opt/rustwide/target/debug/deps/run_macro_cli-7e2d895d70e51e2e)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test metadata_reports_incrementing_audio_sequence ... ok
[INFO] [stdout] test metadata_reports_incrementing_frame_sequence ... 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] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test run_macro_with_missing_rom_prints_styled_error ... ok
[INFO] [stdout] test run_macro_without_required_arguments_prints_usage_and_fails ... ok
[INFO] [stderr]      Running tests/stdio_mcp_smoke.rs (/opt/rustwide/target/debug/deps/stdio_mcp_smoke-4e92806c89761da2)
[INFO] [stdout] test run_macro_with_help_flag_prints_usage_and_succeeds ... ok
[INFO] [stdout] test run_macro_with_invalid_rom_permissions_prints_styled_error ... ok
[INFO] [stdout] test run_macro_with_missing_script_prints_styled_error ... ok
[INFO] [stdout] test run_macro_with_empty_script_prints_zero_progress ... ok
[INFO] [stdout] test run_macro_with_valid_script_prints_progress ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test daemon_stdio_round_trip_supports_initialize_and_tools ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stderr] [38;5;14m[1mnes-mcpd[0m
[INFO] [stderr] 
[INFO] [stderr] ┌──────────────────┬────────────────────┐
[INFO] [stderr] │ Property         ┆ Value              │
[INFO] [stderr] ╞══════════════════╪════════════════════╡
[INFO] [stderr] │ Protocol Version ┆ 2025-06-18         │
[INFO] [stderr] ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
[INFO] [stderr] │ Tools Loaded     ┆ 31                 │
[INFO] [stderr] ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
[INFO] [stderr] │ Status           ┆ Listening on stdio │
[INFO] [stderr] └──────────────────┴────────────────────┘
[INFO] [stderr]      Running tests/stdio_mcp_tests.rs (/opt/rustwide/target/debug/deps/stdio_mcp_tests-c7017ad0e9f08b95)
[INFO] [stderr] [38;5;14m[1mnes-mcpd[0m
[INFO] [stderr] 
[INFO] [stderr] ┌──────────────────┬────────────────────┐
[INFO] [stderr] │ Property         ┆ Value              │
[INFO] [stderr] ╞══════════════════╪════════════════════╡
[INFO] [stderr] │ Protocol Version ┆ 2025-06-18         │
[INFO] [stderr] ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
[INFO] [stderr] │ Tools Loaded     ┆ 31                 │
[INFO] [stderr] ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
[INFO] [stderr] │ Status           ┆ Listening on stdio │
[INFO] [stderr] └──────────────────┴────────────────────┘
[INFO] [stdout] test test_stdio_mcp_invalid_arguments_type ... ok
[INFO] [stderr] [38;5;14m[1mnes-mcpd[0m
[INFO] [stderr] 
[INFO] [stderr] ┌──────────────────┬────────────────────┐
[INFO] [stderr] │ Property         ┆ Value              │
[INFO] [stderr] ╞══════════════════╪════════════════════╡
[INFO] [stderr] │ Protocol Version ┆ 2025-06-18         │
[INFO] [stderr] ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
[INFO] [stderr] │ Tools Loaded     ┆ 31                 │
[INFO] [stderr] ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
[INFO] [stderr] │ Status           ┆ Listening on stdio │
[INFO] [stderr] └──────────────────┴────────────────────┘
[INFO] [stdout] test test_stdio_mcp_valid_arguments ... ok
[INFO] [stderr]      Running tests/step_cpu_parity.rs (/opt/rustwide/target/debug/deps/step_cpu_parity-b26264110f27b31b)
[INFO] [stdout] test test_stdio_mcp_payload_size_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test step_cpu_tool_matches_direct_core_execution ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/tool_catalog.rs (/opt/rustwide/target/debug/deps/tool_catalog-623c9698d90f0c02)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test catalog_contains_required_user_facing_tools ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_netplay-9def3c2a947ab6f3)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test protocol::tests::protocol_messages_round_trip_json ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_exposes_initial_config_and_state ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_allows_input_delay_equal_to_rollback_window ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_can_update_input_delay_within_window ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_clears_from_frame_on_rollback ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_schedule_local_input_applies_delay_to_target_frame ... ok
[INFO] [stdout] test rollback::tests::rollback_error_display_messages_include_context ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_frame_hash_and_resolved_inputs_are_queryable ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_hash_comparison_reports_match_and_mismatch ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_applies_local_player_two_mapping ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_allows_rollback_exactly_at_configured_window ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_rejects_rollback_beyond_configured_window ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_prunes_old_hashes_after_advance ... ok
[INFO] [stdout] test rollback::tests::rollback_engine_predicts_and_repairs_remote_input ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_proof-f5da40f3f8c99581)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_relay-6ab9bb00aafe7010)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test config::tests::should_parse_bind_arg ... ok
[INFO] [stdout] test config::tests::should_parse_jitter_arg ... ok
[INFO] [stdout] test config::tests::should_parse_latency_arg ... ok
[INFO] [stdout] test config::tests::should_parse_default_args ... ok
[INFO] [stdout] test config::tests::should_parse_loss_pct_arg ... ok
[INFO] [stdout] test config::tests::should_parse_reorder_pct_arg ... ok
[INFO] [stdout] test config::tests::should_return_error_for_missing_value ... ok
[INFO] [stdout] test config::tests::should_return_help_error ... ok
[INFO] [stdout] test config::tests::should_return_error_for_unknown_arg ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nes_relay-c1c315e36912b612)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test tests::cleanup_client_notifies_peers_and_removes_empty_rooms ... ok
[INFO] [stdout] test tests::build_startup_table_includes_all_parameters ... ok
[INFO] [stdout] test tests::handle_client_rejects_invalid_player_slot ... ok
[INFO] [stdout] test tests::handle_client_rejects_non_join_first_message ... ok
[INFO] [stdout] test tests::parse_args_help_flags_return_usage_text ... ok
[INFO] [stdout] test tests::parse_args_mixed_equals_and_split_flags_progress_index_correctly ... ok
[INFO] [stdout] test tests::parse_args_rejects_empty_equals_flag_values ... ok
[INFO] [stdout] test tests::parse_args_rejects_invalid_numbers_and_unknown_flags ... ok
[INFO] [stdout] test tests::handle_client_join_reports_peer_presence ... ok
[INFO] [stdout] test tests::parse_args_rejects_missing_split_flag_values ... ok
[INFO] [stdout] test tests::parse_args_supports_equals_fault_flags ... ok
[INFO] [stdout] test tests::parse_args_supports_split_fault_flags ... ok
[INFO] [stdout] test tests::relay_net_sim_next_u64_is_deterministic_from_zero_seed ... ok
[INFO] [stdout] test tests::read_client_message_parses_and_detects_eof_and_errors ... ok
[INFO] [stdout] test tests::relay_net_sim_percent_hit_obeys_threshold_boundary ... ok
[INFO] [stdout] test tests::relay_net_sim_drop_logic_honors_loss_percent_extremes ... ok
[INFO] [stdout] test tests::relay_net_sim_sample_delay_with_negative_jitter_clamps_to_zero ... ok
[INFO] [stdout] test tests::relay_net_sim_sample_delay_with_zero_jitter_uses_reorder_rng_without_extra_draw ... ok
[INFO] [stdout] test tests::relay_net_sim_sample_delay_with_reorder_adds_extra_delay ... ok
[INFO] [stdout] test tests::relay_net_sim_sample_delay_without_jitter_or_reorder_is_base_latency ... ok
[INFO] [stdout] test tests::seed_entropy_varies_and_mixes_bits_with_pid_component ... ignored, havoc target
[INFO] [stdout] test tests::parse_args_accepts_100_percent_values ... ok
[INFO] [stdout] test tests::forward_to_room_peers_sends_only_to_other_players ... ok
[INFO] [stdout] test tests::forward_to_room_peers_applies_drop_and_delay_rules ... ok
[INFO] [stdout] test tests::havoc_test_sample_delay_ms_does_not_panic_with_extreme_values ... ok
[INFO] [stdout] test tests::havoc_test_parse_args_proptest ... ok
[INFO] [stdout] test tests::test_sample_delay_ms_does_not_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_smoke.rs (/opt/rustwide/target/debug/deps/cli_smoke-f7c29f699cd4a751)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/havoc.rs (/opt/rustwide/target/debug/deps/havoc-e334b15ad58bfca1)
[INFO] [stdout] test help_flag_prints_usage_to_stderr_and_exits_nonzero ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test havoc_test_parse_args_overflow ... ignored, Havoc Proptest Overflow Attack
[INFO] [stdout] test havoc_test_read_client_message_dos ... ignored, Havoc DoS Attack
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_loom_deadlock.rs (/opt/rustwide/target/debug/deps/havoc_loom_deadlock-53e6337c4c58acb3)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_test_loom_cleanup_client_deadlock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/loom_test.rs (/opt/rustwide/target/debug/deps/loom_test-05bdac4439e9dafa)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_test_loom_cleanup_client_deadlock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_rewind-b566f2d5bf5125ad)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test cursor::tests::test_rewind_speed_frame_skip ... ok
[INFO] [stdout] test cursor::tests::test_rewind_speed_lookahead_depth ... ok
[INFO] [stdout] test delta::tests::empty_arrays_produce_no_deltas ... ok
[INFO] [stdout] test delta::tests::cpu_register_change_detected ... ok
[INFO] [stdout] test delta::tests::identical_arrays_produce_no_deltas ... ok
[INFO] [stdout] test cursor::tests::test_rewind_cursor_pop_frame ... ok
[INFO] [stdout] test delta::tests::adjacent_changes_merged ... ok
[INFO] [stdout] test delta::tests::field_delta_apply_restores_changes ... ok
[INFO] [stdout] test delta::tests::frame_delta_roundtrip ... ok
[INFO] [stdout] test delta::tests::frame_delta_frame_id_is_after_frame_counter ... ok
[INFO] [stdout] test delta::tests::chr_ram_writes_preserve_mapper_backing_without_register_change ... ok
[INFO] [stdout] test delta::tests::large_array_roundtrip_2kb ... ok
[INFO] [stdout] test delta::tests::identical_snapshots_zero_compressed_size ... ok
[INFO] [stdout] test delta::tests::non_adjacent_changes_separate_runs ... ok
[INFO] [stdout] test delta::tests::palette_delta_roundtrip ... ok
[INFO] [stdout] test delta::tests::identical_snapshots_all_none ... ok
[INFO] [stdout] test delta::tests::ppu_ctrl_change_detected ... ok
[INFO] [stdout] test delta::tests::ppu_scroll_change_detected ... ok
[INFO] [stdout] test delta::tests::mapper_irq_state_roundtrip_requires_mapper_delta ... ok
[INFO] [stdout] test delta::tests::palette_change_tracked_in_frame_delta ... ok
[INFO] [stdout] test delta::tests::ppu_scroll_delta_apply_restores_scroll ... ok
[INFO] [stdout] test delta::tests::roundtrip_diff_then_apply ... ok
[INFO] [stdout] test delta::tests::single_byte_change ... ok
[INFO] [stdout] test delta::tests::ppu_timing_change_detected ... ok
[INFO] [stdout] test timeline::tests::first_push_is_keyframe_and_reconstructs ... ok
[INFO] [stdout] test policy::tests::moderate_delta_does_not_false_positive ... ok
[INFO] [stdout] test timeline::tests::empty_timeline_returns_none ... ok
[INFO] [stdout] test policy::tests::forces_keyframe_at_base_interval ... ok
[INFO] [stdout] test policy::tests::spike_triggers_early_promotion ... ok
[INFO] [stdout] test policy::tests::resets_counter_after_promotion ... ok
[INFO] [stdout] test timeline::tests::push_prunes_when_over_capacity ... ok
[INFO] [stdout] test timeline::tests::reconstruct_unknown_frame_returns_none ... ok
[INFO] [stdout] test worker::tests::rewind_returns_none_when_no_history ... ok
[INFO] [stdout] test timeline::tests::reconstruct_after_step_frame_restores_earlier_state ... ok
[INFO] [stdout] test worker::tests::rewind_faster_accelerates_speed_and_clamps ... ok
[INFO] [stdout] test worker::tests::record_frame_does_nothing_when_not_recording ... ok
[INFO] [stdout] test worker::tests::rewind_exhausted_state_on_timeout ... ok
[INFO] [stdout] test worker::tests::resume_after_rewind_puts_machine_back_in_recording_state ... ok
[INFO] [stdout] test worker::tests::history_seconds_returns_expected_value ... ok
[INFO] [stdout] test worker::tests::record_and_rewind_restores_earlier_frame ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/havoc_apply_deltas.rs (/opt/rustwide/target/debug/deps/havoc_apply_deltas-eb2a26939e0ac2a3)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test havoc_fuzz_apply_deltas ... ignored, havoc target
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_test_harness-ab322963a69ce282)
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test rom_paths::tests::config_loads_without_panic ... ignored, requires nes.toml or defaults to panic if absent in pure CI
[INFO] [stdout] test rom_paths::tests::cover_rom_path_helpers ... ignored, purely to verify panics locally for coverage without crashing pure CI
[INFO] [stdout] test homebrew::tests::default_homebrew_rom_path_ends_with_homebrew_nes ... ok
[INFO] [stdout] test homebrew::tests::build_homebrew_rom_includes_custom_chr_rom_tile ... ok
[INFO] [stdout] test tests::audio_stats_reports_expected_geometry ... ok
[INFO] [stdout] test tests::collect_apu_register_writes_ignores_non_apu_writes ... ok
[INFO] [stdout] test homebrew::tests::homebrew_rom_has_expected_ines_geometry ... ok
[INFO] [stdout] test tests::collect_apu_register_writes_ignores_reads ... ok
[INFO] [stdout] test tests::collect_apu_register_writes_tracks_apu_bus_stores ... ok
[INFO] [stdout] test tests::detect_mapper_id_reads_ines_header ... ok
[INFO] [stdout] test tests::mapper_supported_by_core_matches_core_surface ... ok
[INFO] [stdout] test tests::pcm_round_trip_preserves_samples ... ok
[INFO] [stdout] test tests::pearson_correlation_is_one_for_identical_sequences ... ok
[INFO] [stdout] test tests::rms_envelope_respects_windowing ... ok
[INFO] [stdout] test tests::waveform_hash_is_stable_for_known_input ... ok
[INFO] [stdout] test tests::compare_waveforms_reports_high_similarity_for_near_identical_streams ... ok
[INFO] [stdout] test homebrew::tests::write_homebrew_rom_creates_file_and_parent_directories ... ok
[INFO] [stdout] test rom_paths::tests::ensure_dir_exists_panics_on_file - should panic ... ok
[INFO] [stdout] test rom_paths::tests::ensure_dir_exists_panics_on_empty - should panic ... ok
[INFO] [stdout] test rom_paths::tests::ensure_path_exists_panics_on_missing - should panic ... ok
[INFO] [stdout] test rom_paths::tests::ensure_path_exists_panics_on_empty - should panic ... ok
[INFO] [stdout] test rom_paths::tests::ensure_dir_exists_panics_on_missing - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/bbbradsmith_golden_capture.rs (/opt/rustwide/target/debug/deps/bbbradsmith_golden_capture-7cedb16ae74f93ac)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test tests::load_config_returns_default_when_no_path_provided ... ok
[INFO] [stdout] test tests::print_processing_progress_writes_to_stdout_with_ansi ... ok
[INFO] [stdout] test tests::format_skipped_existing_row_returns_correct_data ... ok
[INFO] [stdout] test tests::format_written_row_returns_correct_data ... ok
[INFO] [stdout] test tests::build_summary_table_includes_all_columns ... ok
[INFO] [stdout] test tests::format_skipped_mapper_row_returns_correct_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/build_homebrew_rom.rs (/opt/rustwide/target/debug/deps/build_homebrew_rom-99fd53fe631dd381)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/bbbradsmith_golden_capture_cli.rs (/opt/rustwide/target/debug/deps/bbbradsmith_golden_capture_cli-daa11ab11c993c8e)
[INFO] [stdout] test tests::build_success_table_includes_path_and_success_status ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test golden_capture_with_help_flag_prints_usage_and_succeeds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/netplay_rollback.rs (/opt/rustwide/target/debug/deps/netplay_rollback-8c9cef44af84053b)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test rollback_two_peer_soak_converges_under_faulty_network ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 46.65s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/replay_determinism.rs (/opt/rustwide/target/debug/deps/replay_determinism-b355294c1ed07382)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test recorded_command_log_replays_to_identical_state_hash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rom_bbbradsmith_audio.rs (/opt/rustwide/target/debug/deps/rom_bbbradsmith_audio-8fa0fc2a27650a07)
[INFO] [stderr]      Running tests/rom_blargg_cpu.rs (/opt/rustwide/target/debug/deps/rom_blargg_cpu-bc12093ccf2bded6)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test bbbradsmith_audio_suite_audio_windows_are_deterministic_and_well_formed ... ignored, requires roms.bbbradsmith_audio_suite_dir in nes.toml
[INFO] [stdout] test bbbradsmith_audio_suite_matches_golden_pcm_tolerances ... ignored, requires roms.bbbradsmith_audio_suite_dir and roms.bbbradsmith_audio_golden_dir in nes.toml
[INFO] [stdout] test bbbradsmith_audio_suite_write_trace_is_deterministic_per_rom ... ignored, requires roms.bbbradsmith_audio_suite_dir in nes.toml
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test blargg_cpu_rom_reports_pass ... ignored, requires roms.blargg_cpu in nes.toml
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rom_homebrew.rs (/opt/rustwide/target/debug/deps/rom_homebrew-ebb2f544fb015fd0)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test generated_homebrew_rom_boots_and_moves_sprite ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/rom_nestest.rs (/opt/rustwide/target/debug/deps/rom_nestest-a8ef5fba68a82f06)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test nestest_boot_sequence_matches_expected_prefix ... ignored, requires roms.nestest in nes.toml
[INFO] [stdout] test nestest_runs_instruction_window_without_unknown_opcode ... ignored, requires roms.nestest in nes.toml
[INFO] [stderr]      Running tests/rom_smb.rs (/opt/rustwide/target/debug/deps/rom_smb-8dedc643dfa2db1c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test smb_boot_frames_use_nes_palette_bounds_and_stable_delta ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_tui-48e61d1ff4b68dcb)
[INFO] [stdout] test smb_boot_window_runs_without_unknown_opcode ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stdout] test smb_does_not_stall_in_sprite_zero_wait_loop ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stdout] test smb_rom_loads_and_exposes_reset_vector ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stdout] test smb_run_and_jump_audio_chunks_stay_live ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stdout] test smb_run_and_jump_keeps_progressing ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stdout] test smb_run_and_jump_keeps_progressing_under_cpu_budget_loop ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stdout] test smb_start_and_move_right_keeps_video_progressing ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stdout] test smb_start_input_changes_execution_trajectory ... ignored, requires roms.smb or desktop.rom_path in nes.toml
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 9 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 22 tests
[INFO] [stdout] test render::tests::downsample_returns_empty_for_invalid_frame_length ... ok
[INFO] [stdout] test render::tests::bucket_bounds_handles_zero_bucket_or_source_lengths ... ok
[INFO] [stdout] test render::tests::bucket_bounds_scales_evenly_for_regular_partitions ... ok
[INFO] [stdout] test render::tests::downsample_height_one_samples_vertical_center_row ... ok
[INFO] [stdout] test render::tests::downsample_returns_empty_when_target_dimensions_are_zero ... ok
[INFO] [stdout] test render::tests::downsample_uses_nearest_pixel_mapping ... ok
[INFO] [stdout] test render::tests::average_region_rgb_uses_independent_rgb_channels ... ok
[INFO] [stdout] test render::tests::frame_lines_match_row_count ... ok
[INFO] [stdout] test render::tests::downsample_width_one_samples_horizontal_center_column ... ok
[INFO] [stdout] test render::tests::downsample_returns_expected_cell_count ... ok
[INFO] [stdout] test render::tests::map_index_returns_zero_for_degenerate_lengths ... ok
[INFO] [stdout] test render::tests::mini_palette_spans_samples_expected_pixels ... ok
[INFO] [stdout] test render::tests::mini_palette_spans_returns_empty_for_invalid_inputs ... ok
[INFO] [stdout] test render::tests::mini_palette_spans_supports_single_swatch_without_panicking ... ok
[INFO] [stdout] test render::tests::quarter_block_glyph_maps_all_masks_to_expected_symbols ... ok
[INFO] [stdout] test render::tests::quarter_block_lines_match_requested_height ... ok
[INFO] [stdout] test render::tests::quarter_block_lines_return_empty_for_invalid_input_guards ... ok
[INFO] [stdout] test render::tests::quarter_block_preserves_top_bottom_split ... ok
[INFO] [stdout] test render::tests::rgb_error_sq_matches_expected_distance ... ok
[INFO] [stdout] test render::tests::half_block_lines_return_empty_for_invalid_input_guards ... ok
[INFO] [stdout] test render::tests::half_block_lines_match_requested_height ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/nes_tui-81fd5216d363ad33)
[INFO] [stdout] test render::tests::half_block_renderer_uses_area_average_for_downsampling ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 52 tests
[INFO] [stdout] test tests::evaluate_frame_tick_covers_wait_and_step_paths ... ok
[INFO] [stdout] test tests::drain_protocol_results_returns_false_when_channel_is_empty ... ok
[INFO] [stdout] test tests::fit_nes_viewport_aspect_fits_when_too_small_for_integer_scale ... ok
[INFO] [stdout] test tests::crossterm_event_source_wraps_poll_and_read_errors ... ok
[INFO] [stdout] test tests::fit_nes_viewport_does_not_use_integer_scale_when_only_one_axis_fits_source ... ok
[INFO] [stdout] test tests::crossterm_event_source_forwards_poll_and_read_results ... ok
[INFO] [stdout] test tests::fit_nes_viewport_returns_none_when_height_is_zero ... ok
[INFO] [stdout] test tests::fit_nes_viewport_returns_none_when_width_is_zero ... ok
[INFO] [stdout] test tests::fit_nes_viewport_uses_integer_scale_when_room_allows ... ok
[INFO] [stdout] test tests::fit_nes_viewport_uses_height_limited_aspect_fit_when_area_is_wide_and_short ... ok
[INFO] [stdout] test tests::frame_rgba_to_image_preserves_dimensions_and_first_pixel ... ok
[INFO] [stdout] test tests::fit_nes_viewport_uses_width_limited_integer_scale_when_height_has_extra_room ... ok
[INFO] [stdout] test tests::format_rom_read_error_handles_not_found_and_other_errors ... ok
[INFO] [stdout] test tests::handle_runtime_key_event_applies_controller_mapping_for_press_and_release ... ok
[INFO] [stdout] test tests::handle_runtime_key_event_recognizes_quit_inputs ... ok
[INFO] [stdout] test tests::drain_protocol_results_applies_state_and_clears_pending_resize ... ok
[INFO] [stdout] test tests::handle_runtime_key_event_toggles_pause_only_for_pressed_p ... ok
[INFO] [stdout] test tests::key_is_pressed_only_for_press_or_repeat ... ok
[INFO] [stdout] test tests::handle_runtime_key_event_toggles_hud_only_for_pressed_i ... ok
[INFO] [stdout] test tests::key_pressed_state_maps_press_repeat_and_release ... ok
[INFO] [stdout] test tests::make_protocol_state_reuses_protocol_variant_from_previous_state ... ok
[INFO] [stdout] test tests::parse_tui_args_allows_hud_opt_in ... ok
[INFO] [stdout] test tests::event_loop_processes_frame_then_exits_on_scripted_quit_event ... ok
[INFO] [stdout] test tests::drain_protocol_results_returns_true_when_worker_channel_disconnects ... ok
[INFO] [stdout] test tests::parse_tui_args_defaults_to_high_res_mode ... ok
[INFO] [stdout] test tests::handle_runtime_key_event_resets_only_for_pressed_r ... ok
[INFO] [stdout] test tests::draw_frame_renders_video_glyphs_when_hud_is_hidden ... ok
[INFO] [stdout] test tests::parse_tui_args_high_res_can_disable_hud_after_enabling_it ... ok
[INFO] [stdout] test tests::parse_tui_args_help_flags_return_usage_message ... ok
[INFO] [stdout] test tests::parse_tui_args_rejects_unknown_flag ... ok
[INFO] [stdout] test tests::protocol_frame_refreshes_when_no_prior_timestamp ... ok
[INFO] [stdout] test tests::protocol_image_widget_uses_scale_mode ... ok
[INFO] [stdout] test tests::protocol_state_replace_happens_when_area_needs_resize ... ok
[INFO] [stdout] test tests::protocol_frame_interval_matches_target_fps ... ok
[INFO] [stdout] test tests::protocol_frame_refreshes_once_interval_elapsed ... ok
[INFO] [stdout] test tests::protocol_state_replace_happens_without_existing_state ... ok
[INFO] [stdout] test tests::protocol_state_replace_skips_when_pending_resize_is_active ... ok
[INFO] [stdout] test tests::refresh_runtime_fps_updates_only_after_sampling_interval ... ok
[INFO] [stdout] test tests::protocol_state_replace_stays_false_when_interval_has_not_elapsed ... ok
[INFO] [stdout] test tests::should_quit_only_for_pressed_escape_or_q ... ok
[INFO] [stdout] test tests::target_frame_time_defaults_to_60_fps ... ok
[INFO] [stdout] test tests::usage_line_matches_cli_contract ... ok
[INFO] [stdout] test tests::protocol_state_replace_stays_false_when_paused_even_if_refresh_due ... ok
[INFO] [stdout] test tests::system_loop_timer_forwards_now_and_sleep_handlers ... ok
[INFO] [stdout] test tests::video_backend_label_describes_halfblock_renderer ... ok
[INFO] [stdout] test tests::protocol_frame_does_not_refresh_before_interval_elapsed ... ok
[INFO] [stdout] test tests::usage_message_includes_usage_line_and_default_path ... ok
[INFO] [stdout] test tests::maybe_step_runtime_frame_respects_paused_state_and_counts ... ok
[INFO] [stdout] test tests::video_backend_selection_falls_back_for_halfblocks ... ok
[INFO] [stdout] test tests::video_backend_selection_uses_protocol_for_non_halfblock ... ok
[INFO] [stdout] test tests::draw_frame_hud_path_contains_header_controls_and_expected_avg_band ... ok
[INFO] [stdout] test tests::make_protocol_state_preserves_prior_background_when_reusing_protocol_type ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_help.rs (/opt/rustwide/target/debug/deps/cli_help-20d4ebad96c0d04a)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/input_bridge.rs (/opt/rustwide/target/debug/deps/input_bridge-4bd43d988d504222)
[INFO] [stdout] test help_flag_prints_usage_and_default_config_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test keyboard_maps_remaining_controller_keys ... ok
[INFO] [stdout] test keyboard_press_maps_to_controller_command ... ok
[INFO] [stdout] test keyboard_release_maps_to_controller_command ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nes_web-925b7d181bfc5941)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/runtime_contract.rs (/opt/rustwide/target/debug/deps/runtime_contract-eabfaa87b518b645)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test runtime_reports_expected_geometry_and_audio_constants ... ok
[INFO] [stdout] test execute_commands_propagate_properly ... ok
[INFO] [stdout] test runtime_rejects_invalid_rom_and_unknown_button_names ... ok
[INFO] [stderr]      Running tests/wasm_bindgen_facade.rs (/opt/rustwide/target/debug/deps/wasm_bindgen_facade-378a436f9b97ea1c)
[INFO] [stdout] test runtime_commands_mutate_observable_state ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test wasm_bindgen_facade_pause_resume ... ok
[INFO] [stdout] test wasm_bindgen_facade_refresh_frame_rgba_updates_ptr_buffer ... ok
[INFO] [stdout] test wasm_bindgen_facade_loads_rom_and_reads_buffers ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/web_bridge.rs (/opt/rustwide/target/debug/deps/web_bridge-34854fb44fee5466)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test release_button_command_maps_to_tool_name ... ok
[INFO] [stdout] test dom_key_maps_to_press_button_command ... ok
[INFO] [stdout] test bridge_command_tool_name_returns_unsupported ... ok
[INFO] [stdout] test dom_key_maps_all_supported_keys ... ok
[INFO] [stdout] test runtime_dispatch_dom_key_updates_controller_state ... ok
[INFO] [stdout] test runtime_loads_minimal_rom_and_produces_video_audio_buffers ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests nes_ai
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::AnyControlEnv::observation (line 522) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::AnyControlEnv::recorded_movie (line 546) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::AnyControlEnv::reset (line 465) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::AnyControlEnv::finish_episode (line 567) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/actions.rs - actions::ControlAction::controller1_bits (line 54) ... ok
[INFO] [stdout] test crates/nes-ai/src/actions.rs - actions::ControlAction::action_count (line 40) ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::AnyControlEnv::from_config (line 442) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/config.rs - config::AiProfileConfig::validate (line 72) ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::AnyControlEnv::step (line 491) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::ProfileEnv<P>::core (line 274) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::ProfileEnv<P>::core_mut (line 297) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::ProfileEnv<P>::new (line 103) ... ignored
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::ProfileEnv<P>::finish_episode (line 382) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::ProfileEnv<P>::observation (line 319) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::ProfileEnv<P>::reset (line 145) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::ProfileEnv<P>::recorded_movie (line 357) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/env.rs - env::ProfileEnv<P>::step (line 194) - compile ... ok
[INFO] [stdout] test crates/nes-ai/src/reward.rs - reward::RewardModel (line 55) ... ok
[INFO] [stdout] test crates/nes-ai/src/snapshot.rs - snapshot::sha256_hex (line 95) ... ok
[INFO] [stdout] test crates/nes-ai/src/episode.rs - episode::EpisodeArtifactWriter::new (line 64) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.56s; merged doctests compilation took 1.54s
[INFO] [stderr]    Doc-tests nes_config
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test crates/nes-config/src/lib.rs - NesConfig::load (line 175) - compile ... ok
[INFO] [stdout] test crates/nes-config/src/lib.rs - NesConfig::load_or_default (line 197) - compile ... 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] [stdout] all doctests ran in 0.61s; merged doctests compilation took 0.61s
[INFO] [stderr]    Doc-tests nes_core
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test crates/nes-core/src/api.rs - api::NesCore::load_ines_rom (line 1297) ... ok
[INFO] [stdout] test crates/nes-core/src/api.rs - api::NesCore::new (line 853) ... ok
[INFO] [stdout] test crates/nes-core/src/api.rs - api::NesCore::replay (line 1272) ... ok
[INFO] [stdout] test crates/nes-core/src/api.rs - api::NesCore::load_state (line 1229) ... ok
[INFO] [stdout] test crates/nes-core/src/bmp.rs - bmp::encode_bmp (line 26) ... ok
[INFO] [stdout] test crates/nes-core/src/bus.rs - bus::BusRegion::is_legal (line 34) ... ok
[INFO] [stdout] test crates/nes-core/src/bus.rs - bus::map_region (line 53) ... ok
[INFO] [stdout] test crates/nes-core/src/cheat_codes.rs - cheat_codes::CheatCode (line 22) ... ok
[INFO] [stdout] test crates/nes-core/src/api.rs - api::Button::bit_mask (line 61) ... ok
[INFO] [stdout] test crates/nes-core/src/cheat_codes.rs - cheat_codes::CheatCodeError (line 139) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::load_bytes (line 324) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::new (line 170) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::reset (line 300) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::restore (line 273) ... ok
[INFO] [stdout] test crates/nes-core/src/api.rs - api::NesCore::load_cpu_bytes (line 922) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::service_nmi (line 341) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::service_irq (line 363) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::snapshot (line 248) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::step_with_trace (line 392) ... ok
[INFO] [stdout] test crates/nes-core/src/api.rs - api::NesCore::execute (line 1369) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/status.rs - cpu::status::Status (line 20) ... ok
[INFO] [stdout] test crates/nes-core/src/mapper/mod.rs - mapper::Mapper (line 54) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::swap_writes (line 2737) ... ok
[INFO] [stdout] test crates/nes-core/src/serde_array.rs - serde_array::deserialize_u8_array (line 47) ... ok
[INFO] [stdout] test crates/nes-core/src/serde_array.rs - serde_array::serialize_u8_array (line 17) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::swap_prg_writes (line 2764) ... ok
[INFO] [stdout] test crates/nes-core/src/ppm.rs - ppm::encode_ppm (line 28) ... ok
[INFO] [stdout] test crates/nes-core/src/api.rs - api::NesCore::save_state (line 1198) ... ok
[INFO] [stdout] test crates/nes-core/src/cpu/engine.rs - cpu::engine::Cpu::swap_bus_trace (line 2782) ... ok
[INFO] [stdout] test crates/nes-core/src/api.rs - api::NesCore (line 781) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.10s; merged doctests compilation took 1.04s
[INFO] [stderr]    Doc-tests nes_desktop
[INFO] [stdout] 
[INFO] [stdout] running 42 tests
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::CalibrationRecorder::mark_split (line 1595) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/audio.rs - audio::AudioOutput (line 83) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::CalibrationRecorder::record_frame (line 1559) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::CalibrationRecorder::write_draft_profile (line 1613) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager (line 727) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::CalibrationRecorder::new (line 1530) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::can_manual_override_profile (line 935) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/args.rs - args::parse_runtime_args (line 52) ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::invalidation_reasons (line 1024) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::is_active (line 911) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::is_calibrating (line 890) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::is_valid_run (line 954) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::manual_split (line 1256) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::mark_forbidden_action (line 1187) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::new (line 785) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::force_finish (line 1284) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::profile_id (line 869) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/args.rs - args::RuntimeArgs (line 13) ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::elapsed (line 974) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/manual_state.rs - manual_state::read_slot_metadata (line 248) ... ok
[INFO] [stdout] test crates/nes-desktop/src/audio.rs - audio::AudioOutput::queue_samples (line 132) ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::record_input_frame (line 1313) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::tick (line 1052) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::state (line 851) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::write_calibration_draft (line 1436) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::select_profile (line 417) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::load_profiles (line 360) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::write_artifacts_if_finished (line 1349) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::serde_iter::serialize (line 692) ... ok
[INFO] [stdout] test crates/nes-desktop/src/rta.rs - rta::RtaManager::split_events (line 1004) - compile ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::is_empty (line 237) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::from_raw_codes (line 87) ... ok
[INFO] [stdout] test crates/nes-desktop/src/manual_state.rs - manual_state::save_state_file (line 162) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::len (line 222) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::add (line 105) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::enabled_codes (line 202) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::clear (line 166) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::entries (line 181) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::toggle (line 124) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::new (line 71) ... ok
[INFO] [stdout] test crates/nes-desktop/src/session_cheats.rs - session_cheats::SessionCheats::remove (line 145) ... ok
[INFO] [stdout] test crates/nes-desktop/src/manual_state.rs - manual_state::load_state_file (line 212) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 42 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 2.06s; merged doctests compilation took 1.97s
[INFO] [stderr]    Doc-tests nes_dsl
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests nes_mcp
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test crates/nes-mcp/src/output.rs - output::AudioChunk (line 92) ... ok
[INFO] [stdout] test crates/nes-mcp/src/output.rs - output::OutputMetadata (line 26) ... ok
[INFO] [stdout] test crates/nes-mcp/src/output.rs - output::audio_chunk (line 290) ... ok
[INFO] [stdout] test crates/nes-mcp/src/output.rs - output::frame_chunk (line 264) ... ok
[INFO] [stdout] test crates/nes-mcp/src/dispatch.rs - dispatch::DispatchOutput (line 45) ... ok
[INFO] [stdout] test crates/nes-mcp/src/dispatch.rs - dispatch::dispatch_tool (line 283) ... ok
[INFO] [stdout] test crates/nes-mcp/src/dispatch.rs - dispatch::ToolParams (line 29) ... ok
[INFO] [stdout] test crates/nes-mcp/src/output.rs - output::latest_output_metadata (line 152) ... ok
[INFO] [stdout] test crates/nes-mcp/src/dispatch.rs - dispatch::DispatchError (line 224) ... ok
[INFO] [stdout] test crates/nes-mcp/src/output.rs - output::publish_frame (line 171) ... ok
[INFO] [stdout] test crates/nes-mcp/src/protocol.rs - protocol::dispatch_output_value (line 217) ... ok
[INFO] [stdout] test crates/nes-mcp/src/output.rs - output::FrameChunk (line 62) ... ok
[INFO] [stdout] test crates/nes-mcp/src/output.rs - output::publish_audio (line 225) ... ok
[INFO] [stdout] test crates/nes-mcp/src/protocol.rs - protocol::RpcRequest (line 30) ... ok
[INFO] [stdout] test crates/nes-mcp/src/protocol.rs - protocol::RpcError::into_json (line 144) ... ok
[INFO] [stdout] test crates/nes-mcp/src/protocol.rs - protocol::jsonrpc_error (line 541) ... ok
[INFO] [stdout] test crates/nes-mcp/src/protocol.rs - protocol::tool_input_schema (line 383) ... ok
[INFO] [stdout] test crates/nes-mcp/src/tools.rs - tools::ToolDefinition (line 15) ... ok
[INFO] [stdout] test crates/nes-mcp/src/protocol.rs - protocol::jsonrpc_result (line 517) ... ok
[INFO] [stdout] test crates/nes-mcp/src/tools.rs - tools::tool_catalog (line 168) ... ok
[INFO] [stdout] test crates/nes-mcp/src/macro_engine.rs - macro_engine::execute_macro_script (line 39) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.05s; merged doctests compilation took 0.92s
[INFO] [stderr]    Doc-tests nes_netplay
[INFO] [stdout] 
[INFO] [stdout] running 21 tests
[INFO] [stdout] test crates/nes-netplay/src/protocol.rs - protocol::ClientMessage (line 17) ... ok
[INFO] [stdout] test crates/nes-netplay/src/protocol.rs - protocol::ServerMessage (line 65) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine (line 287) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackConfig (line 36) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::input_delay_frames (line 392) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::local_player (line 374) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::max_rollback_frames (line 410) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::next_frame (line 357) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::new (line 321) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::frame_hash (line 577) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::schedule_local_input (line 463) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::advance_frame (line 644) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::compare_remote_hash (line 546) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::resolved_inputs (line 608) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::ScheduledInput (line 78) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::ingest_remote_input (line 498) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackEngine::set_input_delay_frames (line 429) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackStep (line 140) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RollbackError (line 201) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::RemoteInputIngest (line 107) ... ok
[INFO] [stdout] test crates/nes-netplay/src/rollback.rs - rollback::HashComparison (line 172) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.77s; merged doctests compilation took 0.70s
[INFO] [stderr]    Doc-tests nes_proof
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/nes-proof/src/lib.rs - proof_crate_marker (line 12) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.39s; merged doctests compilation took 0.38s
[INFO] [stderr]    Doc-tests nes_relay
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test crates/nes-relay/src/config.rs - config::parse_percent_arg (line 178) ... ok
[INFO] [stdout] test crates/nes-relay/src/config.rs - config::parse_u64_arg (line 159) ... ok
[INFO] [stdout] test crates/nes-relay/src/config.rs - config::RelayArgs (line 41) ... ok
[INFO] [stdout] test crates/nes-relay/src/config.rs - config::parse_args (line 65) ... ok
[INFO] [stdout] test crates/nes-relay/src/config.rs - config::LinkCondition (line 11) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.83s; merged doctests compilation took 0.82s
[INFO] [stderr]    Doc-tests nes_rewind
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test crates/nes-rewind/src/worker.rs - worker::TimeMachine (line 91) - compile ... ok
[INFO] [stdout] test crates/nes-rewind/src/policy.rs - policy::KeyframePolicy::new (line 26) ... 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] [stdout] all doctests ran in 0.62s; merged doctests compilation took 0.61s
[INFO] [stderr]    Doc-tests nes_test_harness
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test crates/nes-test-harness/src/homebrew.rs - homebrew::write_homebrew_rom (line 53) - compile ... ok
[INFO] [stdout] test crates/nes-test-harness/src/lib.rs - collect_apu_register_writes (line 71) ... ok
[INFO] [stdout] test crates/nes-test-harness/src/lib.rs - (line 16) ... ok
[INFO] [stdout] test crates/nes-test-harness/src/lib.rs - write_pcm_i16le (line 286) ... ok
[INFO] [stdout] test crates/nes-test-harness/src/lib.rs - read_pcm_i16le (line 307) ... ok
[INFO] [stdout] test crates/nes-test-harness/src/homebrew.rs - homebrew::build_homebrew_rom (line 21) ... ok
[INFO] [stdout] test crates/nes-test-harness/src/lib.rs - collect_audio_for_frames (line 122) ... ok
[INFO] [stdout] test crates/nes-test-harness/src/lib.rs - capture_audio_window (line 151) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.92s; merged doctests compilation took 0.63s
[INFO] [stderr]    Doc-tests nes_tui
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test crates/nes-tui/src/app.rs - app::BridgeCommand::tool_name (line 26) ... ok
[INFO] [stdout] test crates/nes-tui/src/render.rs - render::frame_lines_from_rgb (line 79) ... ok
[INFO] [stdout] test crates/nes-tui/src/app.rs - app::map_key_event_to_command (line 49) ... ok
[INFO] [stdout] test crates/nes-tui/src/render.rs - render::frame_lines_half_blocks (line 118) ... ok
[INFO] [stdout] test crates/nes-tui/src/render.rs - render::frame_lines_quarter_blocks (line 176) ... ok
[INFO] [stdout] test crates/nes-tui/src/render.rs - render::downsample_frame_rgb (line 25) ... ok
[INFO] [stdout] test crates/nes-tui/src/render.rs - render::mini_palette_spans (line 240) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.90s; merged doctests compilation took 0.87s
[INFO] [stderr]    Doc-tests nes_web
[INFO] [stdout] 
[INFO] [stdout] running 89 tests
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::audio_chunk_samples::_::__wasm_bindgen_generated_NesWebEmulator_audio_chunk_samples (line 490) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - (line 13) ... ok
[INFO] [stdout] test crates/nes-web/src/bridge.rs - bridge::BridgeCommand::tool_name (line 31) ... ok
[INFO] [stdout] test crates/nes-web/src/bridge.rs - bridge::BridgeCommand (line 10) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::audio_sample_rate::_::__wasm_bindgen_generated_NesWebEmulator_audio_sample_rate (line 474) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::audio_chunk_i16::_::__wasm_bindgen_generated_NesWebEmulator_audio_chunk_i16 (line 337) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::cpu_pc (line 354) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::controller_bits (line 425) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::audio_sample_rate (line 474) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::controller_bits::_::__wasm_bindgen_generated_NesWebEmulator_controller_bits (line 425) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::audio_chunk_samples (line 490) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::fps_milli (line 372) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::cpu_pc::_::__wasm_bindgen_generated_NesWebEmulator_cpu_pc (line 354) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::dispatch_dom_key (line 251) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::fps_milli::_::__wasm_bindgen_generated_NesWebEmulator_fps_milli (line 372) ... ok
[INFO] [stdout] test crates/nes-web/src/bridge.rs - bridge::map_dom_key_to_command (line 55) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::dispatch_dom_key::_::__wasm_bindgen_generated_NesWebEmulator_dispatch_dom_key (line 251) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_height (line 458) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_rgba_ptr (line 303) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_rgba_len (line 320) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_rgba::_::__wasm_bindgen_generated_NesWebEmulator_frame_rgba (line 286) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::load_rom (line 65) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_rgba (line 286) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_rgba_len::_::__wasm_bindgen_generated_NesWebEmulator_frame_rgba_len (line 320) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_rgba_ptr::_::__wasm_bindgen_generated_NesWebEmulator_frame_rgba_ptr (line 303) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::load_rom::_::__wasm_bindgen_generated_NesWebEmulator_load_rom (line 65) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_width (line 442) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_width::_::__wasm_bindgen_generated_NesWebEmulator_frame_width (line 442) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::new (line 47) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::new::_::__wasm_bindgen_generated_NesWebEmulator_new (line 47) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::audio_chunk_i16 (line 337) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::press_button (line 222) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::pause::_::__wasm_bindgen_generated_NesWebEmulator_pause (line 130) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::power_cycle::_::__wasm_bindgen_generated_NesWebEmulator_power_cycle (line 174) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::power_cycle (line 174) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::frame_height::_::__wasm_bindgen_generated_NesWebEmulator_frame_height (line 458) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::pause (line 130) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::release_button::_::__wasm_bindgen_generated_NesWebEmulator_release_button (line 235) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::release_button (line 235) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::refresh_frame_rgba::_::__wasm_bindgen_generated_NesWebEmulator_refresh_frame_rgba (line 270) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::reset::_::__wasm_bindgen_generated_NesWebEmulator_reset (line 159) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::resume::_::__wasm_bindgen_generated_NesWebEmulator_resume (line 143) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::press_button::_::__wasm_bindgen_generated_NesWebEmulator_press_button (line 222) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::set_controller_state::_::__wasm_bindgen_generated_NesWebEmulator_set_controller_state (line 206) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::set_speed::_::__wasm_bindgen_generated_NesWebEmulator_set_speed (line 190) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::refresh_frame_rgba (line 270) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::set_speed (line 190) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::ppu_frame_counter::_::__wasm_bindgen_generated_NesWebEmulator_ppu_frame_counter (line 388) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::ppu_frame_counter (line 388) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::state_hash (line 406) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::resume (line 143) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::reset (line 159) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::set_controller_state (line 206) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::step_cpu::_::__wasm_bindgen_generated_NesWebEmulator_step_cpu (line 115) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::state_hash::_::__wasm_bindgen_generated_NesWebEmulator_state_hash (line 406) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - runtime (line 38) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::step_cpu (line 115) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::step_scanline (line 100) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::step_scanline::_::__wasm_bindgen_generated_NesWebEmulator_step_scanline (line 100) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::dispatch_dom_key (line 261) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::step_frame::_::__wasm_bindgen_generated_NesWebEmulator_step_frame (line 83) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::cpu_pc (line 377) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::audio_chunk_samples (line 509) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::frame_rgba_len (line 341) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::controller_bits (line 444) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::frame_rgba_ptr (line 324) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::frame_height (line 477) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::load_rom (line 67) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::frame_rgba (line 306) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::fps_milli (line 394) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::pause (line 136) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::new (line 47) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::audio_chunk_i16 (line 358) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::audio_sample_rate (line 493) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::press_button (line 229) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::release_button (line 244) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::frame_width (line 461) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::resume (line 149) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::set_speed (line 197) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::step_cpu (line 121) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::set_controller_state (line 213) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::state_hash (line 428) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::step_scanline (line 106) ... ok
[INFO] [stdout] test crates/nes-web/src/lib.rs - NesWebEmulator::step_frame (line 83) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::step_frame (line 89) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::power_cycle (line 181) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::reset (line 166) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::ppu_frame_counter (line 410) ... ok
[INFO] [stdout] test crates/nes-web/src/runtime.rs - runtime::WebRuntime::refresh_frame_rgba (line 286) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.06s; merged doctests compilation took 0.92s
[INFO] running `Command { std: "docker" "inspect" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76", kill_on_drop: false }`
[INFO] [stdout] 56519014399ee2ecd43014cc497a8f4e1c902d104e829948967bb6c593ca8d76
