[INFO] cloning repository https://github.com/HenrySchlesinger/poker-solver [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HenrySchlesinger/poker-solver" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHenrySchlesinger%2Fpoker-solver", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHenrySchlesinger%2Fpoker-solver'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7bcdcbc8454053cbcc41f06ccd2232bf735c09da [INFO] testing HenrySchlesinger/poker-solver against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHenrySchlesinger%2Fpoker-solver" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/HenrySchlesinger/poker-solver [INFO] finished tweaking git repo https://github.com/HenrySchlesinger/poker-solver [INFO] tweaked toml for git repo https://github.com/HenrySchlesinger/poker-solver written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/HenrySchlesinger/poker-solver on toolchain 33835004928d3bf65db4d4712e1330766263b0bd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/HenrySchlesinger/poker-solver 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e7895889094a531fa351b27edcde4e949bfb77df6270736aef34c0a9667b659c [INFO] running `Command { std: "docker" "start" "-a" "e7895889094a531fa351b27edcde4e949bfb77df6270736aef34c0a9667b659c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e7895889094a531fa351b27edcde4e949bfb77df6270736aef34c0a9667b659c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7895889094a531fa351b27edcde4e949bfb77df6270736aef34c0a9667b659c", kill_on_drop: false }` [INFO] [stdout] e7895889094a531fa351b27edcde4e949bfb77df6270736aef34c0a9667b659c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 88c13e24e00421b3b68590b072165a6f6b4a81ca32aaf620cf9e6f97f6f47818 [INFO] running `Command { std: "docker" "start" "-a" "88c13e24e00421b3b68590b072165a6f6b4a81ca32aaf620cf9e6f97f6f47818", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling libc v0.2.185 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling pkg-config v0.3.33 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling os_str_bytes v6.6.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling safe_arch v0.7.4 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling textwrap v0.16.2 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling solver-core v0.1.0 (/opt/rustwide/workdir/crates/solver-core) [INFO] [stderr] Compiling cbindgen v0.26.0 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling wide v0.7.33 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling rand v0.8.6 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling rs_poker v4.1.0 [INFO] [stderr] Compiling solver-eval v0.1.0 (/opt/rustwide/workdir/crates/solver-eval) [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling solver-eval-reference v0.1.0 (/opt/rustwide/workdir/crates/solver-eval-reference) [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling solver-ffi v0.1.0 (/opt/rustwide/workdir/crates/solver-ffi) [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling solver-nlhe v0.1.0 (/opt/rustwide/workdir/crates/solver-nlhe) [INFO] [stderr] Compiling solver-cli v0.1.0 (/opt/rustwide/workdir/crates/solver-cli) [INFO] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 3m 28s [INFO] running `Command { std: "docker" "inspect" "88c13e24e00421b3b68590b072165a6f6b4a81ca32aaf620cf9e6f97f6f47818", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "88c13e24e00421b3b68590b072165a6f6b4a81ca32aaf620cf9e6f97f6f47818", kill_on_drop: false }` [INFO] [stdout] 88c13e24e00421b3b68590b072165a6f6b4a81ca32aaf620cf9e6f97f6f47818 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6380f963224b3855095edb6aa6e67544d37ffc7a344e2da8cc120a65f8ca9eee [INFO] running `Command { std: "docker" "start" "-a" "6380f963224b3855095edb6aa6e67544d37ffc7a344e2da8cc120a65f8ca9eee", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.185 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy-derive v0.8.48 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling cbindgen v0.26.0 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling rand v0.8.6 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rs_poker v4.1.0 [INFO] [stderr] Compiling proptest v1.11.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling solver-core v0.1.0 (/opt/rustwide/workdir/crates/solver-core) [INFO] [stderr] Compiling solver-eval v0.1.0 (/opt/rustwide/workdir/crates/solver-eval) [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling solver-eval-reference v0.1.0 (/opt/rustwide/workdir/crates/solver-eval-reference) [INFO] [stderr] Compiling solver-ffi v0.1.0 (/opt/rustwide/workdir/crates/solver-ffi) [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling solver-nlhe v0.1.0 (/opt/rustwide/workdir/crates/solver-nlhe) [INFO] [stderr] Compiling solver-cli v0.1.0 (/opt/rustwide/workdir/crates/solver-cli) [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 2m 16s [INFO] running `Command { std: "docker" "inspect" "6380f963224b3855095edb6aa6e67544d37ffc7a344e2da8cc120a65f8ca9eee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6380f963224b3855095edb6aa6e67544d37ffc7a344e2da8cc120a65f8ca9eee", kill_on_drop: false }` [INFO] [stdout] 6380f963224b3855095edb6aa6e67544d37ffc7a344e2da8cc120a65f8ca9eee [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7ecb9dc9a211278fb8788c28dc52ff00e66535af82e1123180ee860c617a787e [INFO] running `Command { std: "docker" "start" "-a" "7ecb9dc9a211278fb8788c28dc52ff00e66535af82e1123180ee860c617a787e", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 0.17s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/solver_cli-e49f0d9d0e47ee55) [INFO] [stdout] [INFO] [stdout] running 77 tests [INFO] [stdout] test demo::tests::all_renders_every_spot ... ok [INFO] [stdout] test demo::tests::bar_for_half_is_half_filled ... ok [INFO] [stdout] test demo::tests::bar_for_zero_is_all_empty ... ok [INFO] [stdout] test demo::tests::bar_for_one_is_all_filled ... ok [INFO] [stdout] test demo::tests::bluff_catch_renders_without_error ... ok [INFO] [stdout] test demo::tests::coinflip_renders_without_error ... ok [INFO] [stdout] test demo::tests::format_duration_picks_readable_unit ... ok [INFO] [stdout] test demo::tests::render_is_deterministic ... ok [INFO] [stdout] test demo::tests::royal_renders_without_error ... ok [INFO] [stdout] test demo::tests::no_color_output_contains_no_ansi_escapes ... ok [INFO] [stdout] test demo::tests::section_rule_is_banner_width ... ok [INFO] [stdout] test demo::tests::soft_wrap_handles_basic_paragraph ... ok [INFO] [stdout] test demo::tests::unknown_spot_errors_with_valid_list ... ok [INFO] [stdout] test demo_spots::tests::action_frequencies_sum_to_one ... ok [INFO] [stdout] test demo_spots::tests::bluff_catch_accepts_kebab_case_alias ... ok [INFO] [stdout] test demo_spots::tests::every_spot_is_findable_by_id ... ok [INFO] [stdout] test demo_spots::tests::narration_is_nonempty_and_multisentence ... ok [INFO] [stdout] test demo_spots::tests::frequencies_are_in_unit_interval ... ok [INFO] [stdout] test md_to_ipynb::tests::classify_line_smoke ... ok [INFO] [stdout] test md_to_ipynb::tests::emit_notebook_shape_is_valid_v45 ... ok [INFO] [stdout] test demo_spots::tests::unknown_spot_returns_none ... ok [INFO] [stdout] test md_to_ipynb::tests::cell_header_title_parses ... ok [INFO] [stdout] test md_to_ipynb::tests::parse_multiple_cells_with_prose_between ... ok [INFO] [stdout] test md_to_ipynb::tests::validate_rejects_code_cell_missing_outputs ... ok [INFO] [stdout] test md_to_ipynb::tests::parse_rejects_unclosed_fence ... ok [INFO] [stdout] test md_to_ipynb::tests::round_trip_our_actual_plan_shape ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_accepts_happy_path ... ok [INFO] [stdout] test seed_cache::tests::every_entry_has_two_actions ... ok [INFO] [stdout] test md_to_ipynb::tests::validate_rejects_missing_cell_id ... ok [INFO] [stdout] test md_to_ipynb::tests::text_to_source_lines_splits_correctly ... ok [INFO] [stdout] test md_to_ipynb::tests::parse_bash_cell ... ok [INFO] [stdout] test md_to_ipynb::tests::trailing_bash_fence_stays_in_markdown ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_accepts_multiword_ranges_with_whitespace ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_accepts_preflop_empty_board ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_accepts_zero_stack ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_rejects_bad_hero_range ... ok [INFO] [stdout] test seed_cache::tests::classify_texture_known_boards ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_rejects_bad_villain_range ... ok [INFO] [stdout] test md_to_ipynb::tests::validate_rejects_bad_nbformat_version ... ok [INFO] [stdout] test md_to_ipynb::tests::parse_single_code_cell ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_accepts_turn_and_river_boards ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_rejects_bad_board ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_rejects_unknown_bet_tree ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_rejects_zero_pot ... ok [INFO] [stdout] test seed_cache::tests::strategy_probabilities_sum_to_one ... ok [INFO] [stdout] test translate::tests::bad_street_rejects ... ok [INFO] [stdout] test translate::tests::emitted_config_ends_with_newline ... ok [INFO] [stdout] test solve_cmd::tests::parse_inputs_rejects_zero_iterations ... ok [INFO] [stdout] test translate::tests::flop_fixture_emits_all_three_streets ... ok [INFO] [stdout] test solve_cmd::tests::solver_kind_parses_known_values ... ok [INFO] [stdout] test solve_cmd::tests::solver_kind_rejects_unknown_values ... ok [INFO] [stdout] test translate::tests::format_board_csv_flop ... ok [INFO] [stdout] test translate::tests::non_object_fixture_rejects ... ok [INFO] [stdout] test seed_cache::tests::grid_has_expected_size ... ok [INFO] [stdout] test translate::tests::normalize_expands_offsuit_plus ... ok [INFO] [stdout] test translate::tests::normalize_expands_pair_minus ... ok [INFO] [stdout] test translate::tests::normalize_expands_pair_plus ... ok [INFO] [stdout] test translate::tests::format_board_csv_rejects_odd_length ... ok [INFO] [stdout] test translate::tests::normalize_passes_through_length_2_and_3 ... ok [INFO] [stdout] test seed_cache::tests::grid_keys_are_unique ... ok [INFO] [stdout] test translate::tests::missing_required_field_rejects ... ok [INFO] [stdout] test translate::tests::no_comment_lines_emitted ... ok [INFO] [stdout] test translate::tests::normalize_expands_pair_range_inclusive ... ok [INFO] [stdout] test translate::tests::normalize_preserves_weight_suffix ... ok [INFO] [stdout] test solve_cmd::tests::run_solve_rejects_non_river_board_with_readable_error ... ok [INFO] [stdout] test translate::tests::normalize_tolerates_trailing_comma_and_whitespace ... ok [INFO] [stdout] test translate::tests::river_fixture_omits_flop_and_turn_bet_sizes ... ok [INFO] [stdout] test translate::tests::strip_whitespace_helper ... ok [INFO] [stdout] test translate::tests::turn_fixture_emits_turn_and_river_only ... ok [INFO] [stdout] test translate::tests::normalize_expands_suited_plus ... ok [INFO] [stdout] test translate::tests::unknown_bet_tree_rejects ... ok [INFO] [stdout] test translate::tests::normalize_rejects_bad_token ... ok [INFO] [stdout] test translate::tests::target_format_parse ... ok [INFO] [stdout] test seed_cache::tests::seed_writes_and_roundtrips ... ok [INFO] [stdout] test solve_cmd::tests::run_solve_classic_solver_still_works ... ok [INFO] [stdout] test solve_cmd::tests::run_solve_produces_json_on_river_spot ... ok [INFO] [stdout] test solve_cmd::tests::run_solve_produces_json_with_positive_stack ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 77 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-29ba0c82b67fcf8f) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test solve_help_shows_expected_args ... ok [INFO] [stdout] test help_shows_all_three_subcommands ... ok [INFO] [stdout] test solve_produces_valid_json_end_to_end ... ok [INFO] [stdout] test precompute_is_scaffolded_not_yet_implemented ... ok [INFO] [stdout] test validate_is_scaffolded_not_yet_implemented ... ok [INFO] [stdout] test solve_with_bad_board_exits_nonzero_with_useful_error ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running tests/e2e_integration.rs (/opt/rustwide/target/debug/deps/e2e_integration-b79e92de76c7029d) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test end_to_end ... ignored, requires target/release/solver-cli on disk — run via scripts/e2e.sh [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/fixtures_parse.rs (/opt/rustwide/target/debug/deps/fixtures_parse-59777cfdca8be2e9) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test twenty_canonical_fixtures_exist ... ok [INFO] [stdout] test every_fixture_parses_and_validates ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/texassolver_diff.rs (/opt/rustwide/target/debug/deps/texassolver_diff-467c55aa85f27705) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test texassolver_diff ... ignored, heavyweight: requires ./bin/texassolver via install-texassolver.sh [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/translate_fixture.rs (/opt/rustwide/target/debug/deps/translate_fixture-92ea4d699a009d74) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test translate_fixture_help_shows_flags ... ok [INFO] [stdout] test output_dash_writes_to_stdout ... ok [INFO] [stdout] test help_shows_translate_fixture_subcommand ... ok [INFO] [stdout] test translate_3bet_pot_flop_fixture_preserves_fields ... ok [INFO] [stdout] test translate_with_empty_villain_range_passes_through ... ok [INFO] [stdout] test translate_flop_fixture_emits_all_streets ... ok [INFO] [stdout] test translate_river_fixture_emits_river_only ... ok [INFO] [stdout] test unknown_bet_tree_preset_fails_cleanly ... ok [INFO] [stdout] test malformed_json_fails_with_useful_message ... ok [INFO] [stdout] test unknown_format_fails_cleanly ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/solver_core-2be1c812269cee98) [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test matching::tests::all_negative_regrets_is_uniform ... ok [INFO] [stdout] test matching::tests::all_zero_regrets_is_uniform ... ok [INFO] [stdout] test matching::tests::mixed_positive_regrets_normalize ... ok [INFO] [stdout] test matching::tests::one_positive_others_zero_is_pure ... ok [INFO] [stdout] test matching::tests::one_positive_regret_is_pure ... ok [INFO] [stdout] test matching::tests::output_is_probability_distribution ... ok [INFO] [stdout] test matching_simd::tests::all_negative_uniform_simd ... ok [INFO] [stdout] test matching_simd::tests::length_eight_hits_simd_path ... ok [INFO] [stdout] test matching_simd::tests::length_nine_hits_tail_path ... ok [INFO] [stdout] test matching_simd::tests::tiny_input_matches_scalar ... ok [INFO] [stdout] test matching_simd::tests::vector_all_negative_is_uniform ... ok [INFO] [stdout] test matching_simd::tests::vector_matches_scalar_per_lane_small ... ok [INFO] [stdout] test matching_simd::tests::vector_sums_to_one_per_lane ... ok [INFO] [stdout] test matching_simd::tests::vector_matches_scalar_per_lane_nlhe_scale ... ok [INFO] [stdout] test matching_simd::tests::vector_pure_strategy_when_one_action_positive_per_lane ... ok [INFO] [stdout] test mccfr::tests::mccfr_different_seeds_diverge_in_finite_iters ... ok [INFO] [stdout] test tables::tests::empty_table_reports_empty ... ok [INFO] [stdout] test mccfr::tests::sample_from_distribution_respects_probabilities ... ok [INFO] [stdout] test mccfr::tests::mccfr_is_deterministic_for_fixed_seed ... ok [INFO] [stdout] test tables::tests::new_zero_inits_all_buffers ... ok [INFO] [stdout] test tables::tests::regrets_and_current_mut_exposes_both_slices ... ok [INFO] [stdout] test tables::tests::stride_and_len_reflect_construction ... ok [INFO] [stdout] test tables::tests::writes_land_in_the_correct_slot ... ok [INFO] [stdout] test tables::tests::writes_to_each_buffer_are_independent ... ok [INFO] [stdout] test tables_vector::tests::regret_and_strategy_rows_are_independent ... ok [INFO] [stdout] test tables_vector::tests::zero_inits_and_stride_is_correct ... ok [INFO] [stdout] test tables_vector::tests::rows_are_contiguous_and_action_sized ... ok [INFO] [stdout] test tables_vector::tests::num_actions_accessors_reflect_descriptors ... ok [INFO] [stdout] test tables_vector::tests::writes_land_in_the_correct_slot ... ok [INFO] [stdout] test mccfr::tests::mccfr_converges_on_matching_pennies ... ok [INFO] [stdout] test matching::tests::empty_input_panics - should panic ... ok [INFO] [stdout] test matching::tests::mismatched_lengths_panic - should panic ... ok [INFO] [stdout] test matching_simd::tests::empty_panics - should panic ... ok [INFO] [stdout] test matching_simd::tests::mismatched_lengths_panic - should panic ... ok [INFO] [stdout] test tables::tests::zero_max_actions_panics - should panic ... ok [INFO] [stdout] test tables_vector::tests::duplicate_info_set_id_panics - should panic ... ok [INFO] [stdout] test tables_vector::tests::empty_descriptors_panics - should panic ... ok [INFO] [stdout] test tables_vector::tests::zero_combo_width_panics - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/flat_equivalence.rs (/opt/rustwide/target/debug/deps/flat_equivalence-1a09a62dd658d434) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test enumerate_info_sets_matches_hashmap_discovery ... ok [INFO] [stdout] test flat_converges_on_kuhn ... ok [INFO] [stdout] test cfr_plus_flat_matches_hashmap_on_kuhn_10k_iters ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Running tests/kuhn.rs (/opt/rustwide/target/debug/deps/kuhn-37da4a2872d54ee6) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test cfr_plus_converges_on_kuhn ... ok [INFO] [stdout] test kuhn_converges_to_known_game_value ... ok [INFO] [stdout] test kuhn_p1_alpha_is_in_nash_family ... ok [INFO] [stdout] test kuhn_p2_strategy_matches_nash_constraints ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_cfr.rs (/opt/rustwide/target/debug/deps/proptest_cfr-a9b7e5f992b9c4ba) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test regret_match_scalar_matches_buffer_form ... ok [INFO] [stdout] test regret_match_sums_to_one ... ok [INFO] [stdout] test kuhn_cfr_is_deterministic ... ok [INFO] [stdout] test kuhn_exploitability_nonneg ... ok [INFO] [stdout] test kuhn_convergence_sanity ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Running tests/simd_equivalence.rs (/opt/rustwide/target/debug/deps/simd_equivalence-11f279e3d0a731dd) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test all_negative_is_uniform ... ok [INFO] [stdout] test all_zeros_is_uniform ... ok [INFO] [stdout] test large_scale_nlhe_combos ... ok [INFO] [stdout] test mixed_with_exact_zeros ... ok [INFO] [stdout] test nan_regrets_treated_as_nonpositive ... ok [INFO] [stdout] test boundary_lengths ... ok [INFO] [stdout] test single_positive_is_pure ... ok [INFO] [stdout] test output_sums_to_one ... ok [INFO] [stdout] test property_sweep_random_regrets ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/vector_equivalence.rs (/opt/rustwide/target/debug/deps/vector_equivalence-15fb64e0a12c0f68) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test enumerate_vector_info_sets_kuhn_shape ... ok [INFO] [stdout] test cfr_plus_vector_matches_scalar_on_kuhn_10k_iters ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/solver_eval-317e2c50cd665964) [INFO] [stdout] [INFO] [stdout] running 86 tests [INFO] [stdout] test board::tests::empty_board_is_len_zero ... ok [INFO] [stdout] test board::tests::flop_constructor_matches_parse ... ok [INFO] [stdout] test board::tests::parse_empty_is_preflop ... ok [INFO] [stdout] test board::tests::parse_flop_roundtrip ... ok [INFO] [stdout] test board::tests::parse_rejects_duplicate_card ... ok [INFO] [stdout] test board::tests::parse_case_insensitive ... ok [INFO] [stdout] test board::tests::parse_rejects_odd_length ... ok [INFO] [stdout] test board::tests::parse_rejects_one_card ... ok [INFO] [stdout] test board::tests::parse_rejects_six_cards ... ok [INFO] [stdout] test board::tests::parse_rejects_two_cards ... ok [INFO] [stdout] test board::tests::parse_river_roundtrip ... ok [INFO] [stdout] test board::tests::parse_turn_roundtrip ... ok [INFO] [stdout] test board::tests::turn_and_river_constructors_produce_correct_len ... ok [INFO] [stdout] test card::tests::all_52_encodings_are_distinct ... ok [INFO] [stdout] test card::tests::encoding_matches_spec ... ok [INFO] [stdout] test card::tests::parse_accepts_both_cases ... ok [INFO] [stdout] test card::tests::parse_display_roundtrip_all_52 ... ok [INFO] [stdout] test card::tests::parse_rejects_bad_input ... ok [INFO] [stdout] test card::tests::rank_suit_extraction_roundtrips ... ok [INFO] [stdout] test combo::tests::combo_bijection_over_all_indices ... ok [INFO] [stdout] test combo::tests::combo_injectivity_over_all_pairs ... ok [INFO] [stdout] test combo::tests::first_and_last_index_match_spec ... ok [INFO] [stdout] test combo::tests::index_is_symmetric_in_arguments ... ok [INFO] [stdout] test combo::tests::num_combos_is_1326 ... ok [INFO] [stdout] test equity::tests::available_deck_has_correct_count ... ok [INFO] [stdout] test equity::tests::board_mask_basic ... ok [INFO] [stdout] test equity::tests::hero_shares_with_board_returns_nan ... ok [INFO] [stdout] test equity::tests::hero_villain_share_card_returns_nan ... ok [INFO] [stdout] test equity::tests::range_vs_range_drops_board_conflict ... ok [INFO] [stdout] test equity::tests::symmetry_win_plus_tie_is_one ... ok [INFO] [stdout] test equity::tests::range_vs_range_drops_hero_villain_conflict ... ok [INFO] [stdout] test equity::tests::symmetry_sum_is_one_on_river ... ok [INFO] [stdout] test equity::tests::villain_shares_with_board_returns_nan ... ok [INFO] [stdout] test eval::tests::eval_5_matches_eval_7_when_best_5_is_the_hole_plus_flop ... ok [INFO] [stdout] test eval::tests::flush_beats_straight ... ok [INFO] [stdout] test eval::tests::full_house_beats_trips ... ok [INFO] [stdout] test equity::tests::river_quads_beat_full_house ... ok [INFO] [stdout] test equity::tests::river_full_house_beats_flush ... ok [INFO] [stdout] test equity::tests::river_chop_ties_go_half ... ok [INFO] [stdout] test eval::tests::hand_rank_ordering_respects_category ... ok [INFO] [stdout] test eval::tests::royal_flush_is_top_rank ... ok [INFO] [stdout] test hand::tests::canonicalization_sorts_higher_first ... ok [INFO] [stdout] test hand::tests::hand_canonicalization_ahkd_eq_kdah ... ok [INFO] [stdout] test hand::tests::parse_case_insensitive ... ok [INFO] [stdout] test equity::tests::mc_is_deterministic_for_same_input ... ok [INFO] [stdout] test hand::tests::parse_rejects_short_and_long_strings ... ok [INFO] [stdout] test hand::tests::parse_roundtrip_reverse ... ok [INFO] [stdout] test hand::tests::parse_roundtrip_ahkd ... ok [INFO] [stdout] test iso::tests::already_canonical_stays_the_same ... ok [INFO] [stdout] test hand::tests::pocket_pair_different_suits_ok ... ok [INFO] [stdout] test iso::tests::canonical_spot_preserves_ranks_everywhere ... ok [INFO] [stdout] test hand::tests::parse_rejects_duplicate_card ... ok [INFO] [stdout] test iso::tests::combo_index_edges ... ok [INFO] [stdout] test iso::tests::empty_preflop_board_is_a_noop ... ok [INFO] [stdout] test iso::tests::equivalent_boards_canonicalize_to_same_form ... ok [INFO] [stdout] test iso::tests::monotone_flop_canonicalizes_to_all_suit_zero ... ok [INFO] [stdout] test iso::tests::preserves_ranks ... ok [INFO] [stdout] test iso::tests::preserves_board_length ... ok [INFO] [stdout] test iso::tests::rainbow_flop_canonicalizes_to_suits_0_1_2_in_order ... ok [INFO] [stdout] test iso::tests::canonical_spot_collapses_suit_relabeling ... ok [INFO] [stdout] test iso::tests::combo_index_roundtrips_all_1326 ... ok [INFO] [stdout] test iso::tests::idempotent ... ok [INFO] [stdout] test iso::tests::canonical_spot_is_idempotent ... ok [INFO] [stdout] test iso::tests::permuting_suits_preserves_canonical_form ... ok [INFO] [stdout] test texture::tests::accessor_roundtrip_matches_packing ... ok [INFO] [stdout] test iso::tests::reduction_factor_collapses_22100_flops ... ok [INFO] [stdout] test texture::tests::asksqs_monotone_high_tight_strong_flush_strong_straight ... ok [INFO] [stdout] test texture::tests::eights_paired_rainbow_low ... ok [INFO] [stdout] test texture::tests::deterministic ... ok [INFO] [stdout] test texture::tests::canonical_flop_table ... ok [INFO] [stdout] test texture::tests::aces_trips_rainbow_ace ... ok [INFO] [stdout] test texture::tests::permutation_of_flop_gives_same_texture ... ok [INFO] [stdout] test texture::tests::suit_relabel_preserves_texture_when_counts_unchanged ... ok [INFO] [stdout] test texture::tests::empty_board_is_zero ... ok [INFO] [stdout] test texture::tests::isomorphic_boards_same_bucket ... ok [INFO] [stdout] test texture::tests::jhth9c_two_tone_high_tight_strong_straight_weak_flush ... ok [INFO] [stdout] test texture::tests::all_flops_fit_in_u16_with_reserved_bit_zero ... ok [INFO] [stdout] test texture::tests::low_straight_flush_board ... ok [INFO] [stdout] test texture::tests::low_disconnected_board ... ok [INFO] [stdout] test equity::tests::aa_vs_kk_preflop_hand_vs_hand ... ok [INFO] [stdout] test equity::tests::twentytwo_vs_aks_is_coin_flip ... ok [INFO] [stdout] test equity::tests::symmetry_holds_under_mc ... ok [INFO] [stdout] test equity::tests::range_vs_range_singleton_matches_hand_vs_hand ... ok [INFO] [stdout] test equity::tests::range_vs_range_two_combo_hero ... ok [INFO] [stdout] test equity::tests::aa_vs_kk_range_is_8149 ... ok [INFO] [stdout] test equity::tests::mc_converges_on_aa_vs_kk_range ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 86 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.75s [INFO] [stdout] [INFO] [stderr] Running tests/differential.rs (/opt/rustwide/target/debug/deps/differential-b3252e668da1cb28) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test eval_7_category_matches_reference_on_random_inputs ... ok [INFO] [stdout] test eval_7_ordering_matches_reference_on_random_pairs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/equity_goldens.rs (/opt/rustwide/target/debug/deps/equity_goldens-36dead13f51fafdb) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test dead_cards_returns_nan ... ok [INFO] [stdout] test range_vs_range_filters_all_conflicts ... ok [INFO] [stdout] test river_quads_beat_two_pair ... ok [INFO] [stdout] test river_full_house_beats_two_pair ... ok [INFO] [stdout] test symmetry_sum_is_one_river_spots ... ok [INFO] [stdout] test asah_vs_kskh_preflop_0_8267 ... ok [INFO] [stdout] test twentytwo_vs_aks_preflop_0_5004 ... ok [INFO] [stdout] test mc_100k_converges_within_half_percent ... ok [INFO] [stdout] test aa_vs_kk_range_0_8149 ... ok [INFO] [stdout] test qq_vs_ako_range_0_5674 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.74s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_primitives.rs (/opt/rustwide/target/debug/deps/proptest_primitives-fa84377458c4ee42) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test card_display_parse_roundtrip ... ok [INFO] [stdout] test combo_bijection_roundtrip ... ok [INFO] [stdout] test combo_index_is_symmetric ... ok [INFO] [stdout] test eval_7_is_deterministic ... ok [INFO] [stdout] test board_display_parse_roundtrip ... ok [INFO] [stdout] test hand_new_is_symmetric ... ok [INFO] [stdout] test hand_higher_card_first ... ok [INFO] [stdout] test equity_symmetry_river_exact ... ok [INFO] [stdout] test equity_symmetry_flop_mc ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 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/solver_eval_reference-2db85f9749a8156e) [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test equity::tests::aces_beat_kings_on_blank_river ... ok [INFO] [stdout] test equity::tests::chop_the_board_gives_tie ... ok [INFO] [stdout] test equity::tests::monte_carlo_agrees_with_exact_on_river ... ok [INFO] [stdout] test equity::tests::enumeration_on_turn_is_exact ... ok [INFO] [stdout] test eval::tests::eval_5_matches_eval_7_on_royal ... ok [INFO] [stdout] test eval::tests::flush_beats_straight ... ok [INFO] [stdout] test eval::tests::full_house_beats_trips ... ok [INFO] [stdout] test eval::tests::ordering_respects_category ... ok [INFO] [stdout] test eval::tests::pair_of_aces_kicker_ordering ... ok [INFO] [stdout] test eval::tests::royal_flush_is_top ... ok [INFO] [stdout] test eval::tests::wheel_straight_is_detected ... ok [INFO] [stdout] test preflop::tests::ak_offsuit ... ok [INFO] [stdout] test preflop::tests::ak_suited_hearts ... ok [INFO] [stdout] test preflop::tests::canonical_hands_has_exactly_169_entries ... ok [INFO] [stdout] test preflop::tests::order_is_higher_first_regardless_of_input ... ok [INFO] [stdout] test preflop::tests::pocket_aces_normalize_to_aa ... ok [INFO] [stdout] test preflop::tests::every_concrete_combo_maps_to_some_canonical_class ... ok [INFO] [stdout] test showdown::tests::all_equal_returns_all ... ok [INFO] [stdout] test showdown::tests::empty_input_returns_empty ... ok [INFO] [stdout] test showdown::tests::three_way_tie_returns_all_three ... ok [INFO] [stdout] test showdown::tests::single_winner ... ok [INFO] [stdout] test equity::tests::monte_carlo_determinism ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 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/solver_ffi-61def54917852a5f) [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/smoke.rs (/opt/rustwide/target/debug/deps/smoke-4a4f066be47ec895) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test lookup_cached_returns_cache_miss_for_unknown_spot ... ok [INFO] [stdout] test new_and_free_are_symmetric ... ok [INFO] [stdout] test solve_with_non_river_board_returns_invalid_input ... ok [INFO] [stdout] test solve_with_null_inputs_does_not_crash ... ok [INFO] [stdout] test solve_with_valid_inputs_returns_a_status ... ok [INFO] [stdout] test status_enum_numeric_values_are_stable ... ok [INFO] [stdout] test solve_with_unknown_bet_tree_version_returns_invalid_input ... ok [INFO] [stdout] test struct_sizes_match_documented_layout ... ok [INFO] [stdout] test version_is_non_null_and_parseable ... ok [INFO] [stdout] test solve_with_canonical_hand_state_returns_ok ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/solver_nlhe-38fc15d809a133f6) [INFO] [stdout] [INFO] [stdout] running 108 tests [INFO] [stdout] test action::tests::current_street_follows_last_entry ... ok [INFO] [stdout] test action::tests::empty_log ... ok [INFO] [stdout] test action::tests::fold_closes_the_street ... ok [INFO] [stdout] test action::tests::iter_preserves_order ... ok [INFO] [stdout] test action::tests::iter_street_filters ... ok [INFO] [stdout] test action::tests::pop_works ... ok [INFO] [stdout] test action::tests::postflop_bet_call_closes ... ok [INFO] [stdout] test action::tests::postflop_bet_raise_reopens ... ok [INFO] [stdout] test action::tests::postflop_check_check_closes ... ok [INFO] [stdout] test action::tests::pot_contributions_check_check_empty ... ok [INFO] [stdout] test action::tests::pot_contributions_empty_street_is_zero ... ok [INFO] [stdout] test action::tests::pot_contributions_postflop_bet_call ... ok [INFO] [stdout] test action::tests::pot_contributions_postflop_check_bet_call ... ok [INFO] [stdout] test action::tests::pot_contributions_preflop_limp_check ... ok [INFO] [stdout] test action::tests::pot_contributions_preflop_raise_call ... ok [INFO] [stdout] test action::tests::pot_contributions_preflop_three_bet ... ok [INFO] [stdout] test action::tests::preflop_limp_check_closes ... ok [INFO] [stdout] test action::tests::preflop_limp_does_not_close ... ok [INFO] [stdout] test action::tests::to_act_alternates ... ok [INFO] [stdout] test bet_tree::tests::custom_accepts_allin_only_tree ... ok [INFO] [stdout] test bet_tree::tests::custom_accepts_single_bucket ... ok [INFO] [stdout] test bet_tree::tests::custom_builds_valid_tree ... ok [INFO] [stdout] test bet_tree::tests::custom_rejects_empty_list ... ok [INFO] [stdout] test bet_tree::tests::custom_rejects_non_monotonic ... ok [INFO] [stdout] test bet_tree::tests::default_equals_default_v0_1 ... ok [INFO] [stdout] test bet_tree::tests::custom_rejects_non_positive ... ok [INFO] [stdout] test bet_tree::tests::default_turn_has_exact_fractions ... ok [INFO] [stdout] test bet_tree::tests::default_flop_has_exact_fractions ... ok [INFO] [stdout] test bet_tree::tests::snap_infinity_picks_allin_bucket ... ok [INFO] [stdout] test bet_tree::tests::snap_out_of_tree_flop_example ... ok [INFO] [stdout] test bet_tree::tests::snap_exact_bucket_returns_self ... ok [INFO] [stdout] test bet_tree::tests::default_river_has_exact_fractions ... ok [INFO] [stdout] test bet_tree::tests::default_sizings_are_sorted_ascending ... ok [INFO] [stdout] test bet_tree::tests::snap_below_smallest_goes_to_smallest ... ok [INFO] [stdout] test bet_tree::tests::snap_above_largest_finite_bucket_goes_to_largest_finite ... ok [INFO] [stdout] test flop_cache::tests::constants_sane ... ok [INFO] [stdout] test bet_tree::tests::snap_finite_never_returns_infinity_when_finite_bucket_exists ... ok [INFO] [stdout] test bet_tree::tests::property_snap_returns_value_in_sizings ... ok [INFO] [stdout] test bet_tree::tests::default_preflop_mirrors_flop ... ok [INFO] [stdout] test bet_tree::tests::property_snap_is_idempotent ... ok [INFO] [stdout] test bet_tree::tests::snap_midpoint_flop ... ok [INFO] [stdout] test flop_cache::tests::lookup_miss_returns_none ... ok [INFO] [stdout] test flop_cache::tests::empty_cache_roundtrips ... ok [INFO] [stdout] test flop_cache::tests::lookup_default_bet_tree_version_is_1 ... ok [INFO] [stdout] test flop_cache::tests::unique_keys_after_pack ... ok [INFO] [stdout] test preflop::tests::empty_compressed_roundtrips ... ok [INFO] [stdout] test flop_cache::tests::roundtrip_three_entries_via_bytes ... ok [INFO] [stdout] test preflop::tests::empty_database_roundtrips ... ok [INFO] [stdout] test preflop::tests::lookup_returns_none_for_absent_key ... ok [INFO] [stdout] test preflop::tests::fixture_roundtrip ... ok [INFO] [stdout] test preflop::tests::lookup_returns_some_for_present_key ... ok [INFO] [stdout] test bet_tree::tests::snap_nan_panics - should panic ... ok [INFO] [stdout] test bet_tree::tests::snap_negative_panics - should panic ... ok [INFO] [stdout] test preflop::tests::malformed_short_file_returns_err ... ok [INFO] [stdout] test bet_tree::tests::snap_zero_panics - should panic ... ok [INFO] [stdout] test flop_cache::tests::malformed_future_version_returns_err ... ok [INFO] [stdout] test preflop::tests::malformed_unknown_position_byte_returns_err ... ok [INFO] [stdout] test flop_cache::tests::malformed_short_header_returns_err ... ok [INFO] [stdout] test preflop::tests::malformed_wrong_version_returns_err ... ok [INFO] [stdout] test flop_cache::tests::malformed_num_actions_too_large_returns_err ... ok [INFO] [stdout] test flop_cache::tests::malformed_truncated_body_returns_err ... ok [INFO] [stdout] test flop_cache::tests::malformed_trailing_bytes_returns_err ... ok [INFO] [stdout] test flop_cache::tests::pack_rejects_duplicate_keys ... ok [INFO] [stdout] test flop_cache::tests::pack_rejects_mismatched_strategy_and_ev_lens ... ok [INFO] [stdout] test flop_cache::tests::pack_rejects_too_many_actions ... ok [INFO] [stdout] test preflop::tests::write_binary_rejects_duplicate_keys ... ok [INFO] [stdout] test range::tests::combo_index_is_lexicographic_and_covers_1326 ... ok [INFO] [stdout] test range::tests::full_and_empty ... ok [INFO] [stdout] test range::tests::parse_ak_any ... ok [INFO] [stdout] test preflop::tests::malformed_compressed_size_mismatch_returns_err ... ok [INFO] [stdout] test flop_cache::tests::malformed_bad_magic_returns_err ... ok [INFO] [stdout] test preflop::tests::malformed_truncated_entries_returns_err ... ok [INFO] [stdout] test preflop::tests::malformed_bad_magic_returns_err ... ok [INFO] [stdout] test flop_cache::tests::malformed_invalid_pot_type_returns_err ... ok [INFO] [stdout] test range::tests::malformed_returns_err_not_panic ... ok [INFO] [stdout] test range::tests::parse_ako_offsuit ... ok [INFO] [stdout] test range::tests::parse_empty_string_yields_empty_range ... ok [INFO] [stdout] test range::tests::parse_last_write_wins ... ok [INFO] [stdout] test range::tests::parse_aks_suited ... ok [INFO] [stdout] test range::tests::parse_case_insensitive ... ok [INFO] [stdout] test range::tests::parse_multiple_tokens ... ok [INFO] [stdout] test range::tests::parse_all_pairs_plus ... ok [INFO] [stdout] test range::tests::parse_weight_suffix_applies_to_every_combo ... ok [INFO] [stdout] test range::tests::parse_pocket_aces ... ok [INFO] [stdout] test range::tests::parse_qts_plus ... ok [INFO] [stdout] test range::tests::parse_t9s_plus_iterates_first_rank ... ok [INFO] [stdout] test range::tests::parse_pair_minus_is_leq ... ok [INFO] [stdout] test range::tests::parse_weight_suffix_on_two_rank ... ok [INFO] [stdout] test range::tests::parse_whitespace_tolerant ... ok [INFO] [stdout] test range::tests::parse_trailing_comma_is_fine ... ok [INFO] [stdout] test subgame::tests::river_is_closed_semantics ... ok [INFO] [stdout] test subgame::tests::info_set_hash_is_deterministic ... ok [INFO] [stdout] test subgame_vector::tests::action_only_info_set_differs_for_history ... ok [INFO] [stdout] test subgame::tests::info_set_hash_differs_for_player_and_combo ... ok [INFO] [stdout] test range::tests::parse_pair_range_inclusive ... ok [INFO] [stdout] test subgame_vector::tests::action_only_info_set_is_combo_independent ... ok [INFO] [stdout] test subgame::tests::non_river_board_panics - should panic ... ok [INFO] [stdout] test subgame_vector::tests::legal_actions_at_root_mirror_scalar ... ok [INFO] [stdout] test subgame_vector::tests::fold_terminal_matches_expectation ... ok [INFO] [stdout] test subgame_vector::tests::construction_builds_showdown_matrix ... ok [INFO] [stdout] test subgame::tests::chance_roots_skip_card_conflicts ... ok [INFO] [stdout] test subgame::tests::fold_is_terminal ... ok [INFO] [stdout] test subgame::tests::legal_actions_at_root ... ok [INFO] [stdout] test subgame::tests::construction_succeeds_for_river ... ok [INFO] [stdout] test subgame::tests::check_check_goes_to_showdown ... ok [INFO] [stdout] test preflop::tests::fixture_roundtrip_compressed ... ok [INFO] [stdout] test preflop::tests::malformed_truncated_compressed_returns_err ... ok [INFO] [stdout] test preflop::tests::reader_auto_detects_compressed_vs_uncompressed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 108 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Running tests/flop_cache_roundtrip.rs (/opt/rustwide/target/debug/deps/flop_cache_roundtrip-3def0e8ad79061a0) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test packed_duplicate_key_rejected_by_loader ... ok [INFO] [stdout] test future_version_rejected ... ok [INFO] [stdout] test unique_keys_after_pack ... ok [INFO] [stdout] test three_entries_roundtrip_bit_identical ... ok [INFO] [stdout] test truncated_file_returns_err_not_panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/proptest_ranges.rs (/opt/rustwide/target/debug/deps/proptest_ranges-f84fc3e4d9c231d6) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test range_empty_string_is_zero_weight ... ok [INFO] [stdout] test actionlog_check_check_closes_postflop ... ok [INFO] [stdout] test range_full_has_max_weight ... ok [INFO] [stdout] test actionlog_push_pop_roundtrip ... ok [INFO] [stdout] test snap_is_idempotent ... ok [INFO] [stdout] test snap_is_in_sizings ... ok [INFO] [stdout] test range_parse_valid_inputs_land_in_combo_mass_range ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/river_canonical.rs (/opt/rustwide/target/debug/deps/river_canonical-fae4f4d6652829fd) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test trivial_allin_showdown ... ok [INFO] [stdout] test no_brainer_fold ... ok [INFO] [stdout] test even_match_is_symmetric ... ok [INFO] [stdout] test convergence_decreases_exploitability ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.31s [INFO] [stdout] [INFO] [stderr] Running tests/river_vector_vs_flat.rs (/opt/rustwide/target/debug/deps/river_vector_vs_flat-486a8df9db2b612e) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test vector_degenerate_matches_scalar_trivially ... ok [INFO] [stdout] test vector_walk_visits_all_info_sets ... ok [INFO] [stdout] test vector_and_scalar_agree_on_canonical_root_frequencies ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.34s [INFO] [stdout] [INFO] [stderr] Doc-tests solver_core [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test crates/solver-core/src/cfr.rs - cfr::CfrPlus (line 101) ... ignored [INFO] [stdout] test crates/solver-core/src/mccfr.rs - mccfr::MCCfr (line 106) ... ignored [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] Doc-tests solver_eval [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 solver_eval_reference [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 solver_ffi [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 solver_nlhe [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] running `Command { std: "docker" "inspect" "7ecb9dc9a211278fb8788c28dc52ff00e66535af82e1123180ee860c617a787e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ecb9dc9a211278fb8788c28dc52ff00e66535af82e1123180ee860c617a787e", kill_on_drop: false }` [INFO] [stdout] 7ecb9dc9a211278fb8788c28dc52ff00e66535af82e1123180ee860c617a787e