[INFO] fetching crate nautilus-execution 0.55.0... [INFO] testing nautilus-execution-0.55.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate nautilus-execution 0.55.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate nautilus-execution 0.55.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate nautilus-execution 0.55.0 [INFO] tweaked toml for crates.io crate nautilus-execution 0.55.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate nautilus-execution 0.55.0 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 nautilus-execution 0.55.0 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] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml v0.9.12+spec-1.1.0 [INFO] [stderr] Downloaded fastrand v2.4.0 [INFO] [stderr] Downloaded cbindgen v0.29.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 9cbd4b51ed50c92d9fd5878838814aec29e8770fc86b370bc23b83605eec496f [INFO] running `Command { std: "docker" "start" "-a" "9cbd4b51ed50c92d9fd5878838814aec29e8770fc86b370bc23b83605eec496f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9cbd4b51ed50c92d9fd5878838814aec29e8770fc86b370bc23b83605eec496f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9cbd4b51ed50c92d9fd5878838814aec29e8770fc86b370bc23b83605eec496f", kill_on_drop: false }` [INFO] [stdout] 9cbd4b51ed50c92d9fd5878838814aec29e8770fc86b370bc23b83605eec496f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 2a38c5e38b20cf65452e3c175c04a92239cce2602e4292bc0b62cbaaaa9c8acd [INFO] running `Command { std: "docker" "start" "-a" "2a38c5e38b20cf65452e3c175c04a92239cce2602e4292bc0b62cbaaaa9c8acd", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling lexical-util v1.0.7 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling arrow-schema v58.1.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling indexmap v2.13.1 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling flatbuffers v25.12.19 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling rstest_macros v0.26.1 [INFO] [stderr] Compiling rust_decimal v1.41.0 [INFO] [stderr] Compiling lexical-parse-integer v1.0.6 [INFO] [stderr] Compiling lexical-write-integer v1.0.6 [INFO] [stderr] Compiling cpufeatures v0.3.0 [INFO] [stderr] Compiling lexical-write-float v1.0.6 [INFO] [stderr] Compiling chacha20 v0.10.0 [INFO] [stderr] Compiling lexical-parse-float v1.0.6 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Compiling simdutf8 v0.1.5 [INFO] [stderr] Compiling implied-vol v2.0.0 [INFO] [stderr] Compiling value-bag v1.12.0 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling lexical-core v1.0.6 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling papergrid v0.17.0 [INFO] [stderr] Compiling cc v1.2.59 [INFO] [stderr] Compiling arc-swap v1.9.1 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling rand v0.10.0 [INFO] [stderr] Compiling nautilus-model v0.55.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling rmp v0.8.15 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling arraydeque v0.5.1 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling nautilus-common v0.55.0 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling sysinfo v0.38.4 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling toml_edit v0.25.10+spec-1.1.0 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling criterion-plot v0.8.2 [INFO] [stderr] Compiling nautilus-core v0.55.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerocopy-derive v0.8.48 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tabled_derive v0.11.0 [INFO] [stderr] Compiling strum_macros v0.28.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling rust_decimal_macros v1.40.0 [INFO] [stderr] Compiling enum_dispatch v0.3.13 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling strum v0.28.0 [INFO] [stderr] Compiling tabled v0.20.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling derive_builder_core v0.20.2 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling bon-macros v3.9.1 [INFO] [stderr] Compiling derive_builder_macro v0.20.2 [INFO] [stderr] Compiling derive_builder v0.20.2 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling rstest v0.26.1 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ustr v1.1.0 [INFO] [stderr] Compiling bon v3.9.1 [INFO] [stderr] Compiling arrow-buffer v58.1.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling criterion v0.8.2 [INFO] [stderr] Compiling arrow-data v58.1.0 [INFO] [stderr] Compiling arrow-array v58.1.0 [INFO] [stderr] Compiling arrow-select v58.1.0 [INFO] [stderr] Compiling arrow-arith v58.1.0 [INFO] [stderr] Compiling arrow-row v58.1.0 [INFO] [stderr] Compiling arrow-ord v58.1.0 [INFO] [stderr] Compiling arrow-ipc v58.1.0 [INFO] [stderr] Compiling arrow-string v58.1.0 [INFO] [stderr] Compiling arrow-cast v58.1.0 [INFO] [stderr] Compiling arrow-json v58.1.0 [INFO] [stderr] Compiling arrow-csv v58.1.0 [INFO] [stderr] Compiling arrow v58.1.0 [INFO] [stderr] Compiling nautilus-indicators v0.55.0 [INFO] [stderr] Compiling nautilus-execution v0.55.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 14s [INFO] running `Command { std: "docker" "inspect" "2a38c5e38b20cf65452e3c175c04a92239cce2602e4292bc0b62cbaaaa9c8acd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2a38c5e38b20cf65452e3c175c04a92239cce2602e4292bc0b62cbaaaa9c8acd", kill_on_drop: false }` [INFO] [stdout] 2a38c5e38b20cf65452e3c175c04a92239cce2602e4292bc0b62cbaaaa9c8acd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] cc67c917d4cf58f5040f53deddb2ca05d3b30f9e700708cb2bf51013dd0db86d [INFO] running `Command { std: "docker" "start" "-a" "cc67c917d4cf58f5040f53deddb2ca05d3b30f9e700708cb2bf51013dd0db86d", kill_on_drop: false }` [INFO] [stderr] Compiling nautilus-execution v0.55.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 9.35s [INFO] running `Command { std: "docker" "inspect" "cc67c917d4cf58f5040f53deddb2ca05d3b30f9e700708cb2bf51013dd0db86d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cc67c917d4cf58f5040f53deddb2ca05d3b30f9e700708cb2bf51013dd0db86d", kill_on_drop: false }` [INFO] [stdout] cc67c917d4cf58f5040f53deddb2ca05d3b30f9e700708cb2bf51013dd0db86d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 0b5e6a804c7a837c6391eca5ec8c28b28e8a0f997a96ed6a8b823842036dedc9 [INFO] running `Command { std: "docker" "start" "-a" "0b5e6a804c7a837c6391eca5ec8c28b28e8a0f997a96ed6a8b823842036dedc9", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nautilus_execution-b81519b4be4113b8) [INFO] [stdout] [INFO] [stdout] running 261 tests [INFO] [stdout] test matching_core::tests::test_is_limit_fillable_inside_spread_sell_at_ask ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_fillable_delegates_to_is_limit_matched_by_default ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_matched::case_4 ... ok [INFO] [stdout] test matching_core::tests::test_add_order_bid_side ... ok [INFO] [stdout] test matching_core::tests::test_add_order_ask_side ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_matched::case_2 ... ok [INFO] [stdout] test matching_core::tests::test_delete_order_when_exists::case_2 ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_fillable_inside_spread_requires_both_quotes_present ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_matched::case_5 ... ok [INFO] [stdout] test matching_core::tests::test_delete_order_when_not_exists ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_matched::case_1 ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_matched::case_6 ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_matched::case_7 ... ok [INFO] [stdout] test matching_core::tests::test_delete_order_when_exists::case_1 ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_matched::case_8 ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_fillable_inside_spread_buy_at_bid ... ok [INFO] [stdout] test matching_core::tests::test_is_limit_matched::case_3 ... ok [INFO] [stdout] test matching_core::tests::test_is_stop_matched::case_1 ... ok [INFO] [stdout] test matching_core::tests::test_is_stop_matched::case_2 ... ok [INFO] [stdout] test matching_core::tests::test_is_stop_matched::case_3 ... ok [INFO] [stdout] test matching_core::tests::test_is_stop_matched::case_4 ... ok [INFO] [stdout] test matching_core::tests::test_is_stop_matched::case_8 ... ok [INFO] [stdout] test matching_core::tests::test_is_touch_triggered::case_2 ... ok [INFO] [stdout] test matching_core::tests::test_is_touch_triggered::case_3 ... ok [INFO] [stdout] test matching_core::tests::test_is_stop_matched::case_7 ... ok [INFO] [stdout] test matching_core::tests::test_is_touch_triggered::case_4 ... ok [INFO] [stdout] test matching_core::tests::test_is_touch_triggered::case_5 ... ok [INFO] [stdout] test matching_core::tests::test_iterate_returns_fill_limit_for_matched_buy ... ok [INFO] [stdout] test matching_core::tests::test_is_touch_triggered::case_6 ... ok [INFO] [stdout] test matching_core::tests::test_is_touch_triggered::case_7 ... ok [INFO] [stdout] test matching_core::tests::test_iterate_returns_empty_when_no_market_data ... ok [INFO] [stdout] test matching_core::tests::test_is_touch_triggered::case_8 ... ok [INFO] [stdout] test matching_core::tests::test_iterate_returns_empty_when_no_orders ... ok [INFO] [stdout] test matching_core::tests::test_iterate_fills_limit_inside_spread_when_enabled ... ok [INFO] [stdout] test matching_core::tests::test_is_stop_matched::case_5 ... ok [INFO] [stdout] test matching_core::tests::test_is_touch_triggered::case_1 ... ok [INFO] [stdout] test matching_core::tests::test_iterate_returns_no_fill_for_unmatched_limit ... ok [INFO] [stdout] test matching_core::tests::test_iterate_triggers_activated_stop_order ... ok [INFO] [stdout] test matching_core::tests::test_iterate_skips_unactivated_stop_order ... ok [INFO] [stdout] test matching_core::tests::test_is_stop_matched::case_6 ... ok [INFO] [stdout] test matching_core::tests::test_iterate_returns_mixed_actions_for_limits_and_stops ... ok [INFO] [stdout] test matching_core::tests::test_iterate_returns_fill_limit_for_matched_sell ... ok [INFO] [stdout] test matching_core::tests::test_iterate_returns_trigger_stop_for_matched_sell ... ok [INFO] [stdout] test matching_core::tests::test_iterate_returns_trigger_stop_for_matched_buy ... ok [INFO] [stdout] test matching_engine::ids_generator::tests::test_generate_venue_position_id ... ok [INFO] [stdout] test models::fee::tests::test_maker_taker_fee_model_maker_commission ... ok [INFO] [stdout] test models::fee::tests::test_fixed_model_multiple_fills::case_4 ... ok [INFO] [stdout] test matching_engine::ids_generator::tests::get_venue_position_id ... ok [INFO] [stdout] test matching_engine::ids_generator::tests::test_get_position_id_hedging_with_existing_position ... ok [INFO] [stdout] test models::fee::tests::test_fixed_model_multiple_fills::case_3 ... ok [INFO] [stdout] test models::fee::tests::test_maker_taker_fee_model_taker_commission ... ok [INFO] [stdout] test models::fee::tests::test_fixed_model_multiple_fills::case_2 ... ok [INFO] [stdout] test models::fee::tests::test_fixed_model_multiple_fills::case_1 ... ok [INFO] [stdout] test matching_engine::ids_generator::tests::test_get_position_id_hedging_with_generated_position ... ok [INFO] [stdout] test models::fee::tests::test_per_contract_fee_model_partial_fill ... ok [INFO] [stdout] test models::fill::tests::test_default_fill_model_fill_limit_inside_spread_is_false ... ok [INFO] [stdout] test models::fee::tests::test_per_contract_fee_model ... ok [INFO] [stdout] test models::fill::tests::test_best_price_fill_model_fill_limit_inside_spread_is_true ... ok [INFO] [stdout] test models::fill::tests::test_best_price_fill_model_returns_book ... ok [INFO] [stdout] test models::fill::tests::test_default_fill_model_returns_none ... ok [INFO] [stdout] test models::fill::tests::test_fill_model_any_is_limit_filled ... ok [INFO] [stdout] test matching_engine::ids_generator::tests::test_get_position_id_netting ... ok [INFO] [stdout] test models::fill::tests::test_fill_model_any_dispatch ... ok [INFO] [stdout] test models::fill::tests::test_fill_model_any_fill_limit_inside_spread_dispatch ... ok [INFO] [stdout] test models::fill::tests::test_fill_model_is_limit_filled ... ok [INFO] [stdout] test models::fill::tests::test_one_tick_slippage_fill_model_fill_limit_inside_spread_is_false ... ok [INFO] [stdout] test matching_core::tests::test_reset ... ok [INFO] [stdout] test models::fill::tests::test_one_tick_slippage_fill_model ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_get_matching_core_returns_none_when_not_created ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_on_trade_tick_no_matching_core_does_not_panic ... ok [INFO] [stdout] test models::latency::tests::test_static_latency_model ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_cancel_order_removes_from_matching_core ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_create_matching_core ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_submit_order_bid_ask_trigger_creates_matching_core ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_cancel_order_removes_cached_command ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_on_quote_tick_no_matching_core_does_not_panic ... ok [INFO] [stdout] test models::fill::tests::test_fill_model_is_slipped ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_get_submit_order_commands_initially_empty ... ok [INFO] [stdout] test models::fee::tests::test_fixed_model_single_fill ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_quote_tick_updates_matching_core_prices ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_submit_order_caches_command ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_submit_order_last_price_trigger_tracks_trade_subscription ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_submit_order_bid_ask_trigger_tracks_quote_subscription ... ok [INFO] [stdout] test order_manager::handlers::tests::test_cancel_order_handler_constructs ... ok [INFO] [stdout] test order_manager::handlers::tests::test_handler_with_dropped_emulator_does_not_panic ... ok [INFO] [stdout] test order_manager::handlers::tests::test_cancel_order_handler_dispatch_does_not_panic ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_subscribed_quotes_initially_empty ... ok [INFO] [stdout] test order_manager::handlers::tests::test_submit_order_handler_constructs ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_subscribed_trades_initially_empty ... ok [INFO] [stdout] test order_manager::manager::tests::test_order_manager_with_handlers ... ok [INFO] [stdout] test order_emulator::emulator::tests::test_trade_tick_updates_matching_core_last_price ... ok [INFO] [stdout] test order_manager::handlers::tests::test_modify_order_handler_constructs ... ok [INFO] [stdout] test order_manager::handlers::tests::test_modify_order_handler_dispatch_does_not_panic ... ok [INFO] [stdout] test order_manager::manager::tests::test_handle_event_unhandled_events_are_noop ... ok [INFO] [stdout] test order_manager::manager::tests::test_order_manager_modify_order_dispatches_to_handler ... ok [INFO] [stdout] test order_manager::manager::tests::test_order_manager_without_handlers ... ok [INFO] [stdout] test order_manager::manager::tests::test_order_manager_cancel_order_dispatches_to_handler ... ok [INFO] [stdout] test protection::tests::test_protection_price_buy::case_1 ... ok [INFO] [stdout] test protection::tests::test_protection_price_buy::case_2 ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_five_zero_crossings ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_flat_position ... ok [INFO] [stdout] test protection::tests::test_protection_price_large_points ... ok [INFO] [stdout] test protection::tests::test_protection_price_sell::case_1 ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_alternating_long_short_positions ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_complete_lifecycle_no_adjustment ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_incomplete_lifecycle_adds_synthetic ... ok [INFO] [stdout] test protection::tests::test_protection_price_sell::case_2 ... ok [INFO] [stdout] test protection::tests::test_protection_price_zero_points ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_short_position ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_timestamp_underflow_protection ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_with_flat_crossings ... ok [INFO] [stdout] test protection::tests::test_protection_price_sell_negative_result ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_with_flip_scenario ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_with_zero_crossings ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_multiple_zero_crossings_mismatch ... ok [INFO] [stdout] test reconciliation::tests::test_adjust_fills_no_fills ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_match_exact ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_match_both_flat ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_match_edge_of_tolerance ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_match_qty_mismatch ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_match_within_tolerance ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_match_outside_tolerance ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_match_zero_venue_avg_px ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_reconciliation_discrepancy ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_reconciliation_exact_match_long ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_reconciliation_both_flat ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_reconciliation_exact_match_short ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_liquidity_side::case_4_limit_post_only ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_liquidity_side::case_5_limit_default ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_liquidity_side::case_1_market_order ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_liquidity_side::case_2_stop_market ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_no_price_returns_none ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_liquidity_side::case_3_trailing_stop_market ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_trade_id_format ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_uses_order_price_as_fallback ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_reconciliation_flag ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_uses_report_price_when_no_avg_px ... ok [INFO] [stdout] test reconciliation::tests::test_create_reconciliation_rejected_no_account_id ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_uses_report_avg_px ... ok [INFO] [stdout] test reconciliation::tests::test_create_inferred_fill_for_qty_zero_quantity_returns_none ... ok [INFO] [stdout] test reconciliation::tests::test_check_position_reconciliation_within_tolerance ... ok [INFO] [stdout] test reconciliation::tests::test_create_reconciliation_rejected_with_reason ... ok [INFO] [stdout] test reconciliation::tests::test_create_reconciliation_rejected_without_reason ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings ... ok [INFO] [stdout] test reconciliation::tests::test_create_synthetic_venue_order_id_format ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_empty_fills ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_long_to_short_flip ... ok [INFO] [stdout] test reconciliation::tests::test_create_synthetic_trade_id_format ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_single_crossing ... ok [INFO] [stdout] test reconciliation::tests::test_external_order_status_event_generation::case_1_accepted ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_complex_lifecycle ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_five_lifecycles ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_no_crossings ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_multiple_flips ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_identical_timestamps ... ok [INFO] [stdout] test reconciliation::tests::test_external_order_status_event_generation::case_3_canceled ... ok [INFO] [stdout] test reconciliation::tests::test_external_order_status_event_generation::case_4_expired ... ok [INFO] [stdout] test reconciliation::tests::test_external_order_status_event_generation::case_7_rejected ... ok [INFO] [stdout] test reconciliation::tests::test_fill_snapshot_direction ... ok [INFO] [stdout] test reconciliation::tests::test_external_order_status_event_generation::case_2_triggered ... ok [INFO] [stdout] test reconciliation::tests::test_detect_zero_crossings_short_to_long_flip ... ok [INFO] [stdout] test reconciliation::tests::test_external_order_status_event_generation::case_5_filled ... ok [INFO] [stdout] test reconciliation::tests::test_external_order_status_event_generation::case_6_partially_filled ... ok [INFO] [stdout] test reconciliation::tests::test_generate_reconciliation_order_events_accepts_before_cancel ... ok [INFO] [stdout] test reconciliation::tests::test_generate_reconciliation_order_events_accepts_before_fill ... ok [INFO] [stdout] test reconciliation::tests::test_inferred_fill_liquidity_side::case_1_market ... ok [INFO] [stdout] test reconciliation::tests::test_inferred_fill_liquidity_side::case_2_stop_market ... ok [INFO] [stdout] test reconciliation::tests::test_inferred_fill_liquidity_side::case_5_limit_default ... ok [INFO] [stdout] test reconciliation::tests::test_inferred_fill_liquidity_side::case_3_trailing_stop_market ... ok [INFO] [stdout] test reconciliation::tests::test_inferred_fill_no_price_returns_none ... ok [INFO] [stdout] test reconciliation::tests::test_is_within_single_unit_tolerance_high_precision ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_fill_report_overfill_rejected ... ok [INFO] [stdout] test reconciliation::tests::test_inferred_fill_liquidity_side::case_4_limit_post_only ... ok [INFO] [stdout] test reconciliation::tests::test_is_within_single_unit_tolerance_fractional_precision ... ok [INFO] [stdout] test reconciliation::tests::test_is_within_single_unit_tolerance_exact_match ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_fill_report_overfill_allowed ... ok [INFO] [stdout] test reconciliation::tests::test_is_within_single_unit_tolerance_integer_precision ... ok [INFO] [stdout] test reconciliation::tests::test_generate_reconciliation_order_events_does_not_accept_before_reject ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_order_report_generates_updated ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_fill_report_success ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_order_report_already_in_sync ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_fill_report_duplicate_detected ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_order_report_generates_canceled ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_order_report_generates_fill_for_qty_mismatch ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_order_report_generates_rejected ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_accumulation_simulation_compatibility ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_flat_to_long ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_flat_to_short ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_flip_simulation_compatibility ... ok [INFO] [stdout] test reconciliation::tests::test_reconcile_order_report_generates_expired ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_long_position_decrease ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_partial_close ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_short_to_flat ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_no_quantity_change ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_long_position_increase ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_no_target_avg_px ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_short_position_increase ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_long_to_flat ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_short_to_long_flip ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_complex_scenario ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_long_to_short_flip ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_negative_price ... ok [INFO] [stdout] test reconciliation::tests::test_should_reconciliation_update::case_1_identical_limit_order ... ok [INFO] [stdout] test reconciliation::tests::test_reconciliation_price_zero_target_avg_px ... ok [INFO] [stdout] test reconciliation::tests::test_replace_current_lifecycle_uses_first_venue_order_id ... ok [INFO] [stdout] test reconciliation::tests::test_should_reconciliation_update::case_4_stop_trigger_changed ... ok [INFO] [stdout] test reconciliation::tests::test_should_reconciliation_update::case_3_limit_price_changed ... ok [INFO] [stdout] test reconciliation::tests::test_should_reconciliation_update::case_5_stop_limit_trigger_changed ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_multiple_flips ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_empty_fills ... ok [INFO] [stdout] test reconciliation::tests::test_should_reconciliation_update::case_6_stop_limit_price_changed ... ok [INFO] [stdout] test reconciliation::tests::test_should_reconciliation_update::case_2_quantity_changed ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_accumulate_short ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_close_and_flip ... ok [INFO] [stdout] test reconciliation::tests::test_should_reconciliation_update::case_7_market_order_no_update ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_partial_close ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_accumulate_long ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_short_partial_close ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_short_to_long_flip ... ok [INFO] [stdout] test reconciliation::tests::test_simulate_position_multiple_partial_closes ... ok [INFO] [stdout] test trailing::tests::test_no_update_when_candidate_worse::case_1 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_last_or_bid_ask::case_2 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_last_or_bid_ask::case_1 ... ok [INFO] [stdout] test trailing::tests::test_no_update_when_candidate_worse::case_2 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_limit_basis_points_buy_improve ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_last_or_bid_ask::case_3 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_last_or_bid_ask::case_4 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_limit_last_price_sell_improve ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_basis_points::case_2 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_basis_points::case_1 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_limit_last_price_buy_improve_trigger_and_limit ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_basis_points::case_4 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_bid_ask::case_1 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_bid_ask::case_2 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_bid_ask::case_4 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_basis_points::case_3 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_default_uses_bid_ask::case_2 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_default_uses_bid_ask::case_1 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_last_price::case_1 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_bid_ask::case_3 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_last_price::case_2 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_last_price::case_4 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_last_price_move_in_favour::case_1 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_last_price_move_in_favour::case_2 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_ticks::case_1 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_last_price::case_3 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_ticks::case_3 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_ticks::case_2 ... ok [INFO] [stdout] test trailing::tests::test_trailing_stop_market_ticks::case_4 ... ok [INFO] [stdout] test protection::tests::test_calculate_with_invalid_order_type ... ok [INFO] [stdout] test models::fill::tests::test_fill_model_param_prob_slippage_error - should panic ... ok [INFO] [stdout] test protection::tests::test_calculate_requires_opposite_quote::case_2 ... ok [INFO] [stdout] test trailing::tests::test_calculate_with_bid_ask_no_bid_ask::case_1 ... ok [INFO] [stdout] test trailing::tests::test_calculate_with_bid_ask_no_bid_ask::case_2 ... ok [INFO] [stdout] test trailing::tests::test_calculate_with_last_price_no_last::case_1 ... ok [INFO] [stdout] test trailing::tests::test_calculate_with_invalid_order_type ... ok [INFO] [stdout] test trailing::tests::test_calculate_with_last_price_no_last::case_2 ... ok [INFO] [stdout] test trailing::tests::test_calculate_with_unsupported_trigger_type ... ok [INFO] [stdout] test models::fee::tests::test_per_contract_fee_model_negative_commission_fails ... ok [INFO] [stdout] test models::fill::tests::test_fill_model_param_prob_fill_on_limit_error - should panic ... ok [INFO] [stdout] test protection::tests::test_calculate_requires_opposite_quote::case_1 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 261 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stderr] Running tests/exec_engine.rs (/opt/rustwide/target/debug/deps/exec_engine-5f068495fe2798a9) [INFO] [stdout] [INFO] [stdout] running 86 tests [INFO] [stdout] test test_check_connected_when_client_disconnected_returns_false ... ok [INFO] [stdout] test test_check_connected_when_client_connected_returns_true ... ok [INFO] [stdout] test test_check_disconnected_when_client_disconnected_returns_true ... ok [INFO] [stdout] test test_deregister_client_removes_client ... ok [INFO] [stdout] test test_execution_engine_default_config_initializes_correctly ... ok [INFO] [stdout] test test_execution_engine_with_config_initializes_correctly ... ok [INFO] [stdout] test test_cancel_order_removes_from_own_book ... ok [INFO] [stdout] test test_filled_order_removes_from_own_book ... ok [INFO] [stdout] test test_cancel_order_for_already_closed_order_logs_and_does_nothing ... ok [INFO] [stdout] test test_check_integrity_returns_true ... ok [INFO] [stdout] test test_canceled_order_receiving_fill_event_reopens_and_completes_order ... ok [INFO] [stdout] test test_canceled_order_receiving_partial_fill_event_reopens_and_becomes_partially_filled ... ok [INFO] [stdout] test test_flip_position_on_opposite_filled_same_position_buy ... ok [INFO] [stdout] test test_flip_position_when_netting_oms ... ok [INFO] [stdout] test test_get_all_clients_empty ... ok [INFO] [stdout] test test_get_all_clients_includes_default_client ... ok [INFO] [stdout] test test_close_position_on_order_fill ... ok [INFO] [stdout] test test_flip_position_on_opposite_filled_same_position_sell ... ok [INFO] [stdout] test test_handle_order_event_with_different_client_order_id_but_matching_venue_order_id_fails_to_apply ... ok [INFO] [stdout] test test_handle_order_fill_event_with_no_position_id_correctly_handles_fill ... ok [INFO] [stdout] test test_modify_order_for_already_closed_order_logs_and_does_nothing ... ok [INFO] [stdout] test test_add_to_existing_position_on_order_fill ... ok [INFO] [stdout] test test_handle_order_event_with_random_client_order_id_and_order_id_not_cached ... ok [INFO] [stdout] test test_handle_updated_order_event ... ok [INFO] [stdout] test test_multiple_strategy_positions_opened ... ok [INFO] [stdout] test test_order_filled_event_when_order_not_found_in_cache_logs ... ok [INFO] [stdout] test test_flip_position_on_flat_position_then_filled_reusing_position_id ... ok [INFO] [stdout] test test_own_book_order_status_filtering_parameterized::case_2 ... ok [INFO] [stdout] test test_own_book_order_status_filtering_parameterized::case_3 ... ok [INFO] [stdout] test test_order_updates_in_own_book ... ok [INFO] [stdout] test test_get_all_clients_with_registered_and_default ... ok [INFO] [stdout] test test_order_filled_with_unrecognized_strategy_id ... ok [INFO] [stdout] test test_own_book_combined_status_filtering ... ok [INFO] [stdout] test test_own_book_order_status_filtering_parameterized::case_1 ... ok [INFO] [stdout] test test_own_book_order_status_filtering_parameterized::case_4 ... ok [INFO] [stdout] test test_get_all_clients_with_registered_client ... ok [INFO] [stdout] test test_handle_duplicate_order_events_logs_error_and_does_not_apply ... ok [INFO] [stdout] test test_handle_multiple_partial_fill_events ... ok [INFO] [stdout] test test_handle_order_fill_event ... ok [INFO] [stdout] test test_own_book_order_status_filtering_parameterized::case_5 ... ok [INFO] [stdout] test test_own_book_order_status_filtering_parameterized::case_6 ... ok [INFO] [stdout] test test_handle_position_opening_with_position_id_none ... ok [INFO] [stdout] test test_reconcile_execution_mass_status_empty ... ok [INFO] [stdout] test test_reconcile_fill_report_order_not_found ... ok [INFO] [stdout] test test_purge_closed_orders_timer_fires_callback ... ok [INFO] [stdout] test test_own_book_status_filtering ... ok [INFO] [stdout] test test_reconcile_fill_report_applies_fill_event ... ok [INFO] [stdout] test test_reconcile_execution_mass_status_with_order_reports ... ok [INFO] [stdout] test test_reconcile_order_status_report_external_order_uses_claimed_strategy ... ok [INFO] [stdout] test test_reconcile_order_status_report_creates_external_order_accepted ... ok [INFO] [stdout] test test_reconcile_order_status_report_external_order_skipped_without_instrument ... ok [INFO] [stdout] test test_reconcile_fill_report_finds_order_by_venue_order_id ... ok [INFO] [stdout] test test_reconcile_order_status_report_finds_order_by_venue_order_id ... ok [INFO] [stdout] test test_own_book_status_integrity_during_transitions ... ok [INFO] [stdout] test test_own_book_with_contingent_orders ... ok [INFO] [stdout] test test_reconcile_order_status_report_external_order_adds_venue_order_id_index ... ok [INFO] [stdout] test test_own_book_with_crossed_orders ... ok [INFO] [stdout] test test_reconcile_order_status_report_generates_canceled_event ... ok [INFO] [stdout] test test_position_flip_with_own_order_book ... ok [INFO] [stdout] test test_process_event_with_no_venue_order_id_logs_and_does_nothing ... ok [INFO] [stdout] test test_reconcile_order_status_report_creates_external_order_when_filled ... ok [INFO] [stdout] test test_reconcile_order_status_report_no_event_when_in_sync ... ok [INFO] [stdout] test test_reconcile_position_report_hedging_mode_position_not_found ... ok [INFO] [stdout] test test_register_client_success ... ok [INFO] [stdout] test test_register_client_errors_on_duplicate_venue ... ok [INFO] [stdout] test test_set_position_id_counts_updates_correctly ... ok [INFO] [stdout] test test_reconcile_position_report_netting_mode ... ok [INFO] [stdout] test test_reconcile_order_status_report_order_not_in_cache ... ok [INFO] [stdout] test test_stop_purge_timers_cancels_timers ... ok [INFO] [stdout] test test_start_purge_timers_not_registered_when_unconfigured ... ok [INFO] [stdout] test test_submit_market_should_not_add_to_own_book ... ok [INFO] [stdout] test test_start_purge_timers_registers_when_configured ... ok [INFO] [stdout] test test_submit_ioc_fok_should_not_add_to_own_book::case_1 ... ok [INFO] [stdout] test test_submit_ioc_fok_should_not_add_to_own_book::case_2 ... ok [INFO] [stdout] test test_start_purge_timers_zero_interval_skipped ... ok [INFO] [stdout] test test_submit_order_for_random_venue_logs ... ok [INFO] [stdout] test test_register_venue_routing_success ... ok [INFO] [stdout] test test_submit_order_adds_to_own_book_ask ... ok [INFO] [stdout] test test_submit_bracket_order_list_with_all_duplicate_client_order_id_logs_does_not_submit ... ok [INFO] [stdout] test test_submit_order_list_with_no_client_denies_all_orders ... ok [INFO] [stdout] test test_submit_order_successfully_processes_and_caches_order ... ok [INFO] [stdout] test test_submit_order_adds_to_own_book_bid ... ok [INFO] [stdout] test test_submit_order_with_cleared_cache_logs_error ... ok [INFO] [stdout] test test_when_applying_event_to_order_with_invalid_state_trigger_logs ... ok [INFO] [stdout] test test_submit_order_with_duplicate_client_order_id_handles_gracefully ... ok [INFO] [stdout] test test_submit_order_with_no_client_denies_order ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 86 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/matching_engine.rs (/opt/rustwide/target/debug/deps/matching_engine-77eba4c4582f9393) [INFO] [stdout] [INFO] [stdout] running 111 tests [INFO] [stdout] test test_l1_bid_tracks_increasing_buyer_trade_prices ... ok [INFO] [stdout] test test_fok_order_canceled_when_liquidity_consumption_exhausts_fills::case_1 ... ok [INFO] [stdout] test test_gtd_order_partially_filled_then_expired ... ok [INFO] [stdout] test test_bid_ask_initialized ... ok [INFO] [stdout] test test_fok_order_canceled_when_liquidity_consumption_exhausts_fills::case_2 ... ok [INFO] [stdout] test test_l1_no_aggressor_trades_track_price ... ok [INFO] [stdout] test test_gtc_order_not_canceled_when_liquidity_consumption_exhausts_fills::case_1 ... ok [INFO] [stdout] test test_l1_queue_position_full_example ... ok [INFO] [stdout] test test_bar_execution_fills_stop_order ... ok [INFO] [stdout] test test_ioc_order_canceled_when_liquidity_consumption_exhausts_fills::case_2 ... ok [INFO] [stdout] test test_fully_filled_limit_order_removed_from_core ... ok [INFO] [stdout] test test_expire_order ... ok [INFO] [stdout] test test_l1_ask_tracks_decreasing_seller_trade_prices ... ok [INFO] [stdout] test test_ioc_order_canceled_when_liquidity_consumption_exhausts_fills::case_1 ... ok [INFO] [stdout] test test_gtc_order_not_canceled_when_liquidity_consumption_exhausts_fills::case_2 ... ok [INFO] [stdout] test test_l1_queue_position_at_bbo_trades_decrement_queue ... ok [INFO] [stdout] test test_l1_queue_position_bid_price_drop_clears_queue ... ok [INFO] [stdout] test test_l1_queue_position_deep_order_deferred_snapshot ... ok [INFO] [stdout] test test_l1_queue_position_pending_resolved_by_any_side_trade ... ok [INFO] [stdout] test test_l1_queue_position_trade_partial_does_not_fill ... ok [INFO] [stdout] test test_l1_queue_position_pending_not_stuck_after_zero_size_quote ... ok [INFO] [stdout] test test_liquidity_consumption_off_allows_repeated_fills::case_1 ... ok [INFO] [stdout] test test_l1_trade_only_no_initial_quote_ask_tracks_price ... ok [INFO] [stdout] test test_liquidity_consumption_resets_on_fresh_data::case_2 ... ok [INFO] [stdout] test test_liquidity_consumption_resets_on_fresh_data::case_1 ... ok [INFO] [stdout] test test_liquidity_consumption_tracks_fills_at_multiple_price_levels::case_1 ... ok [INFO] [stdout] test test_liquidity_consumption_tracks_fills_at_multiple_price_levels::case_2 ... ok [INFO] [stdout] test test_liquidity_consumption_off_allows_repeated_fills::case_2 ... ok [INFO] [stdout] test test_liquidity_consumption_unchanged_levels_stay_depleted::case_1 ... ok [INFO] [stdout] test test_l1_sequential_trades_alternating_aggressors ... ok [INFO] [stdout] test test_modify_limit_order_price_persists_to_core ... ignored [INFO] [stdout] test test_ouo_child_cancelled_when_parent_leaves_zero ... ignored [INFO] [stdout] test test_liquidity_consumption_tracks_fills_at_price_level::case_2 ... ok [INFO] [stdout] test test_market_if_touched_buy_fills_at_trigger_price_with_liquidity_consumption ... ok [INFO] [stdout] test test_market_if_touched_sell_fills_at_trigger_price ... ok [INFO] [stdout] test test_liquidity_consumption_tracks_fills_at_price_level::case_1 ... ok [INFO] [stdout] test test_market_if_touched_sell_fills_at_trigger_price_with_liquidity_consumption ... ok [INFO] [stdout] test test_market_order_with_acks_generates_accepted_then_filled ... ok [INFO] [stdout] test test_market_order_with_protection_and_acks_generates_accepted_then_filled ... ok [INFO] [stdout] test test_modify_partially_filled_order_quantity_below_filled_rejected ... ok [INFO] [stdout] test test_not_enough_quantity_filled_fok_order ... ok [INFO] [stdout] test test_price_protection_exact_boundary_fills ... ok [INFO] [stdout] test test_netting_mode_fills_have_no_position_id ... ok [INFO] [stdout] test test_process_cancel_all_command ... ignored [INFO] [stdout] test test_process_batch_cancel_command ... ok [INFO] [stdout] test test_process_cancel_command_order_not_found ... ok [INFO] [stdout] test test_process_cancel_command_valid ... ok [INFO] [stdout] test test_process_limit_if_touched_order_immediate_trigger_and_fill ... ok [INFO] [stdout] test test_process_limit_order_matched_immediate_fill ... ok [INFO] [stdout] test test_process_limit_order_not_matched_and_canceled_fok_order ... ok [INFO] [stdout] test test_process_modify_order_rejected_not_found ... ok [INFO] [stdout] test test_process_market_orders_with_protection_rejeceted_and_valid ... ok [INFO] [stdout] test test_process_market_to_limit_orders_not_fully_filled ... ok [INFO] [stdout] test test_process_monthly_bar_not_skipped ... ok [INFO] [stdout] test test_process_order_when_instrument_already_expired ... ok [INFO] [stdout] test test_process_market_if_touched_order_already_triggered ... ok [INFO] [stdout] test test_process_order_when_invalid_reduce_only ... ok [INFO] [stdout] test test_process_order_when_shorting_equity_without_margin_account ... ok [INFO] [stdout] test test_process_stop_limit_order_triggered_filled ... ok [INFO] [stdout] test test_process_limit_post_only_order_that_would_be_a_taker ... ok [INFO] [stdout] test test_process_order_when_invalid_trigger_price_precision ... ok [INFO] [stdout] test test_process_stop_market_order_triggered_rejected ... ok [INFO] [stdout] test test_process_order_rejection_no_refcell_reentrant_panic ... ok [INFO] [stdout] test test_process_order_when_closed_linked_order ... ok [INFO] [stdout] test test_process_stop_limit_order_triggered_not_filled ... ok [INFO] [stdout] test test_process_stop_market_order_valid_not_triggered_accepted ... ok [INFO] [stdout] test test_process_order_when_invalid_price_precision ... ok [INFO] [stdout] test test_process_order_when_invalid_quantity_precision ... ok [INFO] [stdout] test test_protection_filtered_fills_do_not_consume_liquidity ... ok [INFO] [stdout] test test_process_stop_orders_with_protection_both_accepted ... ok [INFO] [stdout] test test_process_yearly_bar_not_skipped ... ok [INFO] [stdout] test test_process_order_when_instrument_not_active ... ok [INFO] [stdout] test test_process_stop_market_order_valid_trigger_filled ... ok [INFO] [stdout] test test_process_trailing_stop_orders_rejeceted_and_valid ... ok [INFO] [stdout] test test_stale_trade_tick_does_not_mutate_book ... ok [INFO] [stdout] test test_settlement_price_used_on_contract_expiration ... ok [INFO] [stdout] test test_trade_execution_crossing_limit_fills_regardless_of_fill_model::case_2 ... ok [INFO] [stdout] test test_stale_quote_tick_does_not_mutate_book ... ok [INFO] [stdout] test test_rejected_modify_does_not_change_book_priority ... ok [INFO] [stdout] test test_stop_limit_triggered_not_filled_single_accept ... ok [INFO] [stdout] test test_trade_execution_fill_model_at_limit_with_prob_one_fills::case_1 ... ok [INFO] [stdout] test test_trade_execution_fill_model_at_limit_with_prob_zero_does_not_fill::case_2 ... ok [INFO] [stdout] test test_trade_execution_fill_model_rejection_still_applies_liquidity_consumption::case_2 ... ok [INFO] [stdout] test test_reduce_only_order_exceeding_position_quantity ... ok [INFO] [stdout] test test_trailing_stop_market_updated_then_triggered ... ignored [INFO] [stdout] test test_trade_execution_fill_model_rejection_still_applies_liquidity_consumption::case_1 ... ok [INFO] [stdout] test test_trade_execution_crossing_limit_fills_regardless_of_fill_model::case_1 ... ok [INFO] [stdout] test test_trade_tick_seeds_consumption_with_stale_entry_reconciles ... ok [INFO] [stdout] test test_trade_tick_seeds_consumption_when_book_ts_equals_trade_ts ... ok [INFO] [stdout] test test_process_order_when_invalid_contingent_orders ... ok [INFO] [stdout] test test_trade_tick_skips_seeding_when_book_already_updated ... ok [INFO] [stdout] test test_trade_execution_fill_model_at_limit_with_prob_one_fills::case_2 ... ok [INFO] [stdout] test test_trade_tick_seeds_consumption_for_seller_side ... ok [INFO] [stdout] test test_trade_tick_seeds_liquidity_consumption_for_stop_market_fill ... ok [INFO] [stdout] test test_update_market_if_touched_order_valid ... ok [INFO] [stdout] test test_update_stop_limit_order_valid_update_not_triggered ... ok [INFO] [stdout] test test_updating_of_contingent_orders ... ignored [INFO] [stdout] test test_triggered_stop_market_removed_from_matching_core_after_trade_trigger ... ok [INFO] [stdout] test test_update_limit_order_valid ... ok [INFO] [stdout] test test_updating_of_trailing_stop_market_order_with_no_trigger_price_set ... ok [INFO] [stdout] test test_bar_adaptive_ordering_fills_low_side_first ... ok [INFO] [stdout] test test_fully_filled_market_to_limit_not_in_core ... ok [INFO] [stdout] test test_valid_market_buy ... ok [INFO] [stdout] test test_liquidity_consumption_unchanged_levels_stay_depleted::case_2 ... ok [INFO] [stdout] test test_market_if_touched_buy_fills_at_trigger_price ... ok [INFO] [stdout] test test_process_market_order_no_market_rejected ... ok [INFO] [stdout] test test_update_limit_if_touched_order_valid ... ok [INFO] [stdout] test test_update_limit_order_post_only_matched ... ok [INFO] [stdout] test test_update_stop_market_order_valid ... ok [INFO] [stdout] test test_trade_execution_fill_model_at_limit_with_prob_zero_does_not_fill::case_1 ... ok [INFO] [stdout] test test_triggered_stop_limit_removed_from_core_after_fill ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 106 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/order_emulator.rs (/opt/rustwide/target/debug/deps/order_emulator-553be070f6a9dcaf) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_stop_limit_order_triggered_before_market_data_retains_command ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Doc-tests nautilus_execution [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "0b5e6a804c7a837c6391eca5ec8c28b28e8a0f997a96ed6a8b823842036dedc9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b5e6a804c7a837c6391eca5ec8c28b28e8a0f997a96ed6a8b823842036dedc9", kill_on_drop: false }` [INFO] [stdout] 0b5e6a804c7a837c6391eca5ec8c28b28e8a0f997a96ed6a8b823842036dedc9