[INFO] fetching crate option-chain-orderbook 0.4.3...
[INFO] testing option-chain-orderbook-0.4.3 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] extracting crate option-chain-orderbook 0.4.3 into /workspace/builds/worker-7-tc2/source
[INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate option-chain-orderbook 0.4.3
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate option-chain-orderbook 0.4.3
[INFO] tweaked toml for crates.io crate option-chain-orderbook 0.4.3 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate option-chain-orderbook 0.4.3 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate option-chain-orderbook 0.4.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 37571206ef9aa5286af3744bba722d36cbd07af5f7848982e7082cc1fa4a3ace
[INFO] running `Command { std: "docker" "start" "-a" "37571206ef9aa5286af3744bba722d36cbd07af5f7848982e7082cc1fa4a3ace", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "37571206ef9aa5286af3744bba722d36cbd07af5f7848982e7082cc1fa4a3ace", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "37571206ef9aa5286af3744bba722d36cbd07af5f7848982e7082cc1fa4a3ace", kill_on_drop: false }`
[INFO] [stdout] 37571206ef9aa5286af3744bba722d36cbd07af5f7848982e7082cc1fa4a3ace
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 81ced98284d7d0a0b76470263497cc289cbbdedaea98f5245fdd559835c53d61
[INFO] running `Command { std: "docker" "start" "-a" "81ced98284d7d0a0b76470263497cc289cbbdedaea98f5245fdd559835c53d61", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling ryu v1.0.21
[INFO] [stderr]    Compiling itoa v1.0.16
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling serde_json v1.0.146
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling rust_decimal v1.40.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling sha1_smol v1.0.1
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling portable-atomic v1.12.0
[INFO] [stderr]    Compiling zlib-rs v0.5.4
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling libbz2-rs-sys v0.2.2
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling cc v1.2.50
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling simba v0.9.1
[INFO] [stderr]    Compiling bumpalo v3.19.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling lzma-rust2 v0.13.0
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling bzip2 v0.6.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling ppmd-rust v1.3.0
[INFO] [stderr]    Compiling deflate64 v0.1.10
[INFO] [stderr]    Compiling constant_time_eq v0.3.1
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling encode_unicode v1.0.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rand_distr v0.6.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling indicatif v0.18.3
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling prettytable-rs v0.10.0
[INFO] [stderr]    Compiling crossbeam-skiplist v0.1.3
[INFO] [stderr]    Compiling libz-rs-sys v0.5.4
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling rust_decimal_macros v1.40.0
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling pretty-simple-display v0.1.0
[INFO] [stderr]    Compiling utoipa-gen v5.4.0
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling zip v6.0.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling utoipa v5.4.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling ulid v1.2.1
[INFO] [stderr]    Compiling pricelevel v0.7.0
[INFO] [stderr]    Compiling orderbook-rs v0.6.0
[INFO] [stderr]    Compiling positive v0.4.0
[INFO] [stderr]    Compiling financial_types v0.1.0
[INFO] [stderr]    Compiling expiration_date v0.1.1
[INFO] [stderr]    Compiling option_type v0.1.0
[INFO] [stderr]    Compiling statrs v0.18.0
[INFO] [stderr]    Compiling optionstratlib v0.15.1
[INFO] [stderr]    Compiling option-chain-orderbook v0.4.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "81ced98284d7d0a0b76470263497cc289cbbdedaea98f5245fdd559835c53d61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81ced98284d7d0a0b76470263497cc289cbbdedaea98f5245fdd559835c53d61", kill_on_drop: false }`
[INFO] [stdout] 81ced98284d7d0a0b76470263497cc289cbbdedaea98f5245fdd559835c53d61
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b29d855290d23966f639b496b87dab93b817b458051097c6e28173994bc69a72
[INFO] running `Command { std: "docker" "start" "-a" "b29d855290d23966f639b496b87dab93b817b458051097c6e28173994bc69a72", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling serde_json v1.0.146
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling prettytable-rs v0.10.0
[INFO] [stderr]    Compiling rust_decimal v1.40.0
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling zip v6.0.0
[INFO] [stderr]    Compiling utoipa v5.4.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling criterion-plot v0.8.1
[INFO] [stderr]    Compiling clap v4.5.53
[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.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling positive v0.4.0
[INFO] [stderr]    Compiling financial_types v0.1.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling expiration_date v0.1.1
[INFO] [stderr]    Compiling option_type v0.1.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling ulid v1.2.1
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling criterion v0.8.1
[INFO] [stderr]    Compiling nalgebra v0.33.2
[INFO] [stderr]    Compiling pricelevel v0.7.0
[INFO] [stderr]    Compiling orderbook-rs v0.6.0
[INFO] [stderr]    Compiling statrs v0.18.0
[INFO] [stderr]    Compiling optionstratlib v0.15.1
[INFO] [stderr]    Compiling option-chain-orderbook v0.4.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 24s
[INFO] running `Command { std: "docker" "inspect" "b29d855290d23966f639b496b87dab93b817b458051097c6e28173994bc69a72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b29d855290d23966f639b496b87dab93b817b458051097c6e28173994bc69a72", kill_on_drop: false }`
[INFO] [stdout] b29d855290d23966f639b496b87dab93b817b458051097c6e28173994bc69a72
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 75ef66500115c0572b6faed5952481eb0a0a475fec617b124e6b2d6faac4f7e4
[INFO] running `Command { std: "docker" "start" "-a" "75ef66500115c0572b6faed5952481eb0a0a475fec617b124e6b2d6faac4f7e4", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/option_chain_orderbook-e085415a2bc69454)
[INFO] [stdout] 
[INFO] [stdout] running 630 tests
[INFO] [stdout] test error::tests::test_adapter_error ... ok
[INFO] [stdout] test error::tests::test_expiration_not_found_error ... ok
[INFO] [stdout] test error::tests::test_contract_not_found_error ... ok
[INFO] [stdout] test error::tests::test_instrument_not_active_error ... ok
[INFO] [stdout] test error::tests::test_invalid_symbol_error ... ok
[INFO] [stdout] test error::tests::test_hedging_error ... ok
[INFO] [stdout] test error::tests::test_market_data_error ... ok
[INFO] [stdout] test error::tests::test_no_data_error ... ok
[INFO] [stdout] test error::tests::test_greeks_error ... ok
[INFO] [stdout] test error::tests::test_configuration_error ... ok
[INFO] [stdout] test error::tests::test_inventory_limit_exceeded_error ... ok
[INFO] [stdout] test error::tests::test_orderbook_error ... ok
[INFO] [stdout] test error::tests::test_quoting_error ... ok
[INFO] [stdout] test error::tests::test_risk_limit_breached_error ... ok
[INFO] [stdout] test error::tests::test_pricing_error ... ok
[INFO] [stdout] test error::tests::test_strike_not_found_error ... ok
[INFO] [stdout] test error::tests::test_validation_error ... ok
[INFO] [stdout] test error::tests::test_decimal_error ... ok
[INFO] [stdout] test error::tests::test_symbol_not_found_error ... ok
[INFO] [stdout] test error::tests::test_underlying_not_found_error ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_full_no_match ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_full_zero_fees_by_default ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_full_with_match_and_fees ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_with_tif_and_user ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_with_tif_and_user_full ... ok
[INFO] [stdout] test orderbook::book::tests::test_cancel_all_orders ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_with_tif ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_with_user ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_with_tif_full ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_with_user_full ... ok
[INFO] [stdout] test orderbook::book::tests::test_best_bid_ask ... ok
[INFO] [stdout] test orderbook::book::tests::test_cancel_by_side ... ok
[INFO] [stdout] test orderbook::book::tests::test_cancel_works_when_halted ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_orders ... ok
[INFO] [stdout] test orderbook::book::tests::test_clear ... ok
[INFO] [stdout] test orderbook::book::tests::test_cancel_order ... ok
[INFO] [stdout] test orderbook::book::tests::test_backward_compat_no_fee_schedule_zero_fees ... ok
[INFO] [stdout] test orderbook::book::tests::test_default_status_is_active ... ok
[INFO] [stdout] test orderbook::book::tests::test_default_instrument_id_is_zero ... ok
[INFO] [stdout] test orderbook::book::tests::test_default_status_is_active_with_validation ... ok
[INFO] [stdout] test orderbook::book::tests::test_depth_at_price ... ok
[INFO] [stdout] test orderbook::book::tests::test_expire_on_empty_book ... ok
[INFO] [stdout] test orderbook::book::tests::test_expire_sets_expired_and_clears ... ok
[INFO] [stdout] test orderbook::book::tests::test_cancel_by_user ... ok
[INFO] [stdout] test orderbook::book::tests::test_add_limit_order_with_user_rejected_when_halted ... ok
[INFO] [stdout] test orderbook::book::tests::test_fee_schedule_via_config ... ok
[INFO] [stdout] test orderbook::book::tests::test_halt_sets_halted ... ok
[INFO] [stdout] test orderbook::book::tests::test_imbalance ... ok
[INFO] [stdout] test orderbook::book::tests::test_inner_arc_access ... ok
[INFO] [stdout] test orderbook::book::tests::test_get_order_status_returns_filled_after_full_match ... ok
[INFO] [stdout] test orderbook::book::tests::test_get_order_status_returns_open_for_resting_order ... ok
[INFO] [stdout] test orderbook::book::tests::test_last_trade_result_none_initially ... ok
[INFO] [stdout] test orderbook::book::tests::test_get_order_history_returns_transitions ... ok
[INFO] [stdout] test orderbook::book::tests::test_active_order_count_tracks_resting_orders ... ok
[INFO] [stdout] test orderbook::book::tests::test_full_method_rejected_when_halted ... ok
[INFO] [stdout] test orderbook::book::tests::test_micro_price ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_config_id_and_validation ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_config_id_validation_and_stp ... ok
[INFO] [stdout] test orderbook::book::tests::test_mid_price_and_spread ... ok
[INFO] [stdout] test orderbook::book::tests::test_fee_schedule_with_stp_and_validation ... ok
[INFO] [stdout] test orderbook::book::tests::test_inner_access ... ok
[INFO] [stdout] test orderbook::book::tests::test_fee_schedule_default_is_none ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_id ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_config_id_and_stp ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_validation_lot_size ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_config_validation_and_stp ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_empty_validation ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_validation_min_max_order_size ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_validation_has_zero_id ... ok
[INFO] [stdout] test orderbook::book::tests::test_best_quote ... ok
[INFO] [stdout] test orderbook::book::tests::test_order_rejected_when_expired ... ok
[INFO] [stdout] test orderbook::book::tests::test_order_rejected_when_halted ... ok
[INFO] [stdout] test orderbook::book::tests::test_order_rejected_when_settling ... ok
[INFO] [stdout] test orderbook::book::tests::test_option_order_book_creation ... ok
[INFO] [stdout] test orderbook::book::tests::test_order_rejected_with_tif_when_not_active ... ok
[INFO] [stdout] test orderbook::book::tests::test_order_rejected_when_pending ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_validation_tick_size ... ok
[INFO] [stdout] test orderbook::book::tests::test_orders_by_user_returns_user_orders ... ok
[INFO] [stdout] test orderbook::book::tests::test_orders_accepted_after_resume ... ok
[INFO] [stdout] test orderbook::book::tests::test_no_validation_by_default ... ok
[INFO] [stdout] test orderbook::book::tests::test_set_status_and_get ... ok
[INFO] [stdout] test orderbook::book::tests::test_spread_bps ... ok
[INFO] [stdout] test orderbook::book::tests::test_stp_cancel_maker_removes_resting_order ... ok
[INFO] [stdout] test orderbook::book::tests::test_state_tracking_disabled_returns_none ... ok
[INFO] [stdout] test orderbook::book::tests::test_symbol_hash ... ok
[INFO] [stdout] test orderbook::book::tests::test_stp_cancel_both_removes_all ... ok
[INFO] [stdout] test orderbook::book::tests::test_terminal_order_count_tracks_filled_orders ... ok
[INFO] [stdout] test orderbook::book::tests::test_halt_preserves_existing_orders ... ok
[INFO] [stdout] test orderbook::book::tests::test_validation_config_readback ... ok
[INFO] [stdout] test orderbook::book::tests::test_resume_sets_active ... ok
[INFO] [stdout] test orderbook::book::tests::test_stp_cancel_taker_prevents_self_trade ... ok
[INFO] [stdout] test orderbook::book::tests::test_total_depth ... ok
[INFO] [stdout] test orderbook::book::tests::test_stp_different_users_trade_normally ... ok
[INFO] [stdout] test orderbook::book::tests::test_stp_mode_default_is_none ... ok
[INFO] [stdout] test orderbook::book::tests::test_market_impact ... ok
[INFO] [stdout] test orderbook::book::tests::test_terminal_order_summary_counts_filled ... ok
[INFO] [stdout] test orderbook::book::tests::test_last_trade_result_populated_after_match ... ok
[INFO] [stdout] test orderbook::book::tests::test_update_last_quote ... ok
[INFO] [stdout] test orderbook::book::tests::test_snapshot ... ok
[INFO] [stdout] test orderbook::book::tests::test_terminal_order_summary_counts_cancelled ... ok
[INFO] [stdout] test orderbook::book::tests::test_new_with_stp_cancel_taker ... ok
[INFO] [stdout] test orderbook::book::tests::test_vwap ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_cancel_all ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_fee_schedule_set_clear ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_find_order_not_found ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_id_unique ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_find_order_across_strikes ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_cancel_by_side ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_registry_none_by_default ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_stp_mode_default_and_set ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_orders_by_user ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_terminal_order_summary ... ok
[INFO] [stdout] test orderbook::chain::tests::test_manager_clear_fee_schedule ... ok
[INFO] [stdout] test orderbook::chain::tests::test_manager_fee_schedule_propagates ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_total_active_orders ... ok
[INFO] [stdout] test orderbook::chain::tests::test_manager_iter ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_cancel_by_user ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_strikes_arc ... ok
[INFO] [stdout] test orderbook::book::tests::test_purge_terminal_states_removes_old_entries ... ok
[INFO] [stdout] test orderbook::chain::tests::test_manager_set_specs_propagates ... ok
[INFO] [stdout] test orderbook::chain::tests::test_manager_specs_accessor ... ok
[INFO] [stdout] test orderbook::chain::tests::test_manager_stp_mode_propagates ... ok
[INFO] [stdout] test orderbook::chain::tests::test_manager_validation_config_accessor ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_atm_strike_empty ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_expiration ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_atm_strike ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_get_strike ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager_contains ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager_get ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager_is_empty ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager_existing_chain_unaffected ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager_remove ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager_set_validation_propagates ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_no_validation_by_default ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager_total_order_count ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_manager_underlying ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_set_validation ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_orders ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_strikes_ref ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_builder_debug ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_builder_overrides ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_builder_partial_override ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_contract_specs_clone ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_stats_display ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_default_serialization_roundtrip ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_default_to_validation_config ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_display_contract_specs ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_display_exercise_style ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_default_specs_are_permissive ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_strikes ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_display_settlement_type ... ok
[INFO] [stdout] test orderbook::chain::tests::test_chain_purge_terminal_states ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_exercise_style_equality ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_exercise_style_serialization ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_stats ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_settlement_type_equality ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_settlement_type_serialization ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_shared_contract_specs_debug ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_shared_contract_specs_default ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_shared_contract_specs_overwrite ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_shared_contract_specs_set_get ... ok
[INFO] [stdout] test orderbook::contract_specs::tests::test_to_validation_config ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_find_order_not_found ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_find_order ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_creation ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_contains ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_cancel_by_side ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_remove ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_cancel_all ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_existing_book_unaffected ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_set_validation_propagates ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_get_or_create ... ok
[INFO] [stdout] test orderbook::chain::tests::test_option_chain_creation ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_total_order_count ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_total_strike_count ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_stats ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_manager_get ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_order_book_expiration ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_order_book_atm_strike ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_order_book_strikes ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_order_book_orders ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_order_book_atm_strike_empty ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_order_book_creation ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_set_validation ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_order_book_get_strike ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_orders_by_user ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_terminal_order_summary ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_combined_total_count_at_least_max_cycle ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_total_active_orders ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_order_book_chain ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_combined_sorted_no_duplicates ... ok
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_cancel_by_user ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_cycle_rule_json_roundtrip ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_daily_count_correct ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_daily_dates_consecutive ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_default_config_values ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_daily_uses_expiry_time ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_day_of_month_april ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_expiry_cycle_config_json_roundtrip ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_day_of_month_february_non_leap ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_daily_year_boundary ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_day_of_month_january ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_friday_of_june_2026 ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_friday_of_march_2026 ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_monthly_all_fridays ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_monthly_count_correct ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_monthly_skips_past_last_friday ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_monthly_year_boundary ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_friday_of_february_leap_2028 ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_friday_of_december_2026 ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_day_of_month_december ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_monthly_from_last_friday_before_expiry_includes_today ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_last_day_of_month_february_leap ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_quarterly_all_fridays ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_quarterly_count_correct ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_quarterly_months_are_quarter_ends ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_quarterly_starts_from_current_quarter ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_shared_clear ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_shared_default_is_none ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_quarterly_year_boundary ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_shared_set_and_get ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_validate_duplicate_cycle_type ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_validate_empty_cycles ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_quarter_end_months ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_shared_initially_none ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_validate_invalid_expiry_hour ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_validate_invalid_settlement_hour ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_validate_invalid_settlement_minute ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_validate_ok ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_validate_zero_count ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_weekly_consecutive_fridays ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_weekly_all_fridays ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_weekly_count_correct ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_weekly_from_friday_skips_to_next ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_weekly_from_friday_before_expiry_includes_today ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_empty_expiration_removed_after_retention ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_empty_expiration_skipped ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_shared_overwrite ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_lifecycle_config_default ... ok
[INFO] [stdout] test orderbook::expiry_cycle::tests::test_validate_invalid_expiry_minute ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_lifecycle_config_negative_retention ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_lifecycle_result_default ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_multiple_expirations_different_stages ... ignored, blocked by optionstratlib ExpirationDate::DateTime Ord bug
[INFO] [stdout] test orderbook::expiration::tests::test_expiration_purge_terminal_states ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_days_variant_skipped ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_catchup_active_to_removal ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_empty_config_returns_error ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_no_transition_before_expiry ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_idempotent_expired ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_expired_transition ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_listener_receives_events ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_refresh_from_underlying_missing_expiry_config ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_refresh_from_underlying_missing_strike_config ... ok
[INFO] [stdout] test orderbook::fees::tests::test_shared_fee_schedule_clear ... ok
[INFO] [stdout] test orderbook::fees::tests::test_shared_fee_schedule_debug ... ok
[INFO] [stdout] test orderbook::fees::tests::test_shared_fee_schedule_default_is_none ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_refresh_result_default ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_catchup_active_to_expired ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_full_lifecycle ... ok
[INFO] [stdout] test orderbook::fees::tests::test_shared_fee_schedule_overwrite ... ok
[INFO] [stdout] test orderbook::fees::tests::test_shared_fee_schedule_default_trait ... ok
[INFO] [stdout] test orderbook::fees::tests::test_shared_fee_schedule_set_get ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_aggregate_all ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_settling_transition_cancels_orders ... ok
[INFO] [stdout] test orderbook::fees::tests::test_shared_fee_schedule_zero_fee ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_refresh_is_idempotent ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_account_count_and_clear ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_removal_after_retention ... ok
[INFO] [stdout] test orderbook::expiry_lifecycle::tests::test_idempotent_settling ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_checked_mul_add_overflow_saturates_to_min ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_aggregate_by_account_isolation ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_aggregate_by_underlying_cross_account ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_aggregated_greeks_default_is_zero ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_aggregated_greeks_no_saturation_for_normal_values ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_aggregated_greeks_saturation_flag_set_on_overflow ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_checked_mul_add_normal ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_checked_mul_add_overflow_saturates_to_max ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_aggregated_greeks_serde_roundtrip ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_refresh_creates_expirations ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_refresh_from_underlying_works ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_checked_mul_add_zero_quantity ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_debug_format ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_empty_account_returns_default ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_empty_underlying_returns_default ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_long_short_sign_convention ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_multiple_positions_sum_correctly ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_position_creation_and_accessors ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_concurrent_add_and_aggregate ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_update_position_quantity ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_calculate_greeks_invalid_inputs ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_callback_invoked_for_new_expirations ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_calculate_greeks_call ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_calculate_greeks_put ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_positions_for_nonexistent_account ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_callback_not_invoked_for_existing ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_remove_nonexistent_position ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_remove_position ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_single_position_aggregation ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_positions_for_account ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_update_nonexistent_position ... ok
[INFO] [stdout] test orderbook::greeks_aggregator::tests::test_update_position_greeks ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_refresh_generates_strikes ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_engine_custom_throttle ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_engine_debug ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_calculate_strike_greeks ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_can_recalculate_respects_throttle ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_no_initial_price ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_set_price_overwrites ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_engine_default_throttle ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_source ... ok
[INFO] [stdout] test orderbook::expiry_scheduler::tests::test_existing_expirations_untouched ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_greeks_update_fields ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_listener_receives_updates ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_set_price ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_flat_vol_surface ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_greeks_recalc_trigger_display ... ok
[INFO] [stdout] test orderbook::greeks_engine::tests::test_tte_calculation_days ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_debug ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_default ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_subscribe_receives_updates ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_multiple_subscribers ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_nanos_since_epoch_is_positive ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_mock_feed_thread_safety ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_price_update_clone ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_price_update_creation ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_static_feed_debug ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_static_feed_returns_fixed_price ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_static_feed_source ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_static_feed_subscribe_no_updates ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_static_feed_unsubscribe_returns_false ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_static_feed_zero_price_returns_none ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_price_update_debug ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_subscription_id_equality ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_unsubscribe_idempotent ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_unsubscribe_one_of_many ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_unsubscribe_returns_false_for_unknown_id ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_unsubscribe_stops_notifications ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_wire_feed_unsubscribe_disconnects ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_allocate_monotonic ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_default_registry ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_instrument_info_clone ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_wire_feed_to_calculator_propagates_updates ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_iter_empty ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_iter_returns_all_entries ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_wire_feed_seeds_existing_price ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_wire_feed_no_initial_price ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_allocate_with_seed ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_len_and_is_empty ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_wire_feed_concurrent_updates ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_get_missing_returns_none ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_instrument_info_display ... ok
[INFO] [stdout] test orderbook::index_price_feed::tests::test_wire_static_feed_to_calculator ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_register_and_get ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_registry_new_starts_from_one ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_seed_zero_clamped_to_one ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_multiple_registrations ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_registry_new_with_seed ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_clone_copy ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_debug ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_default ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_display ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_eq ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_from_u8_roundtrip ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_hash ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_is_accepting_orders ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_repr_values ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_from_u8 ... ok
[INFO] [stdout] test orderbook::instrument_status::tests::test_instrument_status_serde_roundtrip ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_builder_custom_values ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_builder_invalid_weights ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_builder_default_values ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_all_prices_present ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_creation ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_dampening ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_dampening_decrease ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_debug ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_dampening_small_price ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_no_prices ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_partial_prices_index_only ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_partial_prices_mid_and_last ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_weighted_average ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_config_serialization_roundtrip ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_config_validation_dampening_greater_than_one ... ok
[INFO] [stdout] test orderbook::quote::tests::test_quote_spread ... ok
[INFO] [stdout] test orderbook::quote::tests::test_quote_display ... ok
[INFO] [stdout] test orderbook::instrument_registry::tests::test_concurrent_allocation ... ok
[INFO] [stdout] test orderbook::quote::tests::test_quote_empty ... ok
[INFO] [stdout] test orderbook::quote::tests::test_quote_spread_bps ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_config_validation_negative_dampening ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_config_validation_valid ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_config_validation_weight_out_of_range ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_config_validation_weights_dont_sum_to_one ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_config_validation_dampening_zero ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_equal_weights ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_zero_weight_ignored ... ok
[INFO] [stdout] test orderbook::quote::tests::test_quote_creation ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_reset ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_default_config ... ok
[INFO] [stdout] test orderbook::quote::tests::test_quote_spread_bps_none ... ok
[INFO] [stdout] test orderbook::quote::tests::test_quote_timestamp ... ok
[INFO] [stdout] test orderbook::quote::tests::test_quote_update ... ok
[INFO] [stdout] test orderbook::stp::tests::test_shared_stp_mode_cancel_maker ... ok
[INFO] [stdout] test orderbook::stp::tests::test_shared_stp_mode_debug ... ok
[INFO] [stdout] test orderbook::stp::tests::test_shared_stp_mode_default_is_none ... ok
[INFO] [stdout] test orderbook::stp::tests::test_shared_stp_mode_set_get ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_find_order_not_found ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_greeks ... ok
[INFO] [stdout] test orderbook::stp::tests::test_shared_stp_mode_default_trait ... ok
[INFO] [stdout] test orderbook::stp::tests::test_shared_stp_mode_overwrite ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_get_arc_by_style ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_atm_empty ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_contains ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_atm ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_is_fully_quoted ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_call_mut ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_cancel_all ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_cancel_all_empty ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_cancel_by_side ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_clear ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_cancel_by_user ... ok
[INFO] [stdout] test orderbook::mark_price::tests::test_calculator_thread_safety ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_find_order_in_call ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_expiration ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_find_order_in_put ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_creation ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_no_validation_by_default ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_set_validation_propagates ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_total_order_count ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_get ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_remove ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_apply_strikes_empty ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_put_mut ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_terminal_order_summary ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_orders_by_user ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_with_validation_propagates_to_call_and_put ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_quotes ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_apply_strikes_creates_strikes ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_total_active_orders ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_existing_strike_unaffected ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_order_book_creation ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_get_by_style ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_manager_get_or_create ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_atm_rounding_down ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_atm_rounding_up ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_invalid_buffer_below_one ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_order_book_orders ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_empty_chain ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_invalid_buffer_infinity ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_apply_strikes_idempotent ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_result_default ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_basic ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_eth_style_interval ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_large_spot ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_invalid_spot_zero ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_min_strikes_expansion ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_invalid_buffer_nan ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_min_strikes_symmetric ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_small_spot ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_spot_between_intervals ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_spot_on_interval ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_very_small_spot ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_zero_spot_error ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_skips_strikes_with_orders ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_max_strikes_cap ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_btc_style_interval ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_removes_empty_strikes ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_preserves_high_strike_for_non_aligned_spot ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_no_removals_when_all_in_range ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_builder_debug ... ok
[INFO] [stdout] test orderbook::strike::tests::test_strike_purge_terminal_states ... ok
[INFO] [stderr]      Running tests/unit/mod.rs (/opt/rustwide/target/debug/deps/tests-bfd4bb75c9d9a109)
[INFO] [stdout] test orderbook::strike_generator::tests::test_generate_strikes_sorted ... ok
[INFO] [stderr]    Doc-tests option_chain_orderbook
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_default_config_daily ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_default_config_quarterly ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_all ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_default_config_weekly ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_default ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_default_config_monthly ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_display ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_integration_generate_move_cleanup ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_debug ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_default ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_get_all ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_get_nonexistent ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_new_is_empty ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_overwrite ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_remove_nonexistent ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_remove ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_build_unchecked ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_equality ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_refresh_strikes_idempotent ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_clear ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_serialization_roundtrip ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_refresh_strikes_integration ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_display ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_set_get ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_builder_full ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_serialization_roundtrip ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_validation_infinite_range ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_validation_min_exceeds_max ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_validation_nan_range ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_validation_negative_range ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_validation_range_exceeds_one ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_expiry_type_hash ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_shared_strike_range_configs_multiple_types ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_builder_partial ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_clone ... ok
[INFO] [stdout] test orderbook::strike_generator::tests::test_cleanup_buffer_prevents_aggressive_removal ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_default ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_validation_zero_interval ... ok
[INFO] [stdout] test orderbook::strike_range::tests::test_strike_range_config_validation_zero_min_strikes ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_contains ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_deregister ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_entries_empty ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_get_not_found ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_overwrite ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_deregister_not_found ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_new ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_ref_display ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_multiple_symbols ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_ref_new ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_register_and_get ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_symbols ... ok
[INFO] [stdout] test orderbook::symbol_index::tests::test_symbol_index_entries ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_fee_full_order_through_hierarchy ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_get_by_symbol_call ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_different_fee_schedules_per_underlying ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_get_by_symbol_put ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_global_stats_display ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_get_by_symbol_not_found ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_fee_schedule_coexists_with_stp ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_idempotent_get_or_create_preserves_ids ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_ids_across_underlyings_are_unique ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_fee_schedule_default_is_none ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_reverse_lookup_missing_returns_none ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_reverse_lookup_returns_correct_info ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_starts_with_id_one ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_seed_survives_rebuild ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_strike_creation_assigns_instrument_ids ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_fee_existing_underlying_unaffected ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_fee_schedule_propagates_through_full_hierarchy ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_stp_prevents_self_trade_through_hierarchy ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_find_order_across_underlyings_not_found ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_find_order_across_underlyings ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_new_with_seed ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_stp_existing_underlying_unaffected ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_stp_propagates_through_full_hierarchy ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_terminal_order_summary_across_underlyings ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_registry_accessor ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_stp_default_is_none ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_symbol_index_auto_registration ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_multiple_strikes_get_distinct_ids ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_symbol_index_deregistration_on_strike_remove ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_manager_total_active_orders_across_underlyings ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_fee_propagates_to_new_strikes ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_fee_existing_expiration_unaffected ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_standalone_books_have_zero_id ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_find_order ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_fee_schedule_default_is_none ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_symbol_index_multiple_underlyings ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_symbol_index_multiple_strikes ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_cancel_by_user ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_default_specs_are_permissive ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_cancel_by_side ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_cancel_all ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_find_order_not_found ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_manager_full_hierarchy ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_manager_creation ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_manager_contains ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_manager_get ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_manager_remove ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_manager_get_or_create ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_no_specs_by_default ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_order_book_creation ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_order_book_expirations ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_manager_underlying_symbols ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_manager_total_order_count ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_order_book_stats ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_order_book_get_expiration ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_set_fee_schedule ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_order_book_hierarchy ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_set_stp_mode ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_orders_by_user ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_set_specs_derives_validation ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_set_specs_enforces_validation_on_new_strikes ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_set_validation ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_no_validation_by_default ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_set_validation_full_hierarchy ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_set_specs ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_stp_default_is_none ... ok
[INFO] [stdout] test orderbook::validation::tests::test_shared_validation_config_debug ... ok
[INFO] [stdout] test orderbook::validation::tests::test_shared_validation_config_overwrite ... ok
[INFO] [stdout] test orderbook::validation::tests::test_shared_validation_config_default ... ok
[INFO] [stdout] test orderbook::validation::tests::test_validation_config_builder ... ok
[INFO] [stdout] test orderbook::validation::tests::test_shared_validation_config_set_get ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_stp_propagates_to_new_strikes ... ok
[INFO] [stdout] test orderbook::validation::tests::test_validation_config_default_is_empty ... ok
[INFO] [stdout] test orderbook::validation::tests::test_validation_config_partial ... ok
[INFO] [stdout] test orderbook::validation::tests::test_validation_config_display_partial ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_terminal_order_summary ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_stp_existing_expiration_unaffected ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_specs_existing_expiration_unaffected ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_total_active_orders ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_specs_propagate_through_full_hierarchy ... ok
[INFO] [stdout] test orderbook::validation::tests::test_validation_config_display_full ... ok
[INFO] [stdout] test utils::tests::test_format_expiration_yyyymmdd_datetime ... ok
[INFO] [stdout] test utils::tests::test_format_expiration_yyyymmdd_days ... ok
[INFO] [stdout] test utils::tests::test_parse_empty_underlying ... ok
[INFO] [stdout] test orderbook::validation::tests::test_validation_config_clone ... ok
[INFO] [stdout] test orderbook::validation::tests::test_validation_config_display_empty ... ok
[INFO] [stdout] test utils::tests::test_parse_invalid_date_format_non_numeric ... ok
[INFO] [stdout] test utils::tests::test_parse_invalid_date_format_short ... ok
[INFO] [stdout] test utils::tests::test_parse_invalid_date_value ... ok
[INFO] [stdout] test utils::tests::test_parse_invalid_option_type ... ok
[INFO] [stdout] test utils::tests::test_parse_invalid_strike_not_number ... ok
[INFO] [stdout] test utils::tests::test_parse_invalid_too_few_parts ... ok
[INFO] [stdout] test utils::tests::test_parse_invalid_too_many_parts ... ok
[INFO] [stdout] test utils::tests::test_parse_invalid_strike_zero ... ok
[INFO] [stdout] test utils::tests::test_parse_large_strike ... ok
[INFO] [stdout] test utils::tests::test_parse_valid_put_symbol ... ok
[INFO] [stdout] test utils::tests::test_parse_single_char_underlying ... ok
[INFO] [stdout] test utils::tests::test_parse_valid_call_symbol ... ok
[INFO] [stdout] test utils::tests::test_parse_yyyymmdd_invalid_length ... ok
[INFO] [stdout] test utils::tests::test_parse_yyyymmdd_invalid_month ... ok
[INFO] [stdout] test utils::tests::test_parse_yyyymmdd_valid ... ok
[INFO] [stdout] test utils::tests::test_parsed_symbol_expiration_date_correctness ... ok
[INFO] [stdout] test utils::tests::test_roundtrip_parse_to_symbol ... ok
[INFO] [stdout] test utils::tests::test_roundtrip_put_symbol ... ok
[INFO] [stdout] test orderbook::underlying::tests::test_underlying_purge_terminal_states ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 629 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test orderbook_tests::test_underlying_manager_integration ... ok
[INFO] [stdout] test orderbook_tests::test_option_order_book_integration ... ok
[INFO] [stdout] test orderbook_tests::test_cancel_by_user_across_underlyings ... ok
[INFO] [stdout] test orderbook_tests::test_cancel_by_side_across_underlyings ... ok
[INFO] [stdout] test orderbook_tests::test_cancel_all_across_underlyings ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 88 tests
[INFO] [stdout] test src/lib.rs - (line 135) ... ignored
[INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OptionOrderBook::cancel_all (line 895) - compile ... ok
[INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OptionOrderBook::cancel_by_side (line 936) - compile ... ok
[INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OptionOrderBook::get_order_history (line 1060) - compile ... ok
[INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OptionOrderBook::orders_by_user (line 1200) - compile ... ok
[INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OptionOrderBook::get_order_status (line 1022) - compile ... ok
[INFO] [stdout] test src/orderbook/chain.rs - orderbook::chain::ChainMassCancelResult (line 675) - compile ... ok
[INFO] [stdout] test src/orderbook/chain.rs - orderbook::chain::ChainMassCancelResult::books_affected (line 709) - compile ... ok
[INFO] [stdout] test src/orderbook/chain.rs - orderbook::chain::ChainMassCancelResult::total_cancelled (line 743) - compile ... ok
[INFO] [stdout] test src/orderbook/chain.rs - orderbook::chain::OptionChainOrderBook::cancel_all (line 318) - compile ... ok
[INFO] [stdout] test src/orderbook/chain.rs - orderbook::chain::OptionChainOrderBook::cancel_by_side (line 364) - compile ... ok
[INFO] [stdout] test src/orderbook/chain.rs - orderbook::chain::OptionChainOrderBook::cancel_by_user (line 411) - compile ... ok
[INFO] [stdout] test src/orderbook/expiration.rs - orderbook::expiration::ExpirationMassCancelResult::books_affected (line 913) - compile ... ok
[INFO] [stdout] test src/orderbook/expiration.rs - orderbook::expiration::ExpirationOrderBook::cancel_all (line 259) - compile ... ok
[INFO] [stdout] test src/orderbook/expiration.rs - orderbook::expiration::ExpirationOrderBook::cancel_by_side (line 301) - compile ... ok
[INFO] [stdout] test src/orderbook/expiration.rs - orderbook::expiration::ExpirationMassCancelResult::total_cancelled (line 947) - compile ... ok
[INFO] [stdout] test src/orderbook/expiration.rs - orderbook::expiration::ExpirationOrderBook::cancel_by_user (line 345) - compile ... ok
[INFO] [stdout] test src/orderbook/contract_specs.rs - orderbook::contract_specs::ContractSpecs (line 65) ... ok
[INFO] [stdout] test src/lib.rs - (line 114) ... ok
[INFO] [stdout] test src/lib.rs - (line 82) ... ok
[INFO] [stdout] test src/orderbook/expiry_lifecycle.rs - orderbook::expiry_lifecycle::LifecycleConfig (line 64) ... ok
[INFO] [stdout] test src/orderbook/expiry_cycle.rs - orderbook::expiry_cycle::ExpiryCycleConfig (line 61) ... ok
[INFO] [stdout] test src/orderbook/expiry_lifecycle.rs - orderbook::expiry_lifecycle::LifecycleResult (line 166) ... ok
[INFO] [stdout] test src/orderbook/expiry_cycle.rs - orderbook::expiry_cycle::CycleRule (line 36) ... ok
[INFO] [stdout] test src/orderbook/greeks_aggregator.rs - orderbook::greeks_aggregator (line 21) ... ok
[INFO] [stdout] test src/orderbook/book.rs - orderbook::book::OptionOrderBook::cancel_by_user (line 977) - compile ... ok
[INFO] [stdout] test src/orderbook/expiration.rs - orderbook::expiration::ExpirationMassCancelResult (line 879) - compile ... ok
[INFO] [stdout] test src/orderbook/expiry_lifecycle.rs - orderbook::expiry_lifecycle (line 25) ... ok
[INFO] [stdout] test src/orderbook/expiry_cycle.rs - orderbook::expiry_cycle::ExpiryCycleConfig::generate_dates (line 175) ... ok
[INFO] [stdout] test src/orderbook/greeks_aggregator.rs - orderbook::greeks_aggregator::GreeksAggregator (line 255) ... ok
[INFO] [stdout] test src/orderbook/contract_specs.rs - orderbook::contract_specs::ContractSpecsBuilder (line 220) ... ok
[INFO] [stdout] test src/orderbook/expiry_scheduler.rs - orderbook::expiry_scheduler::RefreshResult (line 61) ... ok
[INFO] [stdout] test src/orderbook/index_price_feed.rs - orderbook::index_price_feed::StaticPriceFeed (line 275) ... ok
[INFO] [stdout] test src/orderbook/index_price_feed.rs - orderbook::index_price_feed (line 27) ... ok
[INFO] [stdout] test src/orderbook/greeks_engine.rs - orderbook::greeks_engine::VolSurface (line 88) ... ok
[INFO] [stdout] test src/orderbook/index_price_feed.rs - orderbook::index_price_feed::wire_feed_to_calculator (line 367) ... ok
[INFO] [stdout] test src/orderbook/mod.rs - orderbook (line 33) ... ignored
[INFO] [stdout] test src/orderbook/strike.rs - orderbook::strike::StrikeMassCancelResult (line 630) - compile ... ok
[INFO] [stdout] test src/orderbook/strike.rs - orderbook::strike::StrikeMassCancelResult::books_affected (line 664) - compile ... ok
[INFO] [stdout] test src/orderbook/strike.rs - orderbook::strike::StrikeMassCancelResult::total_cancelled (line 698) - compile ... ok
[INFO] [stdout] test src/orderbook/strike.rs - orderbook::strike::StrikeOrderBook::cancel_all (line 304) - compile ... ok
[INFO] [stdout] test src/orderbook/strike.rs - orderbook::strike::StrikeOrderBook::cancel_by_side (line 350) - compile ... ok
[INFO] [stdout] test src/orderbook/strike.rs - orderbook::strike::StrikeOrderBook::cancel_by_user (line 398) - compile ... ok
[INFO] [stdout] test src/orderbook/instrument_registry.rs - orderbook::instrument_registry::InstrumentRegistry::iter (line 220) ... ok
[INFO] [stdout] test src/orderbook/index_price_feed.rs - orderbook::index_price_feed::IndexPriceFeed (line 102) ... ok
[INFO] [stdout] test src/orderbook/greeks_engine.rs - orderbook::greeks_engine::GreeksEngine (line 203) ... ok
[INFO] [stdout] test src/orderbook/greeks_engine.rs - orderbook::greeks_engine (line 17) ... ok
[INFO] [stdout] test src/orderbook/mark_price.rs - orderbook::mark_price (line 27) ... ok
[INFO] [stdout] test src/orderbook/mark_price.rs - orderbook::mark_price::MarkPriceConfig (line 70) ... ok
[INFO] [stdout] test src/orderbook/mark_price.rs - orderbook::mark_price::MarkPriceConfigBuilder (line 207) ... ok
[INFO] [stdout] test src/orderbook/index_price_feed.rs - orderbook::index_price_feed::MockPriceFeed (line 147) ... ok
[INFO] [stdout] test src/orderbook/strike_range.rs - orderbook::strike_range::ExpiryType (line 27) ... ok
[INFO] [stdout] test src/orderbook/strike_generator.rs - orderbook::strike_generator::StrikeGenerator::generate_strikes (line 107) ... ok
[INFO] [stdout] test src/orderbook/strike_range.rs - orderbook::strike_range::ExpiryType::default_config (line 59) ... ok
[INFO] [stdout] test src/orderbook/strike_range.rs - orderbook::strike_range::StrikeRangeConfig (line 127) ... ok
[INFO] [stdout] test src/orderbook/expiry_lifecycle.rs - orderbook::expiry_lifecycle::ExpiryLifecycleManager::check_expirations (line 233) ... ok
[INFO] [stdout] test src/orderbook/greeks_engine.rs - orderbook::greeks_engine::FlatVolSurface (line 119) ... ok
[INFO] [stdout] test src/orderbook/strike_range.rs - orderbook::strike_range::StrikeRangeConfigBuilder (line 264) ... ok
[INFO] [stdout] test src/orderbook/mark_price.rs - orderbook::mark_price::MarkPriceCalculator (line 336) ... ok
[INFO] [stdout] test src/orderbook/strike_generator.rs - orderbook::strike_generator::StrikeGenerator::cleanup_empty_strikes (line 362) ... ok
[INFO] [stdout] test src/orderbook/symbol_index.rs - orderbook::symbol_index::SymbolIndex::entries (line 218) ... ok
[INFO] [stdout] test src/orderbook/symbol_index.rs - orderbook::symbol_index::SymbolIndex (line 108) ... ok
[INFO] [stdout] test src/orderbook/strike_generator.rs - orderbook::strike_generator::StrikeGenerator::refresh_strikes (line 302) ... ok
[INFO] [stdout] test src/orderbook/strike_generator.rs - orderbook::strike_generator::CleanupResult (line 469) ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::GlobalMassCancelResult (line 1554) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::GlobalMassCancelResult::books_affected (line 1588) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingMassCancelResult (line 80) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingMassCancelResult::total_cancelled (line 148) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBook::cancel_all (line 578) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingMassCancelResult::books_affected (line 114) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBook::cancel_by_side (line 622) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::GlobalMassCancelResult::total_cancelled (line 1622) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBook::cancel_by_user (line 668) - compile ... ok
[INFO] [stdout] test src/orderbook/strike_generator.rs - orderbook::strike_generator (line 24) ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBookManager::cancel_by_side_across_underlyings (line 1202) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBookManager::cancel_by_user_across_underlyings (line 1249) - compile ... ok
[INFO] [stdout] test src/orderbook/strike_generator.rs - orderbook::strike_generator::StrikeGenerator::apply_strikes (line 261) ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBookManager::cancel_all_across_underlyings (line 1157) - compile ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBook::set_index_feed (line 499) ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBook::set_strike_range_config (line 366) ... ok
[INFO] [stdout] test src/utils.rs - utils::SymbolParser (line 129) ... ok
[INFO] [stdout] test src/utils.rs - utils::format_expiration_yyyymmdd (line 23) ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBook::expiry_cycle_config (line 466) ... ok
[INFO] [stdout] test src/orderbook/underlying.rs - orderbook::underlying::UnderlyingOrderBook::set_expiry_cycle_config (line 448) ... ok
[INFO] [stdout] test src/orderbook/validation.rs - orderbook::validation::ValidationConfig (line 21) ... ok
[INFO] [stdout] test src/orderbook/expiry_scheduler.rs - orderbook::expiry_scheduler (line 16) ... ok
[INFO] [stdout] test src/orderbook/expiry_scheduler.rs - orderbook::expiry_scheduler::ExpiryScheduler::refresh_expirations (line 147) ... ok
[INFO] [stdout] test src/orderbook/expiry_scheduler.rs - orderbook::expiry_scheduler::ExpiryScheduler::refresh_from_underlying (line 239) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 86 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 2.80s; merged doctests compilation took 2.06s
[INFO] running `Command { std: "docker" "inspect" "75ef66500115c0572b6faed5952481eb0a0a475fec617b124e6b2d6faac4f7e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75ef66500115c0572b6faed5952481eb0a0a475fec617b124e6b2d6faac4f7e4", kill_on_drop: false }`
[INFO] [stdout] 75ef66500115c0572b6faed5952481eb0a0a475fec617b124e6b2d6faac4f7e4
