[INFO] fetching crate orderbook-rs 0.6.1... [INFO] testing orderbook-rs-0.6.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate orderbook-rs 0.6.1 into /workspace/builds/worker-2-tc1/source [INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml [INFO] started tweaking crates.io crate orderbook-rs 0.6.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate orderbook-rs 0.6.1 [INFO] tweaked toml for crates.io crate orderbook-rs 0.6.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate orderbook-rs 0.6.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate orderbook-rs 0.6.1 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded crossbeam-skiplist v0.1.3 [INFO] [stderr] Downloaded crossbeam v0.8.4 [INFO] [stderr] Downloaded nuid v0.5.0 [INFO] [stderr] Downloaded rustls-native-certs v0.7.3 [INFO] [stderr] Downloaded serde_nanos v0.1.4 [INFO] [stderr] Downloaded memmap2 v0.9.10 [INFO] [stderr] Downloaded tryhard v0.5.2 [INFO] [stderr] Downloaded nkeys v0.4.5 [INFO] [stderr] Downloaded pricelevel v0.7.0 [INFO] [stderr] Downloaded tokio-websockets v0.10.1 [INFO] [stderr] Downloaded signatory v0.27.1 [INFO] [stderr] Downloaded async-nats v0.46.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 69d438f294babc9960ac7214176309e50099a3c661681d31a9e6c19427e64c51 [INFO] running `Command { std: "docker" "start" "-a" "69d438f294babc9960ac7214176309e50099a3c661681d31a9e6c19427e64c51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "69d438f294babc9960ac7214176309e50099a3c661681d31a9e6c19427e64c51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "69d438f294babc9960ac7214176309e50099a3c661681d31a9e6c19427e64c51", kill_on_drop: false }` [INFO] [stdout] 69d438f294babc9960ac7214176309e50099a3c661681d31a9e6c19427e64c51 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] debbcaf76e38d5d7f4e56946fed1893d0af6cb4bfc336dde075fa0bbb35a1d00 [INFO] running `Command { std: "docker" "start" "-a" "debbcaf76e38d5d7f4e56946fed1893d0af6cb4bfc336dde075fa0bbb35a1d00", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling crossbeam-skiplist v0.1.3 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ulid v1.2.1 [INFO] [stderr] Compiling pricelevel v0.7.0 [INFO] [stderr] Compiling orderbook-rs v0.6.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.66s [INFO] running `Command { std: "docker" "inspect" "debbcaf76e38d5d7f4e56946fed1893d0af6cb4bfc336dde075fa0bbb35a1d00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "debbcaf76e38d5d7f4e56946fed1893d0af6cb4bfc336dde075fa0bbb35a1d00", kill_on_drop: false }` [INFO] [stdout] debbcaf76e38d5d7f4e56946fed1893d0af6cb4bfc336dde075fa0bbb35a1d00 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a2b5080c6839a28075172b32b800e54fd2703f25381312fc4d4c5f1df48e4c2b [INFO] running `Command { std: "docker" "start" "-a" "a2b5080c6839a28075172b32b800e54fd2703f25381312fc4d4c5f1df48e4c2b", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling zerocopy-derive v0.8.47 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling uuid v1.22.0 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling criterion-plot v0.8.2 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling criterion v0.8.2 [INFO] [stderr] Compiling ulid v1.2.1 [INFO] [stderr] Compiling pricelevel v0.7.0 [INFO] [stderr] Compiling orderbook-rs v0.6.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 31.92s [INFO] running `Command { std: "docker" "inspect" "a2b5080c6839a28075172b32b800e54fd2703f25381312fc4d4c5f1df48e4c2b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a2b5080c6839a28075172b32b800e54fd2703f25381312fc4d4c5f1df48e4c2b", kill_on_drop: false }` [INFO] [stdout] a2b5080c6839a28075172b32b800e54fd2703f25381312fc4d4c5f1df48e4c2b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1dc49c340693b8b27783cc4377c189e3910e74b1e710745e4be08598b50fbca2 [INFO] running `Command { std: "docker" "start" "-a" "1dc49c340693b8b27783cc4377c189e3910e74b1e710745e4be08598b50fbca2", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/orderbook_rs-f272104c72731d87) [INFO] [stdout] [INFO] [stdout] running 471 tests [INFO] [stdout] test orderbook::error::tests::test_clone_checksum_mismatch ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_invalid_lot_size ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_insufficient_liquidity ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_invalid_tick_size ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_missing_user_id ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_order_not_found ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_price_crossing ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_price_level_error_invalid_format ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_price_level_error_parse_error ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_price_level_error_checksum_mismatch ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_price_level_error_unknown_order_type ... ok [INFO] [stdout] test orderbook::fees::tests::test_default ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_self_trade_prevented ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_serialization_error ... ok [INFO] [stdout] test orderbook::fees::tests::test_calculate_taker_fee ... ok [INFO] [stdout] test orderbook::fees::tests::test_calculate_maker_rebate ... ok [INFO] [stdout] test orderbook::fees::tests::test_serialization ... ok [INFO] [stdout] test orderbook::fees::tests::test_large_notional ... ok [INFO] [stdout] test orderbook::fees::tests::test_maker_rebate ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_invalid_operation ... ok [INFO] [stdout] test orderbook::fees::tests::test_fee_schedule_creation ... ok [INFO] [stdout] test orderbook::fees::tests::test_edge_cases ... ok [INFO] [stdout] test orderbook::fees::tests::test_taker_only ... ok [INFO] [stdout] test orderbook::fees::tests::test_zero_fee ... ok [INFO] [stdout] test orderbook::fees::tests::test_zero_fee_calculation ... ok [INFO] [stdout] test orderbook::implied_volatility::error::tests::test_error_display ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_price_at_expiry ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_extract_price_mid ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_extract_price_last_trade ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_extract_price_no_orders ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_extract_price_weighted_mid ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_implied_volatility_spread_too_wide ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_deep_itm_call ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_erf ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_iv_config_builder ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_vega_positive ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_put_call_parity ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_norm_cdf ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_delta_bounds ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_option_greeks ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_implied_volatility_calculation ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_put_price_atm ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_norm_pdf ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_one_sided_market_ask_only ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_gamma_positive ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_call_price_atm ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_theta_negative_for_long ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_theoretical_price ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_smart_initial_guess ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_convergence_speed ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_spread_to_quality ... ok [INFO] [stdout] test orderbook::implied_volatility::integration::tests::test_one_sided_market_bid_only ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_order_size_out_of_range ... ok [INFO] [stdout] test orderbook::error::tests::test_clone_invalid_price_level ... ok [INFO] [stdout] test orderbook::implied_volatility::black_scholes::tests::test_deep_otm_call ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_atm_call ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_atm_put ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_high_volatility ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_invalid_spot ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_invalid_strike ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_itm_call ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_low_volatility ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_otm_call ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_time_too_small ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solver_config_builder ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_various_maturities ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_price_below_intrinsic ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_various_moneyness ... ok [INFO] [stdout] test orderbook::implied_volatility::types::tests::test_iv_params_atm ... ok [INFO] [stdout] test orderbook::implied_volatility::types::tests::test_price_source_default ... ok [INFO] [stdout] test orderbook::market_impact::tests::test_market_impact_can_fill ... ok [INFO] [stdout] test orderbook::market_impact::tests::test_market_impact_empty ... ok [INFO] [stdout] test orderbook::market_impact::tests::test_market_impact_fill_ratio ... ok [INFO] [stdout] test orderbook::implied_volatility::types::tests::test_iv_params_intrinsic_value ... ok [INFO] [stdout] test orderbook::implied_volatility::types::tests::test_iv_result_quality ... ok [INFO] [stdout] test orderbook::market_impact::tests::test_order_simulation_empty ... ok [INFO] [stdout] test orderbook::implied_volatility::types::tests::test_option_type_serialization ... ok [INFO] [stdout] test orderbook::market_impact::tests::test_order_simulation_levels_count ... ok [INFO] [stdout] test orderbook::market_impact::tests::test_order_simulation_total_cost ... ok [INFO] [stdout] test orderbook::market_impact::tests::test_order_simulation_is_fully_filled ... ok [INFO] [stdout] test orderbook::implied_volatility::solver::tests::test_solve_iv_bisection ... ok [INFO] [stdout] test orderbook::implied_volatility::types::tests::test_iv_result_percent ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_all_with_post_only_orders ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_price_range_inverted ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_price_range_no_match ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_side_sell ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_price_range ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_all_with_orders ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_price_range_multiple_orders_same_level ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_all_empty_book ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_mass_cancel_result_default ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_mass_cancel_result_display ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_user ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_user_multiple_levels ... ok [INFO] [stdout] test orderbook::order_state::tests::test_cancel_reason_display ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_order_locations_cleaned_after_mass_cancel ... ok [INFO] [stdout] test orderbook::order_state::tests::test_order_status_filled_quantity ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_user_no_match ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_all_with_iceberg_orders ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_mass_cancel_result_is_must_use ... ok [INFO] [stdout] test orderbook::order_state::tests::test_order_status_is_terminal ... ok [INFO] [stdout] test orderbook::order_state::tests::test_order_status_is_active ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_active_orders_not_evicted ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_lifecycle_open_to_cancelled ... ok [INFO] [stdout] test orderbook::order_state::tests::test_cancel_reason_serde_roundtrip ... ok [INFO] [stdout] test orderbook::order_state::tests::test_order_status_serde_roundtrip ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_lifecycle_open_to_filled ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_new_is_empty ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_rejected_order ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_transition_and_get ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_unknown_order_returns_none ... ok [INFO] [stdout] test orderbook::order_state::tests::test_order_status_display ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_side_buy ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_side_empty ... ok [INFO] [stdout] test orderbook::private::tests::test_will_cross_market_sell_no_bid ... ok [INFO] [stdout] test orderbook::private::tests::test_will_cross_market_buy_no_ask ... ok [INFO] [stdout] test orderbook::private::tests::test_will_cross_market_sell_with_cross ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_clear ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_retention_evicts_oldest ... ok [INFO] [stdout] test orderbook::private::tests::test_has_expired_day_order ... ok [INFO] [stdout] test orderbook::private::tests::test_will_cross_market_buy_with_cross ... ok [INFO] [stdout] test orderbook::serialization::tests::test_json_content_type ... ok [INFO] [stdout] test orderbook::private::tests::test_private_place_order_in_book ... ok [INFO] [stdout] test orderbook::serialization::tests::test_json_deserialize_book_change_error ... ok [INFO] [stdout] test orderbook::serialization::tests::test_json_roundtrip_book_change ... ok [INFO] [stdout] test orderbook::serialization::tests::test_json_serialize_book_change ... ok [INFO] [stdout] test orderbook::serialization::tests::test_json_serialize_trade ... ok [INFO] [stdout] test orderbook::private::tests::test_match_market_order_no_matches ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_listener_fires_on_transition ... ok [INFO] [stdout] test orderbook::stp::tests::test_check_stp_cancel_maker_collects_ids ... ok [INFO] [stdout] test orderbook::stp::tests::test_check_stp_cancel_taker_detects_same_user ... ok [INFO] [stdout] test orderbook::stp::tests::test_check_stp_cancel_both_detects_self ... ok [INFO] [stdout] test orderbook::stp::tests::test_check_stp_cancel_taker_safe_quantity_before_self ... ok [INFO] [stdout] test orderbook::stp::tests::test_check_stp_none_mode_returns_no_conflict ... ok [INFO] [stdout] test orderbook::stp::tests::test_check_stp_no_conflict_when_different_users ... ok [INFO] [stdout] test orderbook::serialization::tests::test_json_deserialize_trade_error ... ok [INFO] [stdout] test orderbook::serialization::tests::test_json_roundtrip_trade ... ok [INFO] [stdout] test orderbook::private::tests::test_match_market_order_partial_availability ... ok [INFO] [stdout] test orderbook::serialization::tests::test_serialization_error_display ... ok [INFO] [stdout] test orderbook::statistics::tests::test_depth_stats_not_empty ... ok [INFO] [stdout] test orderbook::statistics::tests::test_depth_stats_zero ... ok [INFO] [stdout] test orderbook::statistics::tests::test_distribution_bin_midpoint ... ok [INFO] [stdout] test orderbook::tests::book::test_book_remaining::test_create_snapshot_empty_book ... ok [INFO] [stdout] test orderbook::tests::book::test_book_remaining::test_symbol_accessor ... ok [INFO] [stdout] test orderbook::tests::book::test_book_remaining::test_market_close_accessors ... ok [INFO] [stdout] test orderbook::tests::book::test_book_remaining::test_last_trade_price ... ok [INFO] [stdout] test orderbook::tests::book::test_book_remaining::test_best_bid_ask_with_multiple_levels ... ok [INFO] [stdout] test orderbook::stp::tests::test_stp_mode_is_enabled ... ok [INFO] [stdout] test orderbook::stp::tests::test_stp_mode_display ... ok [INFO] [stdout] test orderbook::stp::tests::test_check_stp_zero_user_bypasses ... ok [INFO] [stdout] test orderbook::stp::tests::test_stp_mode_default_is_none ... ok [INFO] [stdout] test orderbook::tests::book::test_book_specific::test_get_orders_at_price ... ok [INFO] [stdout] test orderbook::tests::book::test_book_specific::test_get_all_orders ... ok [INFO] [stdout] test orderbook::tests::book::test_orderbook_book::test_get_volume_by_price ... ok [INFO] [stdout] test orderbook::tests::book::test_orderbook_book::test_market_close_timestamp ... ok [INFO] [stdout] test orderbook::tests::book::test_orderbook_book::test_mid_price_calculation ... ok [INFO] [stdout] test orderbook::tests::book::test_orderbook_book::test_snapshot_creation ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_add_standard_order ... ok [INFO] [stdout] test orderbook::tests::book::test_orderbook_book::test_spread_calculation ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_add_multiple_asks ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_add_multiple_bids ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_cancel_nonexistent_order ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_book_snapshot ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_cancel_order ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_fill_or_kill_order_full_fill ... ok [INFO] [stdout] test orderbook::order_state::tests::test_tracker_concurrent_access ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_fill_or_kill_order_partial_fill ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_iceberg_order ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_immediate_or_cancel_order_full_fill ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_market_close_timestamp ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_market_order_insufficient_liquidity ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_mid_price_calculation ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_new_order_book ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_post_only_order_no_crossing ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_post_only_order_with_crossing ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_update_order_price ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_spread_calculation ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_update_nonexistent_order ... ok [INFO] [stdout] test orderbook::tests::book::test_book_specific::test_match_market_order_empty_book ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_market_order_match ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_cumulative_depth_to_target_buy_side ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_volume_by_price ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_depth_methods_priority_order_sell_side ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_price_at_depth_empty_book ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_total_depth_at_levels_empty_book ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_depth_methods_priority_order_buy_side ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_cumulative_depth_to_target_empty_book ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_depth_methods_with_multiple_orders_per_level ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_total_depth_at_levels_buy_side ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_total_depth_at_levels_sell_side ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_cumulative_depth_to_target_sell_side ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_price_at_depth_buy_side ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_balanced_book ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_price_at_depth_sell_side ... ok [INFO] [stdout] test orderbook::tests::depth_analysis::tests::test_total_depth_at_levels_zero_levels ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_empty_book ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_buy_heavy ... ok [INFO] [stdout] test orderbook::tests::book::tests::test_update_order_quantity ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_custom_metrics ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_metric_flags_all ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_sell_heavy ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_only_depth ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_spread_bps_calculation ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_metric_flags_combination ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_display_insufficient_liquidity ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_mid_price_calculation ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_limited_depth ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_only_vwap ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_only_imbalance ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_serialization ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_display_order_not_found ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_display_invalid_operation ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_one_sided ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_display_price_crossing ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_error_trait_implementation ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_display_price_level_error ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_from_price_level_error ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_all_metrics ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_missing_field_conversion ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_find_level_by_quantity ... ok [INFO] [stdout] test orderbook::tests::enriched_snapshot_tests::tests::test_enriched_snapshot_vwap_limited_levels ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_find_level_empty_book ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_find_level_by_cumulative_depth ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_count_levels ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_invalid_field_value_conversion ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_iterator_composition ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_find_depth_threshold ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_in_range_basic ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_functional_style_analysis ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_iterator_short_circuit ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_find_level_not_found ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_in_range_no_match ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_with_cumulative_depth_take ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_sell_side_iterators ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_all_functions_together ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_in_range_single ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_until_depth_exact ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_until_depth_exceeds_available ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_liquidity_in_range_basic ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_until_depth_partial ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_liquidity_in_range_asks ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_liquidity_in_range_empty_book ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_liquidity_in_range_no_overlap ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_until_depth_with_filter ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_market_impact_basic ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_liquidity_in_range_invalid_range ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_market_impact_empty_book ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_market_impact_insufficient_liquidity ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_until_depth_zero ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_market_impact_sell_side ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_with_cumulative_depth_empty_book ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_market_impact_slippage_bps ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_with_cumulative_depth_sell ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_in_range_partial ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_with_cumulative_depth_buy ... ok [INFO] [stdout] test orderbook::tests::iterator_tests::tests::test_levels_in_range_map_sum ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_liquidity_in_range_full_range ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_simulate_market_order_empty_book ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_simulate_market_order_partial_fill ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_micro_price_imbalanced ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_all_metrics_together ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_micro_price_zero_volumes ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_simulate_market_order_total_cost ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_order_book_imbalance_balanced ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_spread_absolute ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_micro_price ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_order_book_imbalance_sell_pressure ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_spread_bps ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_order_book_imbalance_buy_pressure ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_spread_bps_custom_multiplier ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_vwap_buy_side ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_order_book_imbalance_zero_levels ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_order_book_imbalance_empty_book ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_vwap_sell_side ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_vwap_zero_quantity ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_limit_buy_favorable_price_match ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_limit_sell_unfavorable_price_no_match ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_market_order_no_liquidity_error ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_peek_match_no_liquidity ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_market_buy_full_match ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_market_sell_partial_match ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_remaining::test_update_price_error_cases ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_remaining::test_update_price_and_quantity_nonexistent ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_match_across_multiple_price_levels ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_remaining::test_update_order_with_all_types ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_peek_match_buy_side_full_match ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_specific::test_cancel_non_existent_order ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_peek_match_sell_side_with_price_limit ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_remaining::test_cancel_order_removes_price_level ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_remaining::test_replace_with_special_order_types ... ok [INFO] [stdout] test orderbook::tests::matching::tests::test_peek_match_buy_side_partial_match ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_specific::test_replace_unsupported_order_type ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_specific::test_update_price_edge_cases ... ok [INFO] [stdout] test orderbook::tests::modifications::test_order_modifications::test_update_order_cancel ... ok [INFO] [stdout] test orderbook::tests::modifications::test_order_modifications::test_replace_with_different_side ... ok [INFO] [stdout] test orderbook::tests::modifications::tests::test_add_expired_order ... ok [INFO] [stdout] test orderbook::tests::modifications::test_order_modifications::test_update_order_replace ... ok [INFO] [stdout] test orderbook::tests::modifications::tests::test_add_post_only_order_crossing_market ... ok [INFO] [stdout] test orderbook::tests::modifications::test_order_modifications::test_cancel_nonexistent_order ... ok [INFO] [stdout] test orderbook::tests::modifications::tests::test_successful_cancel_order_removes_level ... ok [INFO] [stdout] test orderbook::tests::modifications::tests::test_update_order_not_found ... ok [INFO] [stdout] test orderbook::tests::modifications::test_order_modifications::test_iceberg_order_update_quantity ... ok [INFO] [stdout] test orderbook::tests::operations::test_extra_fields::test_market_order_matching_with_extra_fields ... ok [INFO] [stdout] test orderbook::tests::modifications::test_modifications_specific::test_update_order_when_order_is_not_found ... ok [INFO] [stdout] test orderbook::tests::operations::test_extra_fields::test_add_limit_order_with_extra_fields ... ok [INFO] [stdout] test orderbook::tests::operations::test_extra_fields::test_mixed_orders_with_and_without_extra_fields ... ok [INFO] [stdout] test orderbook::tests::operations::test_operations_remaining::test_add_limit_order_with_trace ... ok [INFO] [stdout] test orderbook::tests::modifications::test_order_modifications::test_update_price_and_quantity ... ok [INFO] [stdout] test orderbook::tests::modifications::test_order_modifications::test_update_price_same_value ... ok [INFO] [stdout] test orderbook::tests::operations::test_operations_remaining::test_add_post_only_order_with_trace ... ok [INFO] [stdout] test orderbook::tests::operations::test_operations_remaining::test_add_iceberg_order_with_trace ... ok [INFO] [stdout] test orderbook::tests::operations::test_operations_specific::test_submit_market_order_with_tracing ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_add_iceberg_order ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_add_limit_order ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_add_post_only_order ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_limit_order_fill_or_kill_failure ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_limit_order_fill_or_kill_success ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_limit_order_immediate_or_cancel ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_market_order_no_liquidity ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_post_only_order_price_crossing ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_submit_market_order ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_submit_market_order_full_fill ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_fill_or_kill_property ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_iceberg_order_properties ... ok [INFO] [stdout] test orderbook::tests::operations::tests::test_submit_market_order_insufficient_liquidity ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_immediate_or_cancel_property ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_match_against_iceberg_full_visible_with_refresh ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_match_against_standard_full_match ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_refresh_iceberg ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_match_against_standard_partial_match ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_post_only_order_properties ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_standard_order_properties ... ok [INFO] [stdout] test orderbook::tests::order::tests::test_with_reduced_quantity ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_at_depth_adjusted_empty_book ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_at_depth_adjusted_insufficient_depth ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_at_depth_adjusted_sell_side ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_all_placement_functions_together ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_for_queue_position_basic ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_for_queue_position_empty_book ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_for_queue_position_sell_side ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_at_depth_adjusted_basic ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_at_depth_adjusted_zero_values ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_n_ticks_inside_sell ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_n_ticks_inside_buy ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_n_ticks_inside_zero_values ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_for_queue_position_zero ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_n_ticks_inside_empty_book ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_queue_ahead_at_price_no_orders ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_queue_ahead_at_price_basic ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_price_n_ticks_inside_underflow ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_queue_ahead_at_price_different_levels ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_tick_calculations_with_large_values ... ok [INFO] [stdout] test orderbook::tests::serialize_tests::tests::test_orderbook_serialize_empty ... ok [INFO] [stdout] test orderbook::tests::serialize_tests::tests::test_orderbook_serialize_with_market_close ... ok [INFO] [stdout] test orderbook::tests::order_placement_tests::tests::test_queue_position_with_multiple_levels ... ok [INFO] [stdout] test orderbook::tests::serialize_tests::tests::test_orderbook_serialize_pretty ... ok [INFO] [stdout] test orderbook::tests::snapshot::test_orderbook_snapshot::test_snapshot_methods ... ok [INFO] [stdout] test orderbook::tests::snapshot::test_snapshot_remaining::test_snapshot_tracing ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_best_bid_ask ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_bid_ask_with_prices_out_of_order ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_empty_snapshot_best_bid_ask ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_mid_price ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_snapshot_integrity ... ok [INFO] [stdout] test orderbook::tests::snapshot::test_snapshot_specific::test_snapshot_trace_output ... ok [INFO] [stdout] test orderbook::tests::serialize_tests::tests::test_orderbook_serialize_with_orders ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_spread ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_total_ask_value ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_serialization_deserialization ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_total_ask_volume ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests_bis::test_improved_best_bid_ask ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_total_bid_value ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests::test_total_bid_volume ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests_bis::test_spread_with_improved_methods ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests_bis::test_proposal_for_impl_best_bid_ask ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_buy_sell_pressure ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_buy_sell_pressure_empty_book ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_buy_sell_pressure_one_sided ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_combined_statistics_workflow ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests_bis::test_integration_with_sort ... ok [INFO] [stdout] test orderbook::tests::snapshot::tests_bis::test_mid_price_with_improved_methods ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_distribution_basic ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_distribution_bins ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_distribution_empty_book ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_market_impact_zero_quantity ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_distribution_single_price ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_distribution_bins_match_range ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_distribution_level_count ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_distribution_zero_bins ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_statistics_empty_book ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_statistics_limited_levels ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_statistics_sell_basic ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_statistics_buy_basic ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_statistics_all_levels ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_is_thin_book_empty ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_is_thin_book_true ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_statistics_std_dev ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_is_thin_book_false ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_is_thin_book_one_side_thin ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_order_book_imbalance_balanced ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_order_book_imbalance_sell_heavy ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_order_book_imbalance_buy_heavy ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_add_order_direct_nonzero_user_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_add_order_direct_zero_user_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_both_cancels_maker_and_taker ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_maker_across_price_levels ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_both_partial_fill_before_self ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_taker_allows_different_users ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_taker_prevents_self_trade ... ok [INFO] [stdout] test orderbook::tests::statistics_tests::tests::test_depth_statistics_weighted_avg_price ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_maker_removes_same_user_orders ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_taker_zero_taker_user_bypasses_stp_during_matching ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_maker_all_same_user_orders_cancelled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_iceberg_order_with_user_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_iceberg_order_stp_disabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_limit_order_with_user_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_missing_user_id_all_stp_modes ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_limit_order_with_zero_user_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_missing_user_id_iceberg_order_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_missing_user_id_display ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_missing_user_id_error_contains_order_id ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_missing_user_id_post_only_order_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_missing_user_id_limit_order_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_post_only_order_stp_disabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_post_only_order_with_user_stp_enabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_missing_user_id_limit_order_stp_disabled ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_backward_compat_no_user_id ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_cancel_maker_sell_side ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_empty_book_returns_insufficient_liquidity ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_cancel_taker_via_add_order ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_cancel_maker_via_add_order ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_cancel_taker_sell_side ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_limit_order_no_cross_adds_to_book ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_submit_market_order_with_user ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_mode_setter_getter ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_multiple_levels_cancel_taker ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_none_orders_match_normally ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_with_stp_mode_constructor ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_stp_match_limit_order_with_user ... ok [INFO] [stdout] test orderbook::tests::time_in_force::tests::test_time_in_force_display ... ok [INFO] [stdout] test orderbook::tests::time_in_force::tests::test_time_in_force_has_expiry_property ... ok [INFO] [stdout] test orderbook::tests::uuid::tests::test_different_namespaces_generate_different_uuids ... ok [INFO] [stdout] test orderbook::tests::time_in_force::tests::test_time_in_force_immediate_property ... ok [INFO] [stdout] test orderbook::tests::time_in_force::tests::test_time_in_force_is_expired ... ok [INFO] [stdout] test orderbook::tests::uuid::tests::test_uuid_generator_creates_unique_ids ... ok [INFO] [stdout] test orderbook::tests::uuid::tests::test_uuid_version_and_variant ... ok [INFO] [stdout] test orderbook::tests::uuid::tests::test_uuid_generator_is_deterministic ... ok [INFO] [stdout] test orderbook::trade::tests::test_trade_result_symbol_preserved ... ok [INFO] [stdout] test orderbook::trade::tests::test_trade_result_with_fees_multiple_transactions ... ok [INFO] [stdout] test orderbook::trade::tests::test_trade_result_new_has_zero_fees ... ok [INFO] [stdout] test orderbook::trade::tests::test_trade_result_with_fees_no_transactions ... ok [INFO] [stdout] test orderbook::trade::tests::test_trade_result_with_fees_single_transaction ... ok [INFO] [stdout] test orderbook::trade::tests::test_trade_result_with_fees_none_schedule ... ok [INFO] [stdout] test orderbook::trade::tests::test_trade_result_with_maker_rebate ... ok [INFO] [stdout] test orderbook::trade::tests::test_trade_result_with_fees_zero_schedule ... ok [INFO] [stdout] test orderbook::tests::uuid::tests::test_uuid_generator_thread_safety ... ok [INFO] [stdout] test utils::tests::time::tests::test_current_time_millis_is_reasonably_current ... ok [INFO] [stdout] test orderbook::trade::tests::test_transaction_info_fee_fields ... ok [INFO] [stdout] test utils::tests::time::tests::test_current_time_millis_increases ... ok [INFO] [stdout] test utils::tests::time::tests::test_current_time_millis_precision ... ok [INFO] [stdout] test orderbook::tests::market_impact_tests::tests::test_simulate_market_order_basic ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_order_book_imbalance_multiple_levels ... ok [INFO] [stdout] test orderbook::tests::modifications::tests::test_set_quantity_for_reserve_order ... ok [INFO] [stdout] test orderbook::tests::modifications::tests::test_update_price_and_quantity ... ok [INFO] [stdout] test orderbook::tests::operations::test_extra_fields::test_add_iceberg_order_with_extra_fields ... ok [INFO] [stdout] test orderbook::tests::operations::test_extra_fields::test_add_post_only_order_with_extra_fields ... ok [INFO] [stdout] test orderbook::tests::stp::tests::test_cancel_taker_partial_fill_before_self_trade ... ok [INFO] [stdout] test orderbook::tests::time_in_force::tests::test_time_in_force_from_str ... ok [INFO] [stdout] test orderbook::mass_cancel::tests::test_cancel_by_price_range_exact_boundaries ... ok [INFO] [stdout] test orderbook::tests::error::tests::test_display_invalid_price_level ... ok [INFO] [stdout] test orderbook::tests::market_metrics::tests::test_vwap_empty_book ... ok [INFO] [stdout] test orderbook::tests::snapshot::test_snapshot_remaining::test_empty_snapshot_volume_methods ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 471 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] Running tests/fee_tests.rs (/opt/rustwide/target/debug/deps/fee_tests-f18ae3cdf75977be) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test integration_tests::test_fee_schedule_with_multiple_operations ... ok [INFO] [stdout] test integration_tests::test_fee_schedule_with_matching ... ok [INFO] [stdout] test integration_tests::test_trade_listener_fees_across_multiple_price_levels ... ok [INFO] [stdout] test integration_tests::test_trade_listener_receives_fees ... ok [INFO] [stdout] test test_fee_calculation_large_values ... ok [INFO] [stdout] test test_fee_calculation_taker ... ok [INFO] [stdout] test test_fee_calculation_maker_rebate ... ok [INFO] [stdout] test test_fee_calculation_zero_fee ... ok [INFO] [stdout] test test_fee_schedule_creation ... ok [INFO] [stdout] test test_fee_schedule_default_trait ... ok [INFO] [stdout] test test_fee_schedule_mathematical_properties ... ok [INFO] [stdout] test test_fee_schedule_precision ... ok [INFO] [stdout] test test_fee_schedule_serialization ... ok [INFO] [stdout] test test_maker_rebate_schedule ... ok [INFO] [stdout] test integration_tests::test_trade_listener_receives_zero_fees_when_no_schedule ... ok [INFO] [stdout] test test_orderbook_constructors_with_fee_schedule ... ok [INFO] [stdout] test test_orderbook_fee_schedule_default ... ok [INFO] [stdout] test test_orderbook_set_fee_schedule ... ok [INFO] [stdout] test test_orderbook_update_fee_schedule ... ok [INFO] [stdout] test test_orderbook_serialization_without_fee_schedule ... ok [INFO] [stdout] test test_zero_fee_schedule ... ok [INFO] [stderr] Running tests/unit/mod.rs (/opt/rustwide/target/debug/deps/tests-d7408d704306bd0a) [INFO] [stdout] test test_taker_only_schedule ... ok [INFO] [stdout] test test_orderbook_serialization_with_fee_schedule ... ok [INFO] [stdout] test test_fee_calculation_edge_cases ... ok [INFO] [stdout] test test_orderbook_fee_schedule_persistence ... 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 344 tests [INFO] [stdout] test book_coverage_tests::tests::test_convert_from_unit_type_all_variants ... ok [INFO] [stdout] test book_coverage_tests::tests::test_best_bid_with_cache_miss ... ok [INFO] [stdout] test book_coverage_tests::tests::test_best_ask_with_cache_miss ... ok [INFO] [stdout] test book_coverage_tests::tests::test_convert_market_to_limit_order ... ok [INFO] [stdout] test book_coverage_tests::tests::test_convert_pegged_order ... ok [INFO] [stdout] test book_coverage_tests::tests::test_clear_market_close_timestamp ... ok [INFO] [stdout] test book_coverage_tests::tests::test_convert_reserve_order ... ok [INFO] [stdout] test book_coverage_tests::tests::test_convert_trailing_stop_order ... ok [INFO] [stdout] test book_coverage_tests::tests::test_get_all_orders_empty_book ... ok [INFO] [stdout] test book_coverage_tests::tests::test_get_volume_by_price_empty_book ... ok [INFO] [stdout] test book_coverage_tests::tests::test_create_snapshot_empty_book ... ok [INFO] [stdout] test book_coverage_tests::tests::test_get_orders_at_price_empty_level ... ok [INFO] [stdout] test book_coverage_tests::tests::test_get_order_not_found ... ok [INFO] [stdout] test book_coverage_tests::tests::test_last_trade_price_no_trades ... ok [INFO] [stdout] test book_coverage_tests::tests::test_match_market_order_delegation ... ok [INFO] [stdout] test book_coverage_tests::tests::test_match_limit_order_delegation ... ok [INFO] [stdout] test book_coverage_tests::tests::test_mid_price_edge_cases ... ok [INFO] [stdout] test book_coverage_tests::tests::test_trade_listener_with_symbol_information ... ok [INFO] [stdout] test book_coverage_tests::tests::test_spread_edge_cases ... ok [INFO] [stdout] test book_manager_cross_cancel_tests::tests_cross_book_cancel::std_cancel_all_across_books ... ok [INFO] [stdout] test book_coverage_tests::tests::test_with_trade_listener_constructor ... ok [INFO] [stdout] test book_manager_cross_cancel_tests::tests_cross_book_cancel::std_cancel_all_no_books ... ok [INFO] [stdout] test book_coverage_tests::tests::test_set_and_remove_trade_listener ... ok [INFO] [stdout] test book_manager_cross_cancel_tests::tests_cross_book_cancel::std_cancel_all_across_empty_books ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_params_moneyness ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_result_methods ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_with_different_price_sources ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_with_custom_solver_config ... ok [INFO] [stdout] test book_manager_cross_cancel_tests::tests_cross_book_cancel::tokio_cancel_all_across_books ... ok [INFO] [stdout] test book_manager_cross_cancel_tests::tests_cross_book_cancel::tokio_cancel_by_user_across_books ... ok [INFO] [stdout] test book_manager_cross_cancel_tests::tests_cross_book_cancel::tokio_cancel_by_side_across_books ... ok [INFO] [stdout] test book_manager_cross_cancel_tests::tests_cross_book_cancel::std_cancel_by_user_across_books ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_calculation_otm_call ... ok [INFO] [stdout] test implied_volatility_tests::test_theoretical_price_and_greeks ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_quality_based_on_spread ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_calculation_itm_put ... ok [INFO] [stdout] test integration_workflow_tests::book_manager_multi_book_operations ... ok [INFO] [stdout] test integration_workflow_tests::json_serializer_book_change_round_trip ... ok [INFO] [stdout] test integration_workflow_tests::book_manager_multi_book_independent_state ... ok [INFO] [stdout] test integration_workflow_tests::json_serializer_trade_result_round_trip ... ok [INFO] [stdout] test integration_workflow_tests::journal_replay_partial_from_sequence ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_calculation_various_maturities ... ok [INFO] [stdout] test integration_workflow_tests::order_lifecycle_open_to_filled ... ok [INFO] [stdout] test integration_workflow_tests::journal_verify_matches_snapshot ... ok [INFO] [stdout] test integration_workflow_tests::order_match_snapshot_restore_round_trip ... ok [INFO] [stdout] test integration_workflow_tests::snapshot_json_round_trip ... ok [INFO] [stdout] test implied_volatility_tests::test_iv_calculation_atm_call ... ok [INFO] [stdout] test integration_workflow_tests::validation_prevents_invalid_then_valid_order_succeeds ... ok [INFO] [stdout] test manager_coverage_tests::std_add_and_get_book ... ok [INFO] [stdout] test integration_workflow_tests::order_lifecycle_open_to_cancelled ... ok [INFO] [stdout] test manager_coverage_tests::std_cancel_by_user_across_books ... ok [INFO] [stdout] test integration_workflow_tests::snapshot_enriched_metrics_validation ... ok [INFO] [stdout] test manager_coverage_tests::std_get_book_mut_allows_modification ... ok [INFO] [stdout] test manager_coverage_tests::std_get_book_returns_none_for_unknown ... ok [INFO] [stdout] test manager_coverage_tests::std_get_book_returns_valid_ref ... ok [INFO] [stdout] test manager_coverage_tests::std_cancel_by_side_across_books ... ok [INFO] [stdout] test manager_coverage_tests::std_remove_book_returns_none_when_missing ... ok [INFO] [stdout] test manager_coverage_tests::std_get_book_mut_returns_none_for_unknown ... ok [INFO] [stdout] test book_manager_cross_cancel_tests::tests_cross_book_cancel::std_cancel_by_side_across_books ... ok [INFO] [stdout] test manager_coverage_tests::std_default_creates_empty_manager ... ok [INFO] [stdout] test manager_coverage_tests::std_remove_book_returns_some_when_exists ... ok [INFO] [stdout] test manager_coverage_tests::std_start_trade_processor_ok_first_time ... ok [INFO] [stdout] test manager_coverage_tests::std_start_trade_processor_fails_second_time ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_clears_all_user_entries ... ok [INFO] [stdout] test manager_coverage_tests::std_add_order_and_cancel_across_books ... ok [INFO] [stdout] test integration_workflow_tests::journal_replay_reconstructs_identical_state ... ok [INFO] [stdout] test manager_coverage_tests::tokio_cancel_by_user_across_books ... ok [INFO] [stdout] test manager_coverage_tests::tokio_cancel_all_across_books ... ok [INFO] [stdout] test manager_coverage_tests::tokio_get_book_mut_returns_none_for_unknown ... ok [INFO] [stdout] test manager_coverage_tests::tokio_get_book_returns_none_for_unknown ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_emits_price_level_changed_events ... ok [INFO] [stdout] test manager_coverage_tests::tokio_remove_book_returns_none_when_missing ... ok [INFO] [stdout] test manager_coverage_tests::tokio_cancel_by_side_across_books ... ok [INFO] [stdout] test manager_coverage_tests::tokio_remove_book_returns_some_when_exists ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_idempotent ... ok [INFO] [stdout] test manager_coverage_tests::tokio_symbols_returns_all_books ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_cleans_order_locations ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_price_range_inverted_returns_zero ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_on_empty_book_returns_zero ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_removes_every_order ... ok [INFO] [stdout] test manager_coverage_tests::tokio_add_and_get_book ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_returns_all_ids ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_price_range_inclusive_boundaries ... ok [INFO] [stdout] test integration_workflow_tests::mass_cancel_then_snapshot_shows_empty_book ... ok [INFO] [stdout] test manager_coverage_tests::tokio_default_creates_empty_manager ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_with_post_only_orders ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_with_iceberg_orders ... ok [INFO] [stdout] test mass_cancel_tests::cancel_all_clears_book_completely ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_price_range_no_orders_in_range ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_price_range_on_wrong_side_returns_zero ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_side_on_empty_side ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_side_sell_leaves_bids ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_price_range_single_price ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_side_then_cancel_all ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_user_no_match_returns_zero ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_side_buy_leaves_asks ... ok [INFO] [stdout] test mass_cancel_tests::mass_cancel_result_default_is_empty ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_user_across_multiple_levels_and_sides ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_user_removes_only_matching_orders ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_user_on_stp_enabled_book ... ok [INFO] [stdout] test mass_cancel_tests::cancel_by_price_range_multiple_orders_at_same_level ... ok [INFO] [stdout] test mass_cancel_tests::mass_cancel_result_display ... ok [INFO] [stdout] test mass_cancel_tests::double_cancel_all_is_idempotent ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_empty_opposite_side_limit_order ... ok [INFO] [stdout] test mass_cancel_tests::user_orders_cleaned_after_full_match ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_early_exit_full_match ... ok [INFO] [stdout] test mass_cancel_tests::user_orders_cleaned_after_individual_cancel ... ok [INFO] [stdout] test mass_cancel_tests::user_orders_partial_match_keeps_resting_order ... ok [INFO] [stdout] test mass_cancel_tests::user_orders_populated_on_add_and_cleared_on_cancel ... ok [INFO] [stdout] test mass_cancel_tests::multi_user_cancel_does_not_affect_other_users ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_batch_removal_operations ... ok [INFO] [stdout] test mass_cancel_tests::stp_cancel_maker_cleans_user_orders ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_empty_opposite_side_market_order ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_price_limit_buy_exceeds ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_price_level_removed_by_thread ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_peek_match_empty_price_levels ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_price_limit_sell_below ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_filled_orders_tracking ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_empty_price_level_removal ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_with_transactions ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_match_order_market_order_insufficient_liquidity ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_peek_match_quantity_calculation ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_match_order_no_liquidity_with_limit_price ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_peek_match_with_price_limit ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_match_order_with_price_limit_buy_side ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_match_order_price_limit_continue_conditions ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_peek_match_exceeds_available_quantity ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_peek_match_price_limit_sell_continue ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_peek_match_price_limit_buy_continue ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_match_order_with_price_limit_sell_side ... ok [INFO] [stdout] test modifications_coverage_tests::tests::test_order_type_quantity_methods ... ok [INFO] [stdout] test modifications_coverage_tests::tests::test_order_type_total_quantity_methods ... ok [INFO] [stdout] test modifications_coverage_tests::tests::test_order_type_set_quantity_methods ... ok [INFO] [stdout] test modifications_coverage_tests::tests::test_update_nonexistent_order ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_add_iceberg_order_with_extra_fields ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_add_iceberg_order_without_extra_fields ... ok [INFO] [stdout] test modifications_coverage_tests::tests::test_update_order_price_success ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_add_limit_order_without_extra_fields ... ok [INFO] [stdout] test matching_coverage_tests::tests::test_peek_match_early_termination ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_add_post_only_order_without_extra_fields ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_add_limit_order_with_extra_fields ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_match_order_insufficient_liquidity_market_order ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_add_post_only_order_with_extra_fields ... ok [INFO] [stdout] test modifications_coverage_tests::tests::test_update_order_quantity_success ... ok [INFO] [stdout] test modifications_coverage_tests::tests::test_update_order_price_and_quantity_success ... ok [INFO] [stdout] test modifications_coverage_tests::tests::test_update_order_price_same_value ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_extra_fields_functionality_with_complex_data ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_extra_fields_with_unicode_characters ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_extra_fields_with_empty_string ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_iceberg_order_with_extra_fields ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_iceberg_order_without_extra_fields ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_iceberg_order_zero_hidden_quantity ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_iceberg_order_zero_visible_quantity ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_order_type_methods_coverage ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_limit_order_ioc_no_fill ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_limit_order_fok_incomplete_fill ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_submit_market_order_with_liquidity ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_limit_order_fok_complete_fill ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_submit_market_order_without_extra_fields ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_post_only_order_no_cross ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_limit_order_ioc_partial_fill ... ok [INFO] [stdout] test order_state_tests::tests_order_state::active_and_terminal_counts ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_submit_market_order_insufficient_liquidity ... ok [INFO] [stdout] test order_state_tests::tests_order_state::add_order_fully_matched_tracks_filled ... ok [INFO] [stdout] test order_state_tests::tests_order_state::add_order_no_match_tracks_open ... ok [INFO] [stdout] test order_state_tests::tests_order_state::add_order_partial_match_tracks_partially_filled ... ok [INFO] [stdout] test order_state_tests::tests_order_state::cancel_order_tracks_user_requested ... ok [INFO] [stdout] test order_state_tests::tests_order_state::get_order_history_single_transition_open ... ok [INFO] [stdout] test order_state_tests::tests_order_state::listener_fires_on_every_transition ... ok [INFO] [stdout] test order_state_tests::tests_order_state::cancel_partially_filled_preserves_filled_quantity ... ok [INFO] [stdout] test order_state_tests::tests_order_state::mass_cancel_all_tracks_correct_reason ... ok [INFO] [stdout] test order_state_tests::tests_order_state::counts_zero_without_tracker ... ok [INFO] [stdout] test order_state_tests::tests_order_state::mass_cancel_by_side_tracks_correct_reason ... ok [INFO] [stdout] test order_state_tests::tests_order_state::get_order_history_no_tracker_returns_none ... ok [INFO] [stdout] test order_state_tests::tests_order_state::get_order_history_returns_none_for_unknown ... ok [INFO] [stdout] test order_state_tests::tests_order_state::order_status_unknown_returns_none ... ok [INFO] [stdout] test order_state_tests::tests_order_state::fok_insufficient_liquidity_tracks_cancelled ... ok [INFO] [stdout] test order_state_tests::tests_order_state::ioc_partial_fill_tracks_cancelled_with_filled_qty ... ok [INFO] [stdout] test order_state_tests::tests_order_state::purge_terminal_states_keeps_recent_entries ... ok [INFO] [stdout] test operations_coverage_tests::tests::test_multiple_orders_with_different_extra_fields ... ok [INFO] [stdout] test order_state_tests::tests_order_state::no_tracker_returns_none_and_no_panic ... ok [INFO] [stdout] test order_state_tests::tests_order_state::mass_cancel_by_price_range_tracks_correct_reason ... ok [INFO] [stdout] test order_state_tests::tests_order_state::purge_terminal_states_removes_old_entries ... ok [INFO] [stdout] test order_state_tests::tests_order_state::purge_terminal_states_does_not_affect_active ... ok [INFO] [stdout] test order_state_tests::tests_order_state::rejected_order_post_only_crossing ... ok [INFO] [stdout] test order_state_tests::tests_order_state::purge_terminal_states_zero_without_tracker ... ok [INFO] [stdout] test order_state_tests::tests_order_state::rejected_order_tick_size ... ok [INFO] [stdout] test private_coverage_tests::tests::test_convert_to_unit_type_iceberg_order ... ok [INFO] [stdout] test private_coverage_tests::tests::test_convert_to_unit_type_market_to_limit_order ... ok [INFO] [stdout] test private_coverage_tests::tests::test_convert_to_unit_type_pegged_order ... ok [INFO] [stdout] test private_coverage_tests::tests::test_convert_to_unit_type_post_only_order ... ok [INFO] [stdout] test order_state_tests::tests_order_state::stp_cancel_taker_tracks_cancelled ... ok [INFO] [stdout] test private_coverage_tests::tests::test_convert_to_unit_type_reserve_order ... ok [INFO] [stdout] test private_coverage_tests::tests::test_has_expired_gtd_order_expired ... ok [INFO] [stdout] test private_coverage_tests::tests::test_has_expired_with_market_close_set ... ok [INFO] [stdout] test private_coverage_tests::tests::test_has_expired_gtd_order_not_expired ... ok [INFO] [stdout] test private_coverage_tests::tests::test_has_expired_without_market_close ... ok [INFO] [stdout] test private_coverage_tests::tests::test_place_order_in_book_buy_side ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_match_orders_batch ... ok [INFO] [stdout] test private_coverage_tests::tests::test_will_cross_market_buy_side ... ok [INFO] [stdout] test private_coverage_tests::tests::test_will_cross_market_sell_side ... ok [INFO] [stdout] test private_coverage_tests::tests::test_place_order_in_book_sell_side ... ok [INFO] [stdout] test replay_coverage_tests::in_memory_journal_verify_integrity_always_ok ... ok [INFO] [stdout] test private_coverage_tests::tests::test_will_cross_market_no_opposite_side ... ok [INFO] [stdout] test replay_coverage_tests::in_memory_journal_read_from_filters_correctly ... ok [INFO] [stdout] test private_coverage_tests::tests::test_convert_to_unit_type_standard_order ... ok [INFO] [stdout] test private_coverage_tests::tests::test_place_order_in_book_existing_price_level ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_corrupt_entry ... ok [INFO] [stdout] test private_coverage_tests::tests::test_convert_to_unit_type_trailing_stop_order ... ok [INFO] [stdout] test replay_coverage_tests::in_memory_journal_with_capacity ... ok [INFO] [stdout] test replay_coverage_tests::in_memory_journal_new_is_empty ... ok [INFO] [stdout] test replay_coverage_tests::in_memory_journal_append_and_len ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_io_with_path ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_deserialization ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_io_without_path ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_invalid_directory ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_invalid_entry_header ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_entry_too_large ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_mutex_poisoned ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_sequence_not_found ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_display_serialization ... ok [INFO] [stdout] test replay_coverage_tests::journal_error_from_io_error ... ok [INFO] [stdout] test replay_coverage_tests::replay_add_then_cancel ... ok [INFO] [stdout] test replay_coverage_tests::replay_cancel_all_command ... ok [INFO] [stdout] test replay_coverage_tests::replay_invalid_sequence_returns_error ... ok [INFO] [stdout] test replay_coverage_tests::replay_cancel_by_price_range_command ... ok [INFO] [stdout] test replay_coverage_tests::replay_skips_rejected_events ... ok [INFO] [stdout] test replay_coverage_tests::replay_cancel_by_side_command ... ok [INFO] [stdout] test replay_coverage_tests::replay_cancel_by_user_command ... ok [INFO] [stdout] test replay_coverage_tests::replay_verify_matching_snapshot ... ok [INFO] [stdout] test replay_coverage_tests::replay_verify_mismatched_snapshot ... ok [INFO] [stdout] test replay_coverage_tests::replay_empty_journal_returns_error ... ok [INFO] [stdout] test replay_coverage_tests::replay_error_snapshot_mismatch_display ... ok [INFO] [stdout] test replay_coverage_tests::replay_market_order_command ... ok [INFO] [stdout] test replay_coverage_tests::replay_sequence_gap_returns_error ... ok [INFO] [stdout] test replay_coverage_tests::replay_with_progress_callback ... ok [INFO] [stdout] test replay_coverage_tests::replay_single_add_order ... ok [INFO] [stdout] test replay_coverage_tests::snapshots_match_different_ask_count_returns_false ... ok [INFO] [stdout] test replay_coverage_tests::snapshots_match_different_symbols_returns_false ... ok [INFO] [stdout] test replay_coverage_tests::snapshots_match_different_bid_count_returns_false ... ok [INFO] [stdout] test replay_coverage_tests::snapshots_match_different_asks_returns_false ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_cancel_by_user ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_event_cancel_all ... ok [INFO] [stdout] test replay_coverage_tests::snapshots_match_identical_books ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_event_cancel_by_price_range ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_cancel_all ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_event_cancel_by_side ... ok [INFO] [stdout] test replay_coverage_tests::snapshots_match_different_bids_returns_false ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_event_cancel_by_user ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_cancel_by_side ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_cancel_by_price_range ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::replay_mass_cancel_tests::replay_cancel_by_user_removes_user_orders ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::restore_rejects_symbol_mismatch ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::restore_rejects_checksum_mismatch ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::restore_rejects_version_mismatch ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_json_round_trip_preserves_config ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_mass_cancelled_empty ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_existing_cancel_order_unchanged ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_package_backward_compat_no_config_fields ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::json_roundtrip_existing_add_order_unchanged ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::replay_mass_cancel_tests::replay_cancel_all_clears_book ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_json_round_trip_restores_book_state ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::replay_mass_cancel_tests::replay_cancel_by_price_range ... ok [INFO] [stdout] test sequencer_types_tests::tests_sequencer_types::replay_mass_cancel_tests::replay_cancel_by_side_removes_one_side ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_package_preserves_all_config_fields ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_package_preserves_lot_size ... ok [INFO] [stdout] test validation_tests::tests::test_add_limit_order_respects_max_order_size ... ok [INFO] [stdout] test validation_tests::tests::test_add_limit_order_respects_min_order_size ... ok [INFO] [stdout] test validation_tests::tests::test_add_limit_order_respects_tick_size ... ok [INFO] [stdout] test validation_tests::tests::test_add_limit_order_respects_lot_size ... ok [INFO] [stdout] test validation_tests::tests::test_invalid_lot_size_error_display ... ok [INFO] [stdout] test validation_tests::tests::test_all_validations_pass ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_package_preserves_stp_mode ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_package_preserves_fee_schedule ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_package_round_trip_restores_orders ... ok [INFO] [stdout] test validation_tests::tests::test_add_limit_order_valid_lot_size ... ok [INFO] [stdout] test validation_tests::tests::test_add_limit_order_valid_tick_size ... ok [INFO] [stdout] test validation_tests::tests::test_invalid_lot_size_not_multiple ... ok [INFO] [stdout] test validation_tests::tests::test_invalid_lot_size_off_by_one ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_package_preserves_tick_size ... ok [INFO] [stdout] test snapshot_restore_tests::tests_snapshot_restore::snapshot_package_preserves_min_max_order_size ... ok [INFO] [stdout] test validation_tests::tests::test_invalid_tick_size_error_display ... ok [INFO] [stdout] test validation_tests::tests::test_invalid_tick_size_off_by_one_below ... ok [INFO] [stdout] test validation_tests::tests::test_lot_fails_before_min_max ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_accepts_post_only_order_valid ... ok [INFO] [stdout] test validation_tests::tests::test_invalid_tick_size_not_multiple ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_accepts_sell_order_valid ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_iceberg_both_valid ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_iceberg_hidden_invalid ... ok [INFO] [stdout] test validation_tests::tests::test_invalid_tick_size_off_by_one ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_iceberg_both_invalid ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_rejects_post_only_order ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_iceberg_visible_invalid ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_rejects_sell_order ... ok [INFO] [stdout] test validation_tests::tests::test_max_order_size_rejects_above ... ok [INFO] [stdout] test validation_tests::tests::test_lot_size_one_accepts_any_quantity ... ok [INFO] [stdout] test validation_tests::tests::test_max_order_size_accepts_below ... ok [INFO] [stdout] test validation_tests::tests::test_min_and_max_within_range ... ok [INFO] [stdout] test validation_tests::tests::test_max_order_size_accepts_equal ... ok [INFO] [stdout] test validation_tests::tests::test_min_and_max_above_max ... ok [INFO] [stdout] test validation_tests::tests::test_min_order_size_accepts_above ... ok [INFO] [stdout] test validation_tests::tests::test_min_and_max_below_min ... ok [INFO] [stdout] test validation_tests::tests::test_max_order_size_iceberg_total_above_max ... ok [INFO] [stdout] test validation_tests::tests::test_min_order_size_iceberg_total_accepted ... ok [INFO] [stdout] test validation_tests::tests::test_min_order_size_rejects_post_only ... ok [INFO] [stdout] test validation_tests::tests::test_min_order_size_rejects_below ... ok [INFO] [stdout] test validation_tests::tests::test_min_order_size_accepts_equal ... ok [INFO] [stdout] test validation_tests::tests::test_only_max_set_small_quantity_accepted ... ok [INFO] [stdout] test validation_tests::tests::test_no_tick_size_accepts_any_price ... ok [INFO] [stdout] test validation_tests::tests::test_only_min_set_large_quantity_accepted ... ok [INFO] [stdout] test validation_tests::tests::test_order_size_out_of_range_error_display ... ok [INFO] [stdout] test validation_tests::tests::test_set_lot_size_changes_validation ... ok [INFO] [stdout] test validation_tests::tests::test_set_max_order_size ... ok [INFO] [stdout] test validation_tests::tests::test_set_lot_size ... ok [INFO] [stdout] test validation_tests::tests::test_set_tick_size ... ok [INFO] [stdout] test validation_tests::tests::test_set_min_max_changes_validation ... ok [INFO] [stdout] test validation_tests::tests::test_set_tick_size_changes_validation ... ok [INFO] [stdout] test validation_tests::tests::test_tick_and_lot_size_both_valid ... ok [INFO] [stdout] test validation_tests::tests::test_tick_fails_before_min_max ... ok [INFO] [stdout] test validation_tests::tests::test_tick_size_accepts_post_only_order_valid ... ok [INFO] [stdout] test validation_tests::tests::test_set_min_order_size ... ok [INFO] [stdout] test validation_tests::tests::test_tick_size_rejects_iceberg_order ... ok [INFO] [stdout] test validation_tests::tests::test_tick_size_rejects_post_only_order ... ok [INFO] [stdout] test validation_tests::tests::test_tick_size_accepts_iceberg_order_valid ... ok [INFO] [stdout] test validation_tests::tests::test_tick_invalid_lot_valid ... ok [INFO] [stdout] test validation_tests::tests::test_tick_size_rejects_sell_order ... ok [INFO] [stdout] test validation_tests::tests::test_tick_valid_lot_invalid ... ok [INFO] [stdout] test validation_tests::tests::test_valid_lot_size_equals_lot ... ok [INFO] [stdout] test validation_tests::tests::test_tick_size_accepts_sell_order_valid ... ok [INFO] [stdout] test validation_tests::tests::test_valid_lot_size_exact_multiple ... ok [INFO] [stdout] test validation_tests::tests::test_tick_size_one_accepts_any_price ... ok [INFO] [stdout] test validation_tests::tests::test_no_lot_size_accepts_any_quantity ... ok [INFO] [stdout] test validation_tests::tests::test_valid_tick_size_equals_tick ... ok [INFO] [stdout] test validation_tests::tests::test_with_lot_size_constructor ... ok [INFO] [stdout] test validation_tests::tests::test_valid_tick_size_larger_multiple ... ok [INFO] [stdout] test validation_tests::tests::test_no_min_max_accepts_any_quantity ... ok [INFO] [stdout] test validation_tests::tests::test_valid_tick_size_exact_multiple ... ok [INFO] [stdout] test validation_tests::tests::test_with_tick_size_constructor ... ok [INFO] [stdout] test validation_tests::tests::test_min_order_size_rejects_sell_below ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_peek_match_empty_order_book ... ok [INFO] [stdout] test matching_coverage_tests_extended::tests::test_peek_match_price_limit_continue_conditions ... ok [INFO] [stdout] test operations_coverage_tests_extended::tests::test_add_post_only_order_would_cross ... ok [INFO] [stdout] test order_state_tests::tests_order_state::get_order_history_returns_transitions_in_order ... ok [INFO] [stdout] test replay_coverage_tests::in_memory_journal_default_is_empty ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 344 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] [stderr] Doc-tests orderbook_rs [INFO] [stdout] [INFO] [stdout] running 44 tests [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::cumulative_depth_to_target (line 907) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::enriched_snapshot (line 2394) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::depth_statistics (line 2590) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::levels_with_cumulative_depth (line 1830) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::liquidity_in_range (line 1511) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::buy_sell_pressure (line 2690) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::find_level (line 1964) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::micro_price (line 1175) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::market_impact (line 1296) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::is_thin_book (line 2739) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::enriched_snapshot_with_metrics (line 2434) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::levels_until_depth (line 1876) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::levels_in_range (line 1916) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::price_for_queue_position (line 1680) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::spread_bps (line 1048) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::set_fee_schedule (line 533) ... ok [INFO] [stdout] test src/orderbook/implied_volatility/integration.rs - orderbook::implied_volatility::integration::OrderBook::implied_volatility (line 89) ... ignored [INFO] [stdout] test src/orderbook/implied_volatility/solver.rs - orderbook::implied_volatility::solver::solve_iv (line 157) ... ignored [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::total_depth_at_levels (line 963) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::spread_absolute (line 1016) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::queue_ahead_at_price (line 1576) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::simulate_market_order (line 1416) ... ok [INFO] [stdout] test src/orderbook/mod.rs - orderbook::implied_volatility (line 33) ... ignored [INFO] [stdout] test src/orderbook/fees.rs - orderbook::fees::FeeSchedule::calculate_fee (line 80) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::vwap (line 1096) ... ok [INFO] [stdout] test src/orderbook/order_state.rs - orderbook::order_state::OrderStateTracker::get_history (line 383) ... ok [INFO] [stdout] test src/orderbook/mass_cancel.rs - orderbook::mass_cancel::OrderBook::cancel_orders_by_side (line 214) ... ok [INFO] [stdout] test src/orderbook/fees.rs - orderbook::fees::FeeSchedule::new (line 51) ... ok [INFO] [stdout] test src/orderbook/mass_cancel.rs - orderbook::mass_cancel::MassCancelResult (line 30) ... ok [INFO] [stdout] test src/orderbook/fees.rs - orderbook::fees::FeeSchedule (line 12) ... ok [INFO] [stdout] test src/orderbook/mass_cancel.rs - orderbook::mass_cancel::OrderBook::cancel_all_orders (line 113) ... ok [INFO] [stdout] test src/orderbook/manager.rs - orderbook::manager::BookManagerStd::cancel_all_across_books (line 134) ... ok [INFO] [stdout] test src/prelude.rs - prelude (line 13) ... ok [INFO] [stdout] test src/orderbook/mass_cancel.rs - orderbook::mass_cancel::OrderBook::cancel_orders_by_price_range (line 307) ... ok [INFO] [stdout] test src/orderbook/snapshot.rs - orderbook::snapshot::MetricFlags (line 271) ... ok [INFO] [stdout] test src/orderbook/order_state.rs - orderbook::order_state::OrderStateTracker (line 222) ... ok [INFO] [stdout] test src/orderbook/sequencer/in_memory_journal.rs - orderbook::sequencer::in_memory_journal::InMemoryJournal (line 20) ... ok [INFO] [stdout] test src/orderbook/snapshot.rs - orderbook::snapshot::EnrichedSnapshot (line 316) ... ok [INFO] [stdout] test src/orderbook/mass_cancel.rs - orderbook::mass_cancel::OrderBook::cancel_orders_by_user (line 253) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::price_at_depth (line 851) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::order_book_imbalance (line 1239) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::price_at_depth_adjusted (line 1747) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::depth_distribution (line 2777) ... ok [INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OrderBook::price_n_ticks_inside (line 1620) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 41 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.75s; merged doctests compilation took 1.59s [INFO] running `Command { std: "docker" "inspect" "1dc49c340693b8b27783cc4377c189e3910e74b1e710745e4be08598b50fbca2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1dc49c340693b8b27783cc4377c189e3910e74b1e710745e4be08598b50fbca2", kill_on_drop: false }` [INFO] [stdout] 1dc49c340693b8b27783cc4377c189e3910e74b1e710745e4be08598b50fbca2