[INFO] fetching crate okx 0.2.3...
[INFO] testing okx-0.2.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate okx 0.2.3 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate okx 0.2.3
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate okx 0.2.3
[INFO] tweaked toml for crates.io crate okx 0.2.3 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate okx 0.2.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate okx 0.2.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376
[INFO] running `Command { std: "docker" "start" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling cc v1.2.34
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling indexmap v2.11.0
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling ordered-multimap v0.7.3
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling rust-ini v0.20.0
[INFO] [stderr]    Compiling yaml-rust2 v0.8.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling bitflags v2.9.3
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.17
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling config v0.14.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling okx v0.2.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `json_err`
[INFO] [stdout]   --> src/debug_helper.rs:68:30
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Error::JsonError(json_err) => {
[INFO] [stdout]    |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `smg`
[INFO] [stdout]   --> src/debug_helper.rs:73:49
[INFO] [stdout]    |
[INFO] [stdout] 73 |             Error::OkxApiError { code, message, smg } => {
[INFO] [stdout]    |                                                 ^^^ help: try ignoring the field: `smg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sign_str`
[INFO] [stdout]    --> src/websocket/auto_reconnect_client.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let sign_str = format!("{}GET/users/self/verify", timestamp);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reconnect_config`
[INFO] [stdout]   --> src/websocket/manager.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let reconnect_config = ReconnectConfig {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconnect_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OkxApiErrorResponse` is never constructed
[INFO] [stdout]   --> src/client.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct OkxApiErrorResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `business_client` are never read
[INFO] [stdout]   --> src/websocket/manager.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct OkxWebsocketManager {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 55 |     config: ManagerConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     business_client: Option<Arc<Mutex<AutoReconnectWebsocketClient>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `config`
[INFO] [stderr]   --> Cargo.toml:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 | [dependencies.config]
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `config`
[INFO] [stderr] warning: `okx` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling jiff v0.2.15
[INFO] [stderr]    Compiling colored v3.0.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper v1.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling mockito v1.7.0
[INFO] [stderr]    Compiling okx v0.2.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `json_err`
[INFO] [stdout]   --> src/debug_helper.rs:68:30
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Error::JsonError(json_err) => {
[INFO] [stdout]    |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `smg`
[INFO] [stdout]   --> src/debug_helper.rs:73:49
[INFO] [stdout]    |
[INFO] [stdout] 73 |             Error::OkxApiError { code, message, smg } => {
[INFO] [stdout]    |                                                 ^^^ help: try ignoring the field: `smg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sign_str`
[INFO] [stdout]    --> src/websocket/auto_reconnect_client.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let sign_str = format!("{}GET/users/self/verify", timestamp);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reconnect_config`
[INFO] [stdout]   --> src/websocket/manager.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let reconnect_config = ReconnectConfig {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconnect_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OkxApiErrorResponse` is never constructed
[INFO] [stdout]   --> src/client.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct OkxApiErrorResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `business_client` are never read
[INFO] [stdout]   --> src/websocket/manager.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct OkxWebsocketManager {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 55 |     config: ManagerConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     business_client: Option<Arc<Mutex<AutoReconnectWebsocketClient>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_err`
[INFO] [stdout]   --> src/debug_helper.rs:68:30
[INFO] [stdout]    |
[INFO] [stdout] 68 |             Error::JsonError(json_err) => {
[INFO] [stdout]    |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `smg`
[INFO] [stdout]   --> src/debug_helper.rs:73:49
[INFO] [stdout]    |
[INFO] [stdout] 73 |             Error::OkxApiError { code, message, smg } => {
[INFO] [stdout]    |                                                 ^^^ help: try ignoring the field: `smg: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OkxMarket`
[INFO] [stdout]  --> examples/order.rs:3:29
[INFO] [stdout]   |
[INFO] [stdout] 3 | use okx::{Error, OkxClient, OkxMarket, OkxTrade};
[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 import: `serde_json::json`
[INFO] [stdout]  --> examples/order.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `okx::api::api_trait::OkxApiTrait`
[INFO] [stdout]  --> examples/announcements.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use okx::api::api_trait::OkxApiTrait;
[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 variable: `sign_str`
[INFO] [stdout]    --> src/websocket/auto_reconnect_client.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let sign_str = format!("{}GET/users/self/verify", timestamp);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reconnect_config`
[INFO] [stdout]   --> src/websocket/manager.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let reconnect_config = ReconnectConfig {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconnect_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OkxApiErrorResponse` is never constructed
[INFO] [stdout]   --> src/client.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct OkxApiErrorResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config` and `business_client` are never read
[INFO] [stdout]   --> src/websocket/manager.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct OkxWebsocketManager {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 55 |     config: ManagerConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     business_client: Option<Arc<Mutex<AutoReconnectWebsocketClient>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `config`
[INFO] [stderr]   --> Cargo.toml:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 | [dependencies.config]
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `config`
[INFO] [stderr] warning: `okx` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 56.99s
[INFO] running `Command { std: "docker" "inspect" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `json_err`
[INFO] [stderr]   --> src/debug_helper.rs:68:30
[INFO] [stderr]    |
[INFO] [stderr] 68 |             Error::JsonError(json_err) => {
[INFO] [stderr]    |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_err`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `smg`
[INFO] [stderr]   --> src/debug_helper.rs:73:49
[INFO] [stderr]    |
[INFO] [stderr] 73 |             Error::OkxApiError { code, message, smg } => {
[INFO] [stderr]    |                                                 ^^^ help: try ignoring the field: `smg: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sign_str`
[INFO] [stderr]    --> src/websocket/auto_reconnect_client.rs:487:13
[INFO] [stderr]     |
[INFO] [stderr] 487 |         let sign_str = format!("{}GET/users/self/verify", timestamp);
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sign_str`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reconnect_config`
[INFO] [stderr]   --> src/websocket/manager.rs:78:13
[INFO] [stderr]    |
[INFO] [stderr] 78 |         let reconnect_config = ReconnectConfig {
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reconnect_config`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `OkxApiErrorResponse` is never constructed
[INFO] [stderr]   --> src/client.rs:22:8
[INFO] [stderr]    |
[INFO] [stderr] 22 | struct OkxApiErrorResponse {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `config` and `business_client` are never read
[INFO] [stderr]   --> src/websocket/manager.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub struct OkxWebsocketManager {
[INFO] [stderr]    |            ------------------- fields in this struct
[INFO] [stderr] 55 |     config: ManagerConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     business_client: Option<Arc<Mutex<AutoReconnectWebsocketClient>>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `okx` (lib) generated 6 warnings (run `cargo fix --lib -p okx` to apply 4 suggestions)
[INFO] [stderr] warning: unused import: `OkxMarket`
[INFO] [stderr]  --> examples/order.rs:3:29
[INFO] [stderr]   |
[INFO] [stderr] 3 | use okx::{Error, OkxClient, OkxMarket, OkxTrade};
[INFO] [stderr]   |                             ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::json`
[INFO] [stderr]  --> examples/order.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde_json::json;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `okx::api::api_trait::OkxApiTrait`
[INFO] [stderr]  --> examples/announcements.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use okx::api::api_trait::OkxApiTrait;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `okx` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: `okx` (example "order") generated 2 warnings (run `cargo fix --example "order" -p okx` to apply 2 suggestions)
[INFO] [stderr] warning: `okx` (example "announcements") generated 1 warning
[INFO] [stderr] warning: unused dependency `config`
[INFO] [stderr]   --> Cargo.toml:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 | [dependencies.config]
[INFO] [stderr]    |               ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `config`
[INFO] [stderr] warning: `okx` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.29s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/okx/d88d76c4238cffcd/out/okx-d88d76c4238cffcd)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test api::trade::trade_api::tests::test_place_order ... ignored, requires real OKX credentials and places a live order
[INFO] [stdout] test dto::account::account_dto::tests::parses_account_config_from_okx_config_response ... ok
[INFO] [stdout] test api::account::account_api::tests::test_get_positions ... FAILED
[INFO] [stdout] test dto::trade::trade_dto::tests::serializes_cancel_order_request_without_null_optional_fields ... ok
[INFO] [stdout] test api::account::account_api::tests::test_get_balance ... FAILED
[INFO] [stdout] test api::asset::asset_api::tests::test_transfer ... FAILED
[INFO] [stdout] test dto::trade::trade_dto::tests::serializes_order_request_without_null_optional_fields ... ok
[INFO] [stdout] test api::account::account_api::tests::test_get_config ... FAILED
[INFO] [stdout] test api::public_data::public_data_api::tests::test_get_instruments ... FAILED
[INFO] [stdout] test api::market::market_api::tests::test_get_candles ... FAILED
[INFO] [stdout] test websocket::client::tests::test_unsubscribe ... FAILED
[INFO] [stdout] test api::public_data::public_data_api::tests::test_get_economic_calendar ... FAILED
[INFO] [stdout] test api::market::market_api::tests::test_get_ticker ... FAILED
[INFO] [stdout] test api::asset::asset_api::tests::test_get_balances ... FAILED
[INFO] [stdout] test debug_helper::tests::test_pretty_print_json ... ok
[INFO] [stdout] test websocket::client::tests::test_subscribe ... FAILED
[INFO] [stdout] test api::trade::trade_api::tests::place_multiple_orders_accepts_order_dtos ... ok
[INFO] [stdout] test api::trade::trade_api::tests::cancel_multiple_orders_accepts_cancel_order_dtos ... ok
[INFO] [stdout] test api::public_data::public_data_api::tests::test_get_time ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- api::account::account_api::tests::test_get_positions stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::account::account_api::tests::test_get_positions' (4107) panicked at src/api/account/account_api.rs:231:45:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: ConfigError("缺少环境变量: OKX_SIMULATED_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec794bdc6 - okx[c2bfac284f29724f]::api::account::account_api::tests::test_get_positions::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec7950b6e - <okx[c2bfac284f29724f]::api::account::account_api::tests::test_get_positions::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::account::account_api::tests::test_get_balance stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::account::account_api::tests::test_get_balance' (4105) panicked at src/api/account/account_api.rs:224:45:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: ConfigError("缺少环境变量: OKX_SIMULATED_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec79497d6 - okx[c2bfac284f29724f]::api::account::account_api::tests::test_get_balance::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec7950a0e - <okx[c2bfac284f29724f]::api::account::account_api::tests::test_get_balance::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::asset::asset_api::tests::test_transfer stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::asset::asset_api::tests::test_transfer' (4109) panicked at src/api/asset/asset_api.rs:251:42:
[INFO] [stdout] 无法从环境变量创建资产API: ConfigError("缺少环境变量: OKX_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec7906340 - okx[c2bfac284f29724f]::api::asset::asset_api::tests::test_transfer::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec790a85e - <okx[c2bfac284f29724f]::api::asset::asset_api::tests::test_transfer::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::account::account_api::tests::test_get_config stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::account::account_api::tests::test_get_config' (4106) panicked at src/api/account/account_api.rs:238:45:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: ConfigError("缺少环境变量: OKX_SIMULATED_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec79475b5 - okx[c2bfac284f29724f]::api::account::account_api::tests::test_get_config::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec79508ae - <okx[c2bfac284f29724f]::api::account::account_api::tests::test_get_config::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::public_data::public_data_api::tests::test_get_instruments stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::public_data::public_data_api::tests::test_get_instruments' (4113) panicked at src/api/public_data/public_data_api.rs:206:53:
[INFO] [stdout] 无法从环境变量创建公共数据API: ConfigError("缺少环境变量: OKX_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec78f7b52 - okx[c2bfac284f29724f]::api::public_data::public_data_api::tests::test_get_instruments::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec78fdb1e - <okx[c2bfac284f29724f]::api::public_data::public_data_api::tests::test_get_instruments::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::market::market_api::tests::test_get_candles stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::market::market_api::tests::test_get_candles' (4110) panicked at src/api/market/market_api.rs:208:44:
[INFO] [stdout] 无法从环境变量创建市场API: ConfigError("缺少环境变量: OKX_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec791393c - okx[c2bfac284f29724f]::api::market::market_api::tests::test_get_candles::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec791622e - <okx[c2bfac284f29724f]::api::market::market_api::tests::test_get_candles::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- websocket::client::tests::test_unsubscribe stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'websocket::client::tests::test_unsubscribe' (4123) panicked at src/websocket/client.rs:588:47:
[INFO] [stdout] OKX_API_KEY 未设置: NotPresent
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec7924606 - okx[c2bfac284f29724f]::websocket::client::tests::test_unsubscribe::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec7925fad - <okx[c2bfac284f29724f]::websocket::client::tests::test_unsubscribe::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::public_data::public_data_api::tests::test_get_economic_calendar stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::public_data::public_data_api::tests::test_get_economic_calendar' (4112) panicked at src/api/public_data/public_data_api.rs:213:53:
[INFO] [stdout] 无法从环境变量创建公共数据API: ConfigError("缺少环境变量: OKX_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec78fa4ee - okx[c2bfac284f29724f]::api::public_data::public_data_api::tests::test_get_economic_calendar::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec78fdc7e - <okx[c2bfac284f29724f]::api::public_data::public_data_api::tests::test_get_economic_calendar::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::market::market_api::tests::test_get_ticker stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::market::market_api::tests::test_get_ticker' (4111) panicked at src/api/market/market_api.rs:200:44:
[INFO] [stdout] 无法从环境变量创建市场API: ConfigError("缺少环境变量: OKX_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec7911193 - okx[c2bfac284f29724f]::api::market::market_api::tests::test_get_ticker::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec79160ce - <okx[c2bfac284f29724f]::api::market::market_api::tests::test_get_ticker::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- api::asset::asset_api::tests::test_get_balances stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'api::asset::asset_api::tests::test_get_balances' (4108) panicked at src/api/asset/asset_api.rs:244:42:
[INFO] [stdout] 无法从环境变量创建资产API: ConfigError("缺少环境变量: OKX_API_KEY")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec790876a - okx[c2bfac284f29724f]::api::asset::asset_api::tests::test_get_balances::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec790aa7e - <okx[c2bfac284f29724f]::api::asset::asset_api::tests::test_get_balances::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- websocket::client::tests::test_subscribe stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'websocket::client::tests::test_subscribe' (4122) panicked at src/websocket/client.rs:576:45:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: WebSocketError("连接WebSocket失败: IO error: failed to lookup address information: Temporary failure in name resolution")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f8ec7dc4761 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5f8ec7ddd52a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5f8ec7dcab5c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5f8ec7d9f7a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5f8ec7dbc649 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5f8ec7b5e0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5f8ec7dbc972 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5f8ec7d9f852 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5f8ec7d98249 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5f8ec7da06ed - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5f8ec7dddd0c - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5f8ec7dddae2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5f8ec7923d07 - okx[c2bfac284f29724f]::websocket::client::tests::test_subscribe::{closure#0}
[INFO] [stdout]   13:     0x5f8ec7951813 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5f8ec797eb6c - <tokio[3501d8cebcfdd363]::runtime::context::scoped::Scoped<tokio[3501d8cebcfdd363]::runtime::scheduler::Context>>::set::<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5f8ec79510f5 - <tokio[3501d8cebcfdd363]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   16:     0x5f8ec79372e2 - <tokio[3501d8cebcfdd363]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   17:     0x5f8ec7925e4d - <okx[c2bfac284f29724f]::websocket::client::tests::test_subscribe::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   18:     0x5f8ec7b5153b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   19:     0x5f8ec7b5e715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   20:     0x5f8ec7b58004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   21:     0x5f8ec7b617a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   22:     0x5f8ec7dc3c0f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   23:     0x726cc8c32dfa - <unknown>
[INFO] [stdout]   24:     0x726cc8cc63d4 - clone
[INFO] [stdout]   25:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     api::account::account_api::tests::test_get_balance
[INFO] [stdout]     api::account::account_api::tests::test_get_config
[INFO] [stdout]     api::account::account_api::tests::test_get_positions
[INFO] [stdout]     api::asset::asset_api::tests::test_get_balances
[INFO] [stdout]     api::asset::asset_api::tests::test_transfer
[INFO] [stdout]     api::market::market_api::tests::test_get_candles
[INFO] [stdout]     api::market::market_api::tests::test_get_ticker
[INFO] [stdout]     api::public_data::public_data_api::tests::test_get_economic_calendar
[INFO] [stdout]     api::public_data::public_data_api::tests::test_get_instruments
[INFO] [stdout]     websocket::client::tests::test_subscribe
[INFO] [stdout]     websocket::client::tests::test_unsubscribe
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 7 passed; 11 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376", kill_on_drop: false }`
[INFO] [stdout] 7799532ca89a2167e014f473e7d8052c8e6e65440ebca72baa62063f292a9376
