[INFO] fetching crate tigeropen 0.3.0...
[INFO] testing tigeropen-0.3.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate tigeropen 0.3.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate tigeropen 0.3.0
[INFO] finished tweaking crates.io crate tigeropen 0.3.0
[INFO] tweaked toml for crates.io crate tigeropen 0.3.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tigeropen 0.3.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tigeropen 0.3.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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wiremock v0.5.22
[INFO] [stderr]   Downloaded waker-fn v1.2.0
[INFO] [stderr]   Downloaded infer v0.2.3
[INFO] [stderr]   Downloaded fastrand v1.9.0
[INFO] [stderr]   Downloaded deadpool v0.9.5
[INFO] [stderr]   Downloaded serde_qs v0.8.5
[INFO] [stderr]   Downloaded futures-lite v1.13.0
[INFO] [stderr]   Downloaded retain_mut v0.1.9
[INFO] [stderr]   Downloaded tokio-tungstenite v0.20.1
[INFO] [stderr]   Downloaded tungstenite v0.20.1
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.70
[INFO] [stderr]   Downloaded prost-build v0.13.5
[INFO] [stderr]   Downloaded prost-types v0.13.5
[INFO] [stderr]   Downloaded proptest v1.11.0
[INFO] [stderr]   Downloaded http-types v2.12.0
[INFO] [stderr]   Downloaded web-sys v0.3.97
[INFO] [stderr]   Downloaded petgraph v0.7.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 60cf8c821d9374f904e1120c1c254bdb9012eda18fdc201a0a4154f5d243df5f
[INFO] running `Command { std: "docker" "start" "-a" "60cf8c821d9374f904e1120c1c254bdb9012eda18fdc201a0a4154f5d243df5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "60cf8c821d9374f904e1120c1c254bdb9012eda18fdc201a0a4154f5d243df5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "60cf8c821d9374f904e1120c1c254bdb9012eda18fdc201a0a4154f5d243df5f", kill_on_drop: false }`
[INFO] [stdout] 60cf8c821d9374f904e1120c1c254bdb9012eda18fdc201a0a4154f5d243df5f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a57c45caf23059aa8da1cf2ac7a51dde98554cd6def8cf5d805cd64bf9f58531
[INFO] running `Command { std: "docker" "start" "-a" "a57c45caf23059aa8da1cf2ac7a51dde98554cd6def8cf5d805cd64bf9f58531", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling pem-rfc7468 v0.7.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling der v0.7.10
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling pkcs1 v0.7.5
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling mac_address v1.1.8
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling tigeropen v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tungstenite v0.20.1
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.20.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s
[INFO] running `Command { std: "docker" "inspect" "a57c45caf23059aa8da1cf2ac7a51dde98554cd6def8cf5d805cd64bf9f58531", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a57c45caf23059aa8da1cf2ac7a51dde98554cd6def8cf5d805cd64bf9f58531", kill_on_drop: false }`
[INFO] [stdout] a57c45caf23059aa8da1cf2ac7a51dde98554cd6def8cf5d805cd64bf9f58531
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1b7b87388e0a1024b5a937ca4a9698199e1bd78c61b83ceb1bb90caab0a23219
[INFO] running `Command { std: "docker" "start" "-a" "1b7b87388e0a1024b5a937ca4a9698199e1bd78c61b83ceb1bb90caab0a23219", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling serde_qs v0.8.5
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling retain_mut v0.1.9
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling infer v0.2.3
[INFO] [stderr]    Compiling tungstenite v0.20.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-bigint-dig v0.8.6
[INFO] [stderr]    Compiling mac_address v1.1.8
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rsa v0.9.10
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling deadpool v0.9.5
[INFO] [stderr]    Compiling tigeropen v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tokio-tungstenite v0.20.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling wiremock v0.5.22
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/config/config_parser.rs:243:5
[INFO] [stdout]     |
[INFO] [stdout] 243 | /     /// **Validates: Requirements 2.8, 10.7**
[INFO] [stdout] 244 | |     ///
[INFO] [stdout] 245 | |     /// Feature: multi-language-sdks, Property 1: Properties 配置文件解析 round-trip
[INFO] [stdout] 246 | |     ///
[INFO] [stdout] 247 | |     /// 对于任意有效的键值对集合，将其序列化为 Java properties 格式后再解析，
[INFO] [stdout] 248 | |     /// 得到的键值对集合应与原始集合等价。
[INFO] [stdout]     | |_____-------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/push/varint.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | /     /// Property 1: Varint32 encode/decode round-trip
[INFO] [stdout] 149 | |     /// For any Vec<u8> data (0..10000 bytes), encode_varint32(&data) then decode_varint32
[INFO] [stdout] 150 | |     /// should return the original data.
[INFO] [stdout] 151 | |     /// **Validates: Requirements 2.1, 2.2**
[INFO] [stdout]     | |_____---------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/push/varint.rs:162:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | /     /// Property 2: Varint32 chunked decode
[INFO] [stdout] 163 | |     /// For any data and random split point, encoding then splitting should still decode
[INFO] [stdout] 164 | |     /// correctly when all bytes are available.
[INFO] [stdout] 165 | |     /// **Validates: Requirements 2.4**
[INFO] [stdout]     | |_____----------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DataType`
[INFO] [stdout]    --> src/push/varint.rs:194:56
[INFO] [stdout]     |
[INFO] [stdout] 194 |         use super::super::pb::socket_common::{Command, DataType};
[INFO] [stdout]     |                                                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/push/proto_message.rs:239:5
[INFO] [stdout]     |
[INFO] [stdout] 239 | /     /// Property 4: Request ID strictly incrementing
[INFO] [stdout] 240 | |     /// Build N consecutive messages, each ID > previous ID.
[INFO] [stdout] 241 | |     /// **Validates: Requirements 3.4**
[INFO] [stdout]     | |_____----------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/push/proto_message.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 | /     /// Property 5: Subscribe/Unsubscribe message completeness
[INFO] [stdout] 263 | |     /// For any valid data_type i32, symbols, account, market — build_subscribe_message
[INFO] [stdout] 264 | |     /// and build_unsubscribe_message fields should match input.
[INFO] [stdout] 265 | |     /// **Validates: Requirements 5.1, 5.2, 5.3, 5.4, 11.3, 11.4**
[INFO] [stdout]     | |_____-------------------------------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/push/proto_message.rs:308:5
[INFO] [stdout]     |
[INFO] [stdout] 308 | /     /// Property 6: Connect message completeness
[INFO] [stdout] 309 | |     /// For any valid tiger_id, sign, etc. — build_connect_message fields should match input.
[INFO] [stdout] 310 | |     /// **Validates: Requirements 3.2, 11.1**
[INFO] [stdout]     | |_____----------------------------------------^
[INFO] [stdout]     |       |
[INFO] [stdout]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/push/proto_message.rs:259:9
[INFO] [stdout]     |
[INFO] [stdout] 259 |         (1..=12i32)
[INFO] [stdout]     |         ^         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 259 -         (1..=12i32)
[INFO] [stdout] 259 +         1..=12i32
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "1b7b87388e0a1024b5a937ca4a9698199e1bd78c61b83ceb1bb90caab0a23219", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b7b87388e0a1024b5a937ca4a9698199e1bd78c61b83ceb1bb90caab0a23219", kill_on_drop: false }`
[INFO] [stdout] 1b7b87388e0a1024b5a937ca4a9698199e1bd78c61b83ceb1bb90caab0a23219
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2fbda507da288337225fcbd1c0107f51c569650e90702f5152d02333f74ca566
[INFO] running `Command { std: "docker" "start" "-a" "2fbda507da288337225fcbd1c0107f51c569650e90702f5152d02333f74ca566", kill_on_drop: false }`
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/config/config_parser.rs:243:5
[INFO] [stderr]     |
[INFO] [stderr] 243 | /     /// **Validates: Requirements 2.8, 10.7**
[INFO] [stderr] 244 | |     ///
[INFO] [stderr] 245 | |     /// Feature: multi-language-sdks, Property 1: Properties 配置文件解析 round-trip
[INFO] [stderr] 246 | |     ///
[INFO] [stderr] 247 | |     /// 对于任意有效的键值对集合，将其序列化为 Java properties 格式后再解析，
[INFO] [stderr] 248 | |     /// 得到的键值对集合应与原始集合等价。
[INFO] [stderr]     | |_____-------------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/push/varint.rs:148:5
[INFO] [stderr]     |
[INFO] [stderr] 148 | /     /// Property 1: Varint32 encode/decode round-trip
[INFO] [stderr] 149 | |     /// For any Vec<u8> data (0..10000 bytes), encode_varint32(&data) then decode_varint32
[INFO] [stderr] 150 | |     /// should return the original data.
[INFO] [stderr] 151 | |     /// **Validates: Requirements 2.1, 2.2**
[INFO] [stderr]     | |_____---------------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/push/varint.rs:162:5
[INFO] [stderr]     |
[INFO] [stderr] 162 | /     /// Property 2: Varint32 chunked decode
[INFO] [stderr] 163 | |     /// For any data and random split point, encoding then splitting should still decode
[INFO] [stderr] 164 | |     /// correctly when all bytes are available.
[INFO] [stderr] 165 | |     /// **Validates: Requirements 2.4**
[INFO] [stderr]     | |_____----------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DataType`
[INFO] [stderr]    --> src/push/varint.rs:194:56
[INFO] [stderr]     |
[INFO] [stderr] 194 |         use super::super::pb::socket_common::{Command, DataType};
[INFO] [stderr]     |                                                        ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/push/proto_message.rs:239:5
[INFO] [stderr]     |
[INFO] [stderr] 239 | /     /// Property 4: Request ID strictly incrementing
[INFO] [stderr] 240 | |     /// Build N consecutive messages, each ID > previous ID.
[INFO] [stderr] 241 | |     /// **Validates: Requirements 3.4**
[INFO] [stderr]     | |_____----------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/push/proto_message.rs:262:5
[INFO] [stderr]     |
[INFO] [stderr] 262 | /     /// Property 5: Subscribe/Unsubscribe message completeness
[INFO] [stderr] 263 | |     /// For any valid data_type i32, symbols, account, market — build_subscribe_message
[INFO] [stderr] 264 | |     /// and build_unsubscribe_message fields should match input.
[INFO] [stderr] 265 | |     /// **Validates: Requirements 5.1, 5.2, 5.3, 5.4, 11.3, 11.4**
[INFO] [stderr]     | |_____-------------------------------------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/push/proto_message.rs:308:5
[INFO] [stderr]     |
[INFO] [stderr] 308 | /     /// Property 6: Connect message completeness
[INFO] [stderr] 309 | |     /// For any valid tiger_id, sign, etc. — build_connect_message fields should match input.
[INFO] [stderr] 310 | |     /// **Validates: Requirements 3.2, 11.1**
[INFO] [stderr]     | |_____----------------------------------------^
[INFO] [stderr]     |       |
[INFO] [stderr]     |       rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/push/proto_message.rs:259:9
[INFO] [stderr]     |
[INFO] [stderr] 259 |         (1..=12i32)
[INFO] [stderr]     |         ^         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 259 -         (1..=12i32)
[INFO] [stderr] 259 +         1..=12i32
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `tigeropen` (lib test) generated 8 warnings (run `cargo fix --lib -p tigeropen --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tigeropen-1047a6421644ef41)
[INFO] [stdout] 
[INFO] [stdout] running 229 tests
[INFO] [stdout] test client::api_request::tests::test_new_api_request_empty_biz_content ... ok
[INFO] [stdout] test client::api_request::tests::test_new_api_request ... ok
[INFO] [stdout] test client::api_request::tests::test_from_params_with_map ... ok
[INFO] [stdout] test client::api_request::tests::test_api_request_serialization ... ok
[INFO] [stdout] test client::api_response::tests::test_parse_error_response ... ok
[INFO] [stdout] test client::api_response::tests::test_parse_response_without_data_field ... ok
[INFO] [stdout] test client::api_response::tests::test_parse_response_with_null_data ... ok
[INFO] [stdout] test client::api_response::tests::test_parse_success_response ... ok
[INFO] [stdout] test client::errors::tests::test_classify_biz_param_error ... ok
[INFO] [stdout] test client::errors::tests::test_classify_token_error ... ok
[INFO] [stdout] test client::errors::tests::test_classify_unknown_error ... ok
[INFO] [stdout] test client::errors::tests::test_classify_trade_errors ... ok
[INFO] [stdout] test client::errors::tests::test_classify_permission_error ... ok
[INFO] [stdout] test client::errors::tests::test_classify_success ... ok
[INFO] [stdout] test client::errors::tests::test_classify_rate_limit ... ok
[INFO] [stdout] test client::api_response::tests::test_parse_invalid_json ... ok
[INFO] [stdout] test client::errors::tests::test_classify_common_param_error ... ok
[INFO] [stdout] test client::errors::tests::test_classify_quote_errors ... ok
[INFO] [stdout] test client::http_client::tests::test_user_agent ... ok
[INFO] [stdout] test client::retry::tests::test_backoff_capped_at_max ... ok
[INFO] [stdout] test client::retry::tests::test_backoff_sequence ... ok
[INFO] [stdout] test client::retry::tests::test_default_retry_policy ... ok
[INFO] [stdout] test client::retry::tests::test_is_trade_operation ... ok
[INFO] [stdout] test client::retry::tests::test_non_trade_operations_allow_retry ... ok
[INFO] [stdout] test client::retry::tests::test_trade_operations_skip_retry ... ok
[INFO] [stdout] test client::api_response::tests::api_response_error_returns_tiger_error ... ok
[INFO] [stdout] test client::retry::tests::exponential_backoff_calculation ... ok
[INFO] [stdout] test client::api_request::tests::api_request_construction_correctness ... ok
[INFO] [stdout] test client::retry::tests::trade_operations_skip_retry ... ok
[INFO] [stdout] test client::api_response::tests::api_response_success_returns_data ... ok
[INFO] [stdout] test client::errors::tests::error_code_classification_correctness ... ok
[INFO] [stdout] test config::client_config::tests::test_builder_defaults ... ok
[INFO] [stdout] test config::client_config::tests::test_builder_from_properties_file ... ok
[INFO] [stdout] test config::client_config::tests::test_builder_basic_fields ... ok
[INFO] [stdout] test config::client_config::tests::test_builder_missing_private_key ... ok
[INFO] [stdout] test config::client_config::tests::test_builder_missing_tiger_id ... ok
[INFO] [stdout] test config::client_config::tests::test_builder_optional_fields ... ok
[INFO] [stdout] test config::client_config::tests::test_env_overrides_builder ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_basic_key_value ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_colon_separator ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_comments ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_continuation ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_empty_content ... ok
[INFO] [stdout] test config::client_config::tests::test_env_only_overrides_when_set ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_empty_lines ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_nonexistent_file ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_properties_file ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_value_with_equals ... ok
[INFO] [stdout] test config::config_parser::tests::test_parse_trim_spaces ... ok
[INFO] [stdout] test config::token_manager::tests::test_load_token_file_not_found ... ok
[INFO] [stdout] test config::token_manager::tests::test_load_token ... ok
[INFO] [stdout] test config::token_manager::tests::test_set_then_load ... ok
[INFO] [stdout] test config::token_manager::tests::test_should_token_refresh_empty_token ... ok
[INFO] [stdout] test config::token_manager::tests::test_set_token ... ok
[INFO] [stdout] test config::token_manager::tests::test_should_token_refresh_expired ... ok
[INFO] [stdout] test config::token_manager::tests::test_should_token_refresh_invalid_token ... ok
[INFO] [stdout] test config::token_manager::tests::test_should_token_refresh_not_expired ... ok
[INFO] [stdout] test config::token_manager::tests::test_should_token_refresh_zero_duration ... ok
[INFO] [stdout] test config::token_manager::tests::test_with_refresh_duration_min_30 ... ok
[INFO] [stdout] test logger::tests::test_init_debug_no_panic ... ok
[INFO] [stdout] test logger::tests::test_init_default_no_panic ... ok
[INFO] [stdout] [2m2026-05-15T05:53:03.701040Z[0m [34mDEBUG[0m [2mtigeropen[0m[2m:[0m debug msg
[INFO] [stdout] [2m2026-05-15T05:53:03.701098Z[0m [32m INFO[0m [2mtigeropen[0m[2m:[0m info msg
[INFO] [stdout] [2m2026-05-15T05:53:03.701113Z[0m [33m WARN[0m [2mtigeropen[0m[2m:[0m warn msg
[INFO] [stdout] [2m2026-05-15T05:53:03.701125Z[0m [31mERROR[0m [2mtigeropen[0m[2m:[0m error msg
[INFO] [stdout] test logger::tests::test_log_macros_no_panic ... ok
[INFO] [stdout] test model::contract::tests::test_cash_contract ... ok
[INFO] [stdout] test model::contract::tests::test_contract_deserialize_from_api_json ... ok
[INFO] [stdout] test model::contract::tests::test_contract_json_round_trip_future ... ok
[INFO] [stdout] test model::contract::tests::test_contract_json_round_trip_option ... ok
[INFO] [stdout] test model::contract::tests::test_contract_json_round_trip_stock ... ok
[INFO] [stdout] test model::contract::tests::test_contract_serde_rename_field_names ... ok
[INFO] [stdout] test model::contract::tests::test_contract_skip_none_fields ... ok
[INFO] [stdout] test model::contract::tests::test_fund_contract ... ok
[INFO] [stdout] test model::contract::tests::test_future_contract ... ok
[INFO] [stdout] test model::contract::tests::test_option_contract ... ok
[INFO] [stdout] test model::contract::tests::test_option_contract_by_symbol ... ok
[INFO] [stdout] test model::contract::tests::test_stock_contract ... ok
[INFO] [stdout] test model::contract::tests::test_warrant_contract ... ok
[INFO] [stdout] test model::enums::tests::test_bar_period_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_bar_period_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_currency_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_currency_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_language_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_language_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_license_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_license_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_market_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_market_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_order_status_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_order_status_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_order_type_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_order_type_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_quote_right_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_quote_right_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_security_type_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_security_type_serialize ... ok
[INFO] [stdout] test model::enums::tests::test_time_in_force_deserialize ... ok
[INFO] [stdout] test model::enums::tests::test_time_in_force_serialize ... ok
[INFO] [stdout] test model::order::tests::test_limit_order_helper ... ok
[INFO] [stdout] test model::order::tests::test_market_order_helper ... ok
[INFO] [stdout] test model::order::tests::test_new_order_leg_helper ... ok
[INFO] [stdout] test model::order::tests::test_order_request_serializes_to_snake_case ... ok
[INFO] [stdout] test model::order::tests::test_order_request_skip_none_fields ... ok
[INFO] [stdout] test model::order::tests::test_order_response_parses_camel_case ... ok
[INFO] [stdout] test model::order::tests::test_stop_order_helper ... ok
[INFO] [stdout] test model::position::tests::test_position_deserialize_from_api_json ... ok
[INFO] [stdout] test model::position::tests::test_position_json_round_trip ... ok
[INFO] [stdout] test model::position::tests::test_position_serde_rename_field_names ... ok
[INFO] [stdout] test model::quote::tests::test_brief_deserialize ... ok
[INFO] [stdout] test model::quote::tests::test_depth_deserialize ... ok
[INFO] [stdout] test model::quote::tests::test_financial_daily_request_serializes_to_snake_case ... ok
[INFO] [stdout] test model::quote::tests::test_future_kline_request_serializes_to_snake_case ... ok
[INFO] [stdout] test model::quote::tests::test_kline_deserialize ... ok
[INFO] [stdout] test model::quote::tests::test_market_scanner_request_snake_case ... ok
[INFO] [stdout] test model::quote::tests::test_market_state_deserialize ... ok
[INFO] [stdout] test model::quote::tests::test_quote_permission_deserialize ... ok
[INFO] [stdout] test model::trade::tests::test_asset_deserialize ... ok
[INFO] [stdout] test model::trade::tests::test_order_id_result_deserialize ... ok
[INFO] [stdout] test model::trade::tests::test_place_order_result_deserialize ... ok
[INFO] [stdout] test model::trade::tests::test_preview_result_deserialize ... ok
[INFO] [stdout] test model::trade::tests::test_prime_asset_deserialize ... ok
[INFO] [stdout] test model::trade::tests::test_transaction_deserialize ... ok
[INFO] [stdout] test config::token_manager::tests::test_load_token_no_field ... ok
[INFO] [stdout] test push::proto_message::tests::prop_request_id_strictly_incrementing ... ok
[INFO] [stdout] test model::contract::tests::prop_contract_json_round_trip ... ok
[INFO] [stdout] test push::proto_message::tests::test_build_connect_message ... ok
[INFO] [stdout] test push::proto_message::tests::test_build_disconnect_message ... ok
[INFO] [stdout] test push::proto_message::tests::test_build_heartbeat_message ... ok
[INFO] [stdout] test push::proto_message::tests::test_build_subscribe_message ... ok
[INFO] [stdout] test push::proto_message::tests::test_build_unsubscribe_message ... ok
[INFO] [stdout] test push::proto_message::tests::test_request_id_increments ... ok
[INFO] [stdout] test push::proto_message::tests::test_subject_to_data_type_mapping ... ok
[INFO] [stdout] test push::tests::test_account_subscription_management ... ok
[INFO] [stdout] test push::tests::test_asset_callback ... ok
[INFO] [stdout] test push::tests::test_connected_response ... ok
[INFO] [stdout] test push::tests::test_depth_callback ... ok
[INFO] [stdout] test push::tests::test_disconnect_callback ... ok
[INFO] [stdout] test push::tests::test_disconnect_response_callback ... ok
[INFO] [stdout] test push::tests::test_error_callback ... ok
[INFO] [stdout] test push::tests::test_heartbeat_response_ignored ... ok
[INFO] [stdout] test push::tests::test_invalid_protobuf_triggers_error ... ok
[INFO] [stdout] test push::tests::test_kickout_callback ... ok
[INFO] [stdout] test push::tests::test_kline_callback ... ok
[INFO] [stdout] test push::tests::test_option_callback ... ok
[INFO] [stdout] test push::tests::test_order_callback ... ok
[INFO] [stdout] test push::tests::test_position_callback ... ok
[INFO] [stdout] test push::tests::test_quote_callback ... ok
[INFO] [stdout] test push::tests::test_stock_top_callback ... ok
[INFO] [stdout] test push::tests::test_subscription_state_management ... ok
[INFO] [stdout] test push::tests::test_transaction_callback ... ok
[INFO] [stdout] test config::client_config::tests::client_config_field_round_trip ... ok
[INFO] [stdout] test push::varint::tests::prop_request_frame_roundtrip ... ok
[INFO] [stdout] test config::client_config::tests::env_overrides_builder_values ... ok
[INFO] [stdout] test push::varint::tests::test_decode_empty_buffer ... ok
[INFO] [stdout] test push::varint::tests::test_decode_insufficient_body ... ok
[INFO] [stdout] test push::varint::tests::test_decode_insufficient_header ... ok
[INFO] [stdout] test push::varint::tests::test_decode_with_remaining ... ok
[INFO] [stdout] test push::varint::tests::test_encode_decode_128_bytes ... ok
[INFO] [stdout] test push::varint::tests::test_encode_decode_empty ... ok
[INFO] [stdout] test push::varint::tests::test_encode_decode_small ... ok
[INFO] [stdout] test config::config_parser::tests::properties_round_trip ... ok
[INFO] [stdout] test push::proto_message::tests::prop_subscribe_message_completeness ... ok
[INFO] [stdout] test push::proto_message::tests::prop_connect_message_completeness ... ok
[INFO] [stdout] test push::varint::tests::prop_varint32_chunked_decode ... ok
[INFO] [stdout] test push::varint::tests::prop_varint32_roundtrip ... ok
[INFO] [stdout] test client::http_client::tests::test_execute_rejects_invalid_json ... ok
[INFO] [stdout] test client::http_client::tests::test_execute_rejects_empty_api_method ... ok
[INFO] [stdout] test client::http_client::tests::test_execute_sends_request_and_returns_raw_response ... ok
[INFO] [stdout] test client::http_client::tests::test_execute_request_returns_api_error ... ok
[INFO] [stdout] test client::http_client::tests::test_execute_request_parses_success_response ... ok
[INFO] [stdout] test client::http_client::tests::test_no_authorization_header_without_token ... ok
[INFO] [stdout] test client::http_client::tests::test_authorization_header_with_token ... ok
[INFO] [stdout] test client::http_client::tests::generic_execute_rejects_invalid_json ... ok
[INFO] [stdout] test client::http_client::tests::generic_execute_request_construction ... ok
[INFO] [stdout] test client::http_client::tests::generic_execute_response_passthrough ... ok
[INFO] [stdout] test quote::tests::test_get_market_state_parses_typed ... ok
[INFO] [stdout] test quote::tests::test_get_financial_daily_wire_snake_case ... ok
[INFO] [stdout] test quote::tests::test_get_future_real_time_quote_sends_contract_codes ... ok
[INFO] [stdout] test quote::tests::test_get_corporate_action_flattens_grouped ... ok
[INFO] [stdout] test quote::tests::test_get_future_contracts_sends_exchange_code ... ok
[INFO] [stdout] test quote::tests::test_market_scanner_typed ... ok
[INFO] [stdout] test signer::sign_content::sign_content_test::tests::test_alphabetical_order ... ok
[INFO] [stdout] test signer::sign_content::sign_content_test::tests::test_basic_order ... ok
[INFO] [stdout] test signer::sign_content::sign_content_test::tests::test_empty_map ... ok
[INFO] [stdout] test signer::sign_content::sign_content_test::tests::test_full_api_params ... ok
[INFO] [stdout] test signer::sign_content::sign_content_test::tests::test_single_param ... ok
[INFO] [stdout] test quote::tests::test_get_future_kline_snake_case_wire ... ok
[INFO] [stdout] test signer::sign_content::sign_content_test::tests::test_special_characters_in_values ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_load_private_key_empty ... ok
[INFO] [stdout] test quote::tests::test_get_brief_uses_method_brief ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_load_private_key_invalid ... ok
[INFO] [stdout] test quote::tests::test_get_market_state_sends_snake_case_and_method ... ok
[INFO] [stdout] test quote::tests::test_get_capital_distribution_option_some ... ok
[INFO] [stdout] test quote::tests::test_get_kline_parses_typed ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_sign_with_rsa_invalid_key ... ok
[INFO] [stdout] test quote::tests::test_get_option_chain_sends_expiry_ms ... ok
[INFO] [stdout] test quote::tests::test_get_future_exchange_sends_sec_type_fut ... ok
[INFO] [stdout] test quote::tests::test_get_option_kline_uses_option_query_key ... ok
[INFO] [stdout] test quote::tests::test_get_financial_report_wire_snake_case ... ok
[INFO] [stdout] test quote::tests::test_get_option_brief_parses_identifier ... ok
[INFO] [stdout] test quote::tests::test_get_brief_parses_typed ... ok
[INFO] [stdout] test quote::tests::test_get_quote_depth_parses_typed ... ok
[INFO] [stdout] test quote::tests::test_quote_api_error ... ok
[INFO] [stdout] test signer::sign_content::sign_content_test::property_tests::sign_content_alphabetical_order ... ok
[INFO] [stdout] test quote::tests::test_grab_quote_permission_parses_typed ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_load_private_key_pkcs1 ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_load_private_key_pkcs8 ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_load_private_key_raw_base64 ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_sign_with_rsa_different_content_different_signature ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_sign_with_rsa_pkcs1 ... ok
[INFO] [stdout] test trade::tests::test_get_filled_orders_unwraps_items_typed ... ok
[INFO] [stdout] test trade::tests::test_cancel_order_wire_has_account_and_id ... ok
[INFO] [stdout] test trade::tests::test_get_contracts_unwraps_items_typed ... ok
[INFO] [stdout] test trade::tests::test_place_order_typed_returns_id_and_order_id ... ok
[INFO] [stdout] test trade::tests::test_get_quote_contract_wire_has_symbols_and_expiry ... ok
[INFO] [stdout] test trade::tests::test_get_assets_unwraps_items_typed ... ok
[INFO] [stdout] test trade::tests::test_get_filled_orders_wire_snake_case_dates ... ok
[INFO] [stdout] test trade::tests::test_get_contract_wire_snake_case ... ok
[INFO] [stdout] test trade::tests::test_get_positions_unwraps_items_typed ... ok
[INFO] [stdout] test trade::tests::test_get_contract_unwraps_items_typed ... ok
[INFO] [stdout] test trade::tests::test_cancel_order_typed ... ok
[INFO] [stdout] test trade::tests::test_get_order_transactions_unwraps_items_typed ... ok
[INFO] [stdout] test trade::tests::test_modify_order_wire_includes_id_and_account ... ok
[INFO] [stdout] test trade::tests::test_get_quote_contract_unwraps_items ... ok
[INFO] [stdout] test trade::tests::test_get_prime_assets_typed_no_items_wrap ... ok
[INFO] [stdout] test trade::tests::test_get_orders_unwraps_items_typed ... ok
[INFO] [stdout] test trade::tests::test_get_order_transactions_wire_snake_case ... ok
[INFO] [stdout] test trade::tests::test_place_order_wire_snake_case ... ok
[INFO] [stdout] test trade::tests::test_trade_api_error ... ok
[INFO] [stdout] test trade::tests::test_preview_order_typed ... ok
[INFO] [stdout] test signer::signer::signer_test::tests::test_sign_with_rsa_pkcs8 ... ok
[INFO] [stdout] test signer::signer::signer_test::property_tests::rsa_sign_verify_roundtrip has been running for over 60 seconds
[INFO] [stdout] test signer::signer::signer_test::property_tests::rsa_sign_verify_roundtrip ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 229 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 168.34s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tigeropen
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/logger.rs - logger (line 8) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.83s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2fbda507da288337225fcbd1c0107f51c569650e90702f5152d02333f74ca566", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2fbda507da288337225fcbd1c0107f51c569650e90702f5152d02333f74ca566", kill_on_drop: false }`
[INFO] [stdout] 2fbda507da288337225fcbd1c0107f51c569650e90702f5152d02333f74ca566
