[INFO] cloning repository https://github.com/KnaniOussama/TradeBot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KnaniOussama/TradeBot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKnaniOussama%2FTradeBot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKnaniOussama%2FTradeBot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 64f190421e62d8821a77efccb72e91d59ce98749 [INFO] testing KnaniOussama/TradeBot against 1.97.0-beta.6 for beta-1.98-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKnaniOussama%2FTradeBot" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/KnaniOussama/TradeBot [INFO] finished tweaking git repo https://github.com/KnaniOussama/TradeBot [INFO] tweaked toml for git repo https://github.com/KnaniOussama/TradeBot written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/KnaniOussama/TradeBot on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/KnaniOussama/TradeBot 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rkyv_derive v0.7.46 [INFO] [stderr] Downloaded borsh-derive v1.7.0 [INFO] [stderr] Downloaded rustls-pki-types v1.15.0 [INFO] [stderr] Downloaded h2 v0.4.15 [INFO] [stderr] Downloaded borsh v1.7.0 [INFO] [stderr] Downloaded solana-sanitize v3.0.1 [INFO] [stderr] Downloaded solana-transaction-error v3.3.1 [INFO] [stderr] Downloaded solana-signer v3.0.1 [INFO] [stderr] Downloaded solana-instruction-error v2.4.0 [INFO] [stderr] Downloaded solana-program-error v3.0.1 [INFO] [stderr] Downloaded solana-signature v3.4.1 [INFO] [stderr] Downloaded pastey v0.2.3 [INFO] [stderr] Downloaded wincode-derive v0.4.6 [INFO] [stderr] Downloaded rkyv v0.7.46 [INFO] [stderr] Downloaded solana-instruction v3.4.0 [INFO] [stderr] Downloaded predicates-core v1.0.10 [INFO] [stderr] Downloaded solana-transaction v4.1.5 [INFO] [stderr] Downloaded solana-seed-phrase v3.0.0 [INFO] [stderr] Downloaded difflib v0.4.0 [INFO] [stderr] Downloaded normalize-line-endings v0.3.0 [INFO] [stderr] Downloaded float-cmp v0.10.0 [INFO] [stderr] Downloaded five8_core v1.0.0 [INFO] [stderr] Downloaded five8_const v1.0.0 [INFO] [stderr] Downloaded solana-short-vec v3.2.2 [INFO] [stderr] Downloaded solana-keypair v3.1.2 [INFO] [stderr] Downloaded rust_decimal v1.42.1 [INFO] [stderr] Downloaded solana-define-syscall v5.1.0 [INFO] [stderr] Downloaded solana-sdk-ids v3.1.0 [INFO] [stderr] Downloaded solana-hash v4.4.0 [INFO] [stderr] Downloaded wincode v0.5.5 [INFO] [stderr] Downloaded five8 v1.0.0 [INFO] [stderr] Downloaded solana-pubkey v4.2.0 [INFO] [stderr] Downloaded predicates v3.1.4 [INFO] [stderr] Downloaded solana-address v2.6.1 [INFO] [stderr] Downloaded tokio-tungstenite v0.29.0 [INFO] [stderr] Downloaded solana-message v4.2.4 [INFO] [stderr] Downloaded tungstenite v0.29.0 [INFO] [stderr] Downloaded termtree v0.5.1 [INFO] [stderr] Downloaded assert_cmd v2.2.2 [INFO] [stderr] Downloaded predicates-tree v1.0.13 [INFO] [stderr] Downloaded bstr v1.12.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0 [INFO] running `Command { std: "docker" "start" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0", 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" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0", 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" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling log v0.4.33 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling wincode v0.5.5 [INFO] [stderr] Compiling five8_core v1.0.0 [INFO] [stderr] Compiling pastey v0.2.3 [INFO] [stderr] Compiling rustls-pki-types v1.15.0 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling solana-sanitize v3.0.1 [INFO] [stderr] Compiling rust_decimal v1.42.1 [INFO] [stderr] Compiling five8 v1.0.0 [INFO] [stderr] Compiling solana-program-error v3.0.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling arrayvec v0.7.8 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling five8_const v1.0.0 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [INFO] [stderr] Compiling webpki-roots v1.0.8 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling base64ct v1.8.3 [INFO] [stderr] Compiling solana-instruction-error v2.4.0 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling solana-transaction-error v3.3.1 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling blake2 v0.10.6 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling password-hash v0.5.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling bs58 v0.5.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling rustls v0.23.41 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling argon2 v0.5.3 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling rust-embed-utils v8.11.0 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling tungstenite v0.29.0 [INFO] [stderr] Compiling rust-embed-impl v8.11.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling tracing-serde v0.2.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.45 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling rust-embed v8.11.0 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling wincode-derive v0.4.6 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-tungstenite v0.29.0 [INFO] [stderr] Compiling tradebot-common v0.1.0 (/opt/rustwide/workdir/crates/common) [INFO] [stderr] Compiling tower-http v0.6.11 [INFO] [stderr] Compiling tradebot-storage v0.1.0 (/opt/rustwide/workdir/crates/storage) [INFO] [stderr] Compiling tradebot-config v0.1.0 (/opt/rustwide/workdir/crates/config) [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling solana-address v2.6.1 [INFO] [stderr] Compiling solana-hash v4.4.0 [INFO] [stderr] Compiling solana-signature v3.4.1 [INFO] [stderr] Compiling solana-short-vec v3.2.2 [INFO] [stderr] Compiling solana-pubkey v4.2.0 [INFO] [stderr] Compiling solana-sdk-ids v3.1.0 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling solana-instruction v3.4.0 [INFO] [stderr] Compiling solana-signer v3.0.1 [INFO] [stderr] Compiling solana-message v4.2.4 [INFO] [stderr] Compiling solana-transaction v4.1.5 [INFO] [stderr] Compiling tradebot-data v0.1.0 (/opt/rustwide/workdir/crates/data) [INFO] [stderr] Compiling tradebot-signals v0.1.0 (/opt/rustwide/workdir/crates/signals) [INFO] [stderr] Compiling tradebot-core v0.1.0 (/opt/rustwide/workdir/crates/core) [INFO] [stderr] Compiling tradebot-wallet v0.1.0 (/opt/rustwide/workdir/crates/wallet) [INFO] [stderr] Compiling tradebot-execution v0.1.0 (/opt/rustwide/workdir/crates/execution) [INFO] [stderr] Compiling tradebot-backtest v0.1.0 (/opt/rustwide/workdir/crates/backtest) [INFO] [stderr] Compiling tradebot-engine v0.1.0 (/opt/rustwide/workdir/crates/engine) [INFO] [stderr] Compiling tradebot-dashboard v0.1.0 (/opt/rustwide/workdir/crates/dashboard) [INFO] [stderr] Compiling tradebot v0.1.0 (/opt/rustwide/workdir/crates/tradebot) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.34s [INFO] running `Command { std: "docker" "inspect" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0", 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" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling solana-signature v3.4.1 [INFO] [stderr] Compiling solana-hash v4.4.0 [INFO] [stderr] Compiling solana-instruction v3.4.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling pbkdf2 v0.11.0 [INFO] [stderr] Compiling tungstenite v0.24.0 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling solana-message v4.2.4 [INFO] [stderr] Compiling solana-signer v3.0.1 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling solana-seed-phrase v3.0.0 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling assert_cmd v2.2.2 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling solana-keypair v3.1.2 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling h2 v0.4.15 [INFO] [stderr] Compiling solana-transaction v4.1.5 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling tokio-tungstenite v0.29.0 [INFO] [stderr] Compiling tokio-tungstenite v0.24.0 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tower-http v0.6.11 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.4 [INFO] [stderr] Compiling bstr v1.12.3 [INFO] [stderr] Compiling hyper v1.10.1 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tradebot-common v0.1.0 (/opt/rustwide/workdir/crates/common) [INFO] [stderr] Compiling tradebot-storage v0.1.0 (/opt/rustwide/workdir/crates/storage) [INFO] [stderr] Compiling tradebot-config v0.1.0 (/opt/rustwide/workdir/crates/config) [INFO] [stderr] Compiling hyper-rustls v0.27.9 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling tradebot-data v0.1.0 (/opt/rustwide/workdir/crates/data) [INFO] [stderr] Compiling tradebot-signals v0.1.0 (/opt/rustwide/workdir/crates/signals) [INFO] [stderr] Compiling tradebot-core v0.1.0 (/opt/rustwide/workdir/crates/core) [INFO] [stderr] Compiling tradebot-wallet v0.1.0 (/opt/rustwide/workdir/crates/wallet) [INFO] [stderr] Compiling tradebot-execution v0.1.0 (/opt/rustwide/workdir/crates/execution) [INFO] [stderr] Compiling tradebot-backtest v0.1.0 (/opt/rustwide/workdir/crates/backtest) [INFO] [stderr] Compiling tradebot-engine v0.1.0 (/opt/rustwide/workdir/crates/engine) [INFO] [stderr] Compiling tradebot-dashboard v0.1.0 (/opt/rustwide/workdir/crates/dashboard) [INFO] [stderr] Compiling tradebot v0.1.0 (/opt/rustwide/workdir/crates/tradebot) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 21s [INFO] running `Command { std: "docker" "inspect" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0", 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" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.61s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tradebot-6c95eeac238c172d) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-2cf6e7c04f458fd0) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test init_creates_default_config ... ok [INFO] [stdout] test init_refuses_overwrite ... ok [INFO] [stdout] test start_missing_config_aborts ... ok [INFO] [stdout] test wallet_generate_refuses_overwrite ... ok [INFO] [stdout] test start_real_without_confirm_aborts ... ok [INFO] [stdout] test wallet_no_passphrase_aborts ... ok [INFO] [stdout] test start_demo_runs_a_few_cycles_offline ... ok [INFO] [stdout] test wallet_generate_creates_keystore ... ok [INFO] [stdout] test wallet_show_prints_address ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_backtest-26d7683bd34f8ae8) [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.53s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test data_loader::tests::empty_csv_raises ... ok [INFO] [stdout] test data_loader::tests::missing_columns_raises ... ok [INFO] [stdout] test data_loader::tests::load_csv_bytes_roundtrips ... ok [INFO] [stdout] test data_loader::tests::load_csv_path_reads_rows ... ok [INFO] [stdout] test data_loader::tests::unsorted_timestamps_get_sorted ... ok [INFO] [stdout] test metrics::tests::empty_equity_curve_returns_defaults ... ok [INFO] [stdout] test executor::tests::sell_realizes_pnl ... ok [INFO] [stdout] test metrics::tests::sharpe_nonzero_with_returns ... ok [INFO] [stdout] test runner::tests::final_equity_reflects_trades ... ok [INFO] [stdout] test executor::tests::buy_reduces_cash_and_creates_position ... ok [INFO] [stdout] test executor::tests::fee_and_slippage_applied ... ok [INFO] [stdout] test metrics::tests::win_loss_counted_from_round_trips ... ok [INFO] [stdout] test metrics::tests::max_drawdown_computed_correctly ... ok [INFO] [stdout] test runner::tests::strong_bull_signal_triggers_entry ... ok [INFO] [stdout] test runner::tests::warmup_bars_skipped ... ok [INFO] [stdout] test runner::tests::result_has_equity_curve_and_trades ... ok [INFO] [stdout] test metrics::tests::total_return_positive ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/metrics_parity.rs (/opt/rustwide/target/debug/deps/metrics_parity-e71dab8a32af3429) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/regime_backtest.rs (/opt/rustwide/target/debug/deps/regime_backtest-a3b495c7c94ded85) [INFO] [stdout] test compute_metrics_matches_python_golden ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test kelly_on_vs_off_both_complete ... ok [INFO] [stdout] test regime_filter_on_vs_off_both_complete ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/runner_parity.rs (/opt/rustwide/target/debug/deps/runner_parity-d0dc1f9ef9279229) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test runner_matches_python_default_threshold ... ok [INFO] [stdout] test runner_matches_python_active_threshold ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_common-288578041fb03ee4) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test money::tests::money_arithmetic_is_exact ... ok [INFO] [stdout] test money::tests::money_deserializes_from_json_number ... ok [INFO] [stdout] test types::tests::mode_display_matches_serialization ... ok [INFO] [stdout] test logging::tests::unknown_level_falls_back_to_info ... ok [INFO] [stdout] test logging::tests::parses_known_levels_case_insensitively ... ok [INFO] [stdout] test types::tests::mode_serializes_lowercase ... ok [INFO] [stdout] test types::tests::timeframe_roundtrips_through_tokens ... ok [INFO] [stdout] test types::tests::timeframe_seconds ... ok [INFO] [stdout] test money::tests::money_serializes_as_json_number ... ok [INFO] [stdout] test logging::tests::init_logging_does_not_panic_when_called_twice ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_config-1af5446ca89ce717) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stderr] Running tests/parity.rs (/opt/rustwide/target/debug/deps/parity-221e4f8a8571677c) [INFO] [stdout] test models::tests::weights_accept_normalized ... ok [INFO] [stdout] test models::tests::risk_config_rejects_inverted_size_range ... ok [INFO] [stdout] test models::tests::risk_config_defaults_match_python ... ok [INFO] [stdout] test models::tests::app_config_ignores_unknown_fields ... ok [INFO] [stdout] test defaults::tests::default_timeframes_preserve_python_insertion_order ... ok [INFO] [stdout] test models::tests::app_config_applies_defaults_from_minimal_json ... ok [INFO] [stdout] test models::tests::watchlist_rejects_duplicate_symbols ... ok [INFO] [stdout] test models::tests::watchlist_entry_rejects_bad_decimals ... ok [INFO] [stdout] test models::tests::watchlist_entry_rejects_short_mint ... ok [INFO] [stdout] test models::tests::watchlist_entry_accepts_valid ... ok [INFO] [stdout] test defaults::tests::default_signals_preserve_python_insertion_order ... ok [INFO] [stdout] test models::tests::weights_reject_unnormalized ... ok [INFO] [stdout] test models::tests::whale_entry_defaults_label_to_empty ... ok [INFO] [stdout] test models::tests::weights_timeframes_preserve_json_insertion_order ... ok [INFO] [stdout] test models::tests::whales_config_default_is_disabled ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test rust_default_matches_python_default ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/roundtrip.rs (/opt/rustwide/target/debug/deps/roundtrip-883da9547a8d4493) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test load_missing_file_is_not_found ... ok [INFO] [stdout] test load_invalid_json_errors ... ok [INFO] [stdout] test save_and_load_roundtrip ... ok [INFO] [stdout] test default_config_is_valid_and_has_expected_fields ... ok [INFO] [stdout] test load_schema_violation_errors ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_core-264a613491bc3d5f) [INFO] [stdout] [INFO] [stdout] running 75 tests [INFO] [stdout] test decision::tests::kelly_sizing_fallback_on_no_history ... ok [INFO] [stdout] test decision::tests::chop_regime_blocks_entry ... ok [INFO] [stdout] test decision::tests::kill_switch_blocks_entries_but_allows_exits ... ok [INFO] [stdout] test decision::tests::missing_regime_allows_entry ... ok [INFO] [stdout] test decision::tests::kelly_sizing_uses_stats_when_sufficient_history ... ok [INFO] [stdout] test decision::tests::observation_emitted_for_blocked_chop ... ok [INFO] [stdout] test decision::tests::observation_emitted_for_buy ... ok [INFO] [stdout] test decision::tests::observation_has_correct_fields ... ok [INFO] [stdout] test decision::tests::per_trade_kill_emits_exit ... ok [INFO] [stdout] test decision::tests::signal_flip_in_profit_emits_exit ... ok [INFO] [stdout] test aggregator::tests::single_timeframe_signal_uses_full_signal_weight ... ok [INFO] [stdout] test aggregator::tests::records_per_signal_scores ... ok [INFO] [stdout] test aggregator::tests::skips_unknown_signal_weight ... ok [INFO] [stdout] test aggregator::tests::multi_timeframe_signal_averages_by_tf_weight ... ok [INFO] [stdout] test aggregator::tests::clamps_to_unit_range ... ok [INFO] [stdout] test decision::tests::trending_up_regime_allows_entry ... ok [INFO] [stdout] test aggregator::tests::combines_two_signals_one_timeframe ... ok [INFO] [stdout] test aggregator::tests::mixed_signals_combine_correctly ... ok [INFO] [stdout] test decision::tests::take_profit_ladder_only_fires_once_per_position ... ok [INFO] [stdout] test decision::tests::weak_signal_no_action ... ok [INFO] [stdout] test decision::tests::strong_signal_no_position_emits_enter ... ok [INFO] [stdout] test decision::tests::trailing_stop_emits_exit ... ok [INFO] [stdout] test decision::tests::regime_filter_disabled_allows_entry_in_chop ... ok [INFO] [stdout] test manual_actions::tests::empty_reason_defaults_to_manual_sell ... ok [INFO] [stdout] test manual_actions::tests::multiple_requests_drain_in_order ... ok [INFO] [stdout] test portfolio::tests::equity_marks_missing_uses_avg_entry ... ok [INFO] [stdout] test manual_actions::tests::queue_starts_empty ... ok [INFO] [stdout] test manual_actions::tests::request_exit_appends_and_drain_clears ... ok [INFO] [stdout] test portfolio::tests::apply_buy_reduces_cash_creates_position ... ok [INFO] [stdout] test portfolio::tests::apply_buy_then_buy_averages_entry ... ok [INFO] [stdout] test portfolio::tests::apply_sell_realizes_pnl_and_closes ... ok [INFO] [stdout] test portfolio::tests::charge_gas_deducts_and_tracks_total ... ok [INFO] [stdout] test decision::tests::observation_emitted_for_low_composite ... ok [INFO] [stdout] test portfolio::tests::charge_gas_insufficient_raises ... ok [INFO] [stdout] test portfolio::tests::charge_gas_negative_raises ... ok [INFO] [stdout] test decision::tests::take_profit_ladder_triggers_partial_exit ... ok [INFO] [stdout] test portfolio::tests::charge_gas_zero_is_noop ... ok [INFO] [stdout] test portfolio::tests::drawdown_tracked_from_high_water_mark ... ok [INFO] [stdout] test portfolio::tests::equity_uses_marks ... ok [INFO] [stdout] test portfolio::tests::equity_uses_fallback_sol_price_when_mark_missing ... ok [INFO] [stdout] test portfolio::tests::partial_sell_keeps_position_and_realizes_pnl ... ok [INFO] [stdout] test portfolio::tests::portfolio_seed_from_state ... ok [INFO] [stdout] test portfolio::tests::new_portfolio_all_cash ... ok [INFO] [stdout] test portfolio::tests::oversell_raises ... ok [INFO] [stdout] test portfolio::tests::equity_includes_sol_balance_at_mark ... ok [INFO] [stdout] test portfolio::tests::sol_balance_seeded_from_constructor ... ok [INFO] [stdout] test regime::tests::classify_chop_on_flat_candles ... ok [INFO] [stdout] test regime::tests::ewm_adjust_false_matches_pandas_at_production_alpha ... ok [INFO] [stdout] test regime::tests::ewm_adjust_false_matches_pandas_reference_vectors ... ok [INFO] [stdout] test risk::tests::drawdown_circuit_trips_kill_switch ... ok [INFO] [stdout] test portfolio::tests::portfolio_state_roundtrip_preserves_sol ... ok [INFO] [stdout] test risk::tests::daily_loss_limit_pauses_until_next_day ... ok [INFO] [stdout] test regime::tests::classify_returns_neutral_on_short_data ... ok [INFO] [stdout] test regime::tests::classify_trending_up_on_uptrend_fixture ... ok [INFO] [stdout] test regime::tests::classify_trending_down_on_downtrend_fixture ... ok [INFO] [stdout] test portfolio::tests::sell_without_position_raises ... ok [INFO] [stdout] test risk::tests::per_trade_kill_returns_close_action ... ok [INFO] [stdout] test risk::tests::evaluate_buy_accepts_basic ... ok [INFO] [stdout] test regime::tests::regime_adx_field_populated ... ok [INFO] [stdout] test risk::tests::record_trade_increments_counter ... ok [INFO] [stdout] test risk::tests::evaluate_buy_rejects_existing_position_for_same_pair ... ok [INFO] [stdout] test risk::tests::risk_state_record_roundtrip ... ok [INFO] [stdout] test risk::tests::size_scales_with_confidence ... ok [INFO] [stdout] test sizing::tests::compute_kelly_stats_all_losses ... ok [INFO] [stdout] test risk::tests::evaluate_buy_rejects_when_max_concurrent_positions ... ok [INFO] [stdout] test sizing::tests::kelly_size_clamps_at_max_fraction ... ok [INFO] [stdout] test risk::tests::evaluate_buy_rejects_high_slippage ... ok [INFO] [stdout] test risk::tests::evaluate_buy_rejects_when_daily_trade_cap_hit ... ok [INFO] [stdout] test sizing::tests::kelly_size_confidence_zero_returns_min_fraction ... ok [INFO] [stdout] test sizing::tests::kelly_size_falls_back_on_insufficient_history ... ok [INFO] [stdout] test sizing::tests::kelly_size_uses_kelly_when_sufficient_history ... ok [INFO] [stdout] test sizing::tests::compute_kelly_stats_all_wins ... ok [INFO] [stdout] test sizing::tests::compute_kelly_stats_basic ... ok [INFO] [stdout] test sizing::tests::compute_kelly_stats_empty ... ok [INFO] [stdout] test aggregator::tests::combines_two_timeframes ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 75 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/regime_parity.rs (/opt/rustwide/target/debug/deps/regime_parity-8818a503fde6e9d6) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test regime_classifier_matches_python_reference ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_dashboard-75e5766874807a38) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test backtest_store::tests::store_starts_empty ... ok [INFO] [stdout] test backtest_store::tests::add_then_list_is_newest_first ... ok [INFO] [stdout] test backtest_store::tests::drops_oldest_beyond_max ... ok [INFO] [stdout] test backtest_store::tests::get_by_id_finds_result ... ok [INFO] [stdout] test config_broker::tests::update_saves_and_reloads ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/control.rs (/opt/rustwide/target/debug/deps/control-77244e9b5bc66bba) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test control_state_is_merged_into_api_state ... ok [INFO] [stdout] test post_control_updates_and_echoes_state ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/server.rs (/opt/rustwide/target/debug/deps/server-71aed8ddecf4d6f6) [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test config_routes_absent_without_broker ... ok [INFO] [stdout] test manual_sell_404_for_pair_with_no_open_position ... ok [INFO] [stderr] Running tests/ws.rs (/opt/rustwide/target/debug/deps/ws-de04d53103e90936) [INFO] [stdout] test get_state_returns_latest_after_publish ... ok [INFO] [stdout] test manual_sell_routes_absent_without_manual_actions ... ok [INFO] [stdout] test get_state_returns_empty_object_before_any_publish ... ok [INFO] [stdout] test get_index_serves_html ... ok [INFO] [stdout] test get_config_returns_current ... ok [INFO] [stdout] test post_config_validates_and_saves ... ok [INFO] [stdout] test manual_sell_enqueues_into_manual_action_queue ... ok [INFO] [stdout] test post_invalid_config_returns_400 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test websocket_sends_latest_snapshot_immediately_on_connect ... ok [INFO] [stdout] test websocket_receives_published_snapshot ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_data-73eb125ed9505bb2) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test helius::tests::parse_swap_tx_returns_none_when_wallet_not_in_transfers ... ok [INFO] [stdout] test helius::tests::parse_swap_tx_extracts_legs ... ok [INFO] [stdout] test helius::tests::parse_swap_tx_returns_none_for_zero_amount ... ok [INFO] [stdout] test helius::tests::filter_for_mint_keeps_only_matching ... ok [INFO] [stdout] test ohlcv::tests::bucket_for_floors_to_minute ... ok [INFO] [stdout] test ohlcv::tests::bucket_for_floors_to_hour ... ok [INFO] [stdout] test rate_limiter::tests::initial_burst_does_not_block ... ok [INFO] [stdout] test rate_limiter::tests::recent_rps_window ... ok [INFO] [stdout] test rate_limiter::tests::record_429_updates_metrics ... ok [INFO] [stdout] test rate_limiter::tests::acquire_records_metrics ... ok [INFO] [stdout] test rate_limiter::tests::sustained_rate_caps_throughput ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s [INFO] [stderr] Running tests/birdeye_tests.rs (/opt/rustwide/target/debug/deps/birdeye_tests-d6abcfb845f3d6bb) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test multi_price_empty_input_short_circuits ... ok [INFO] [stdout] test multi_price_returns_empty_on_persistent_429 ... ok [INFO] [stdout] test multi_price_skips_entries_without_value ... ok [INFO] [stdout] test multi_price_returns_map ... ok [INFO] [stdout] test multi_price_returns_empty_when_unsuccessful ... ok [INFO] [stdout] test falls_back_to_single_price_on_401_and_stays_locked ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/helius_tests.rs (/opt/rustwide/target/debug/deps/helius_tests-0fd0f1e7b1d6fe4a) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test get_recent_swaps_returns_empty_on_http_error ... ok [INFO] [stdout] test recent_token_transfers_http_error ... ok [INFO] [stdout] test recent_token_transfers_parses_fixture ... ok [INFO] [stdout] test get_recent_swaps_parses_response ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/jupiter_tests.rs (/opt/rustwide/target/debug/deps/jupiter_tests-c99dd598495d330f) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test quote_http_error_raises ... ok [INFO] [stdout] test build_swap_http_error ... ok [INFO] [stdout] test build_swap_returns_serialized_tx ... ok [INFO] [stdout] test quote_implied_price_helper ... ok [INFO] [stdout] test quote_parses_response ... ok [INFO] [stdout] test quote_with_limiter_acquires_token ... ok [INFO] [stdout] test quote_retries_on_429_then_succeeds ... ok [INFO] [stdout] test quote_gives_up_after_max_retries ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.29s [INFO] [stdout] [INFO] [stderr] Running tests/ohlcv_tests.rs (/opt/rustwide/target/debug/deps/ohlcv_tests-d5f090c369c56226) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test aggregator_writes_one_candle_per_bucket ... ok [INFO] [stdout] test aggregator_separates_pairs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/prices_tests.rs (/opt/rustwide/target/debug/deps/prices_tests-5b0162a12c315fa9) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test price_feed_emits_tick ... ok [INFO] [stdout] test price_feed_multiple_subscribers_get_same_tick ... ok [INFO] [stdout] test price_feed_stop_terminates_run ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running tests/rpc_tests.rs (/opt/rustwide/target/debug/deps/rpc_tests-3cc668b19aeebba1) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test confirm_signature_success ... ok [INFO] [stdout] test send_raw_transaction_returns_signature ... ok [INFO] [stdout] test rpc_json_error_raises ... ok [INFO] [stdout] test confirm_signature_fails_on_err ... ok [INFO] [stdout] test get_balance_lamports_parses_response ... ok [INFO] [stdout] test get_token_accounts_by_owner_parses_response ... ok [INFO] [stdout] test get_balance_sol_converts_from_lamports ... ok [INFO] [stdout] test get_latest_blockhash_parses_response ... ok [INFO] [stdout] test confirm_signature_times_out ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_engine-8caed20501f0579f) [INFO] [stdout] [INFO] [stdout] running 22 tests [INFO] [stdout] test snapshot::tests::annotate_dca_buy_after_open_tags_add ... ok [INFO] [stdout] test snapshot::tests::annotate_open_then_full_close_tags_close_badge_and_pnl ... ok [INFO] [stdout] test hub::tests::hub_starts_with_no_snapshot ... ok [INFO] [stdout] test hub::tests::publish_updates_latest ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_includes_positions ... ok [INFO] [stdout] test hub::tests::subscriber_receives_published_snapshot ... ok [INFO] [stdout] test hub::tests::multiple_subscribers_each_receive ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_limiter_none_by_default ... ok [INFO] [stdout] test r#loop::tests::pick_regime_timeframe_picks_strict_max ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_signal_scores ... ok [INFO] [stdout] test r#loop::tests::pick_regime_timeframe_is_first_wins_on_ties ... ok [INFO] [stdout] test snapshot::tests::annotate_open_then_partial_sell_tags_trim_and_keeps_lineage ... ok [INFO] [stdout] test hub::tests::full_subscriber_drops_oldest_silently ... ok [INFO] [stdout] test hub::tests::dropped_receiver_does_not_block_publish ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_decisions_empty_by_default ... ok [INFO] [stdout] test snapshot::tests::snapshot_serializes_to_json ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_minimal ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_limiter_metrics_roundtrip ... ok [INFO] [stdout] test r#loop::tests::pick_regime_timeframe_empty_is_none ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_includes_decisions_newest_first_and_capped ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_includes_recent_trades ... ok [INFO] [stdout] test snapshot::tests::build_snapshot_equity_history ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/loop_tests.rs (/opt/rustwide/target/debug/deps/loop_tests-8a5b2e585e301c6d) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test one_cycle_publishes_to_hub ... ok [INFO] [stdout] test one_cycle_persists_portfolio_risk_and_mark_history ... ok [INFO] [stdout] test one_cycle_writes_equity_snapshot ... ok [INFO] [stdout] test one_cycle_buffers_observations ... ok [INFO] [stdout] test one_cycle_enters_position ... ok [INFO] [stdout] test one_cycle_publishes_decisions_in_snapshot ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_execution-177ee112341f2b9a) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test gas::tests::negative_inputs_raise ... ok [INFO] [stderr] Running tests/demo_tests.rs (/opt/rustwide/target/debug/deps/demo_tests-1d1a2cee33fde085) [INFO] [stdout] test gas::tests::priority_fee_scales_with_compute_units ... ok [INFO] [stdout] test units::tests::from_units_scales_down ... ok [INFO] [stdout] test units::tests::round_trip_is_exact_for_clean_amounts ... ok [INFO] [stdout] test units::tests::to_units_scales_and_truncates ... ok [INFO] [stdout] test gas::tests::realistic_solana_priority_fee_returns_micro_sol ... ok [INFO] [stdout] test gas::tests::zero_priority_fee_is_just_base ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test demo_unknown_pair_raises ... ok [INFO] [stdout] test demo_persists_trade ... ok [INFO] [stdout] test demo_buy_simulates_fill ... ok [INFO] [stdout] test demo_rejects_when_drift_exceeds_max_slippage ... ok [INFO] [stdout] test demo_charges_sol_gas_on_fill ... ok [INFO] [stdout] test demo_rejects_when_sol_balance_zero ... ok [INFO] [stdout] test demo_sell_returns_quote_to_cash ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running tests/real_tests.rs (/opt/rustwide/target/debug/deps/real_tests-ba6e023ac783106a) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test real_rejects_unknown_pair ... ok [INFO] [stdout] test real_rejects_high_slippage ... ok [INFO] [stdout] test real_buy_full_path ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running tests/signing_tests.rs (/opt/rustwide/target/debug/deps/signing_tests-9a2c2f936a5cbacf) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test default_signer_sign_and_send_submits_signed_transaction ... ok [INFO] [stdout] test default_signer_sign_and_send_submits_signed_v0_transaction ... ok [INFO] [stdout] test deserialize_sign_reserialize_roundtrip ... ok [INFO] [stdout] test v0_deserialize_sign_reserialize_roundtrip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_signals-2813917133902d47) [INFO] [stdout] [INFO] [stdout] running 38 tests [INFO] [stdout] test base::tests::clamp_score_handles_inf ... ok [INFO] [stdout] test base::tests::clamp_score_handles_nan ... ok [INFO] [stdout] test base::tests::clamp_score_clips_to_range ... ok [INFO] [stdout] test base::tests::signal_score_rejects_out_of_range ... ok [INFO] [stdout] test microstructure::tests::vwap_deviation_at_vwap_zero ... ok [INFO] [stdout] test microstructure::tests::vwap_deviation_above_vwap_negative ... ok [INFO] [stdout] test base::tests::rolling_zscore_normal_case ... ok [INFO] [stdout] test base::tests::rolling_zscore_zero_variance ... ok [INFO] [stdout] test microstructure::tests::volume_zscore_surge_with_down_close_negative ... ok [INFO] [stdout] test onchain::tests::transfer_count_zscore_surge_positive ... ok [INFO] [stdout] test microstructure::tests::volume_zscore_surge_with_up_close_positive ... ok [INFO] [stdout] test ta::tests::rsi_score_oversold_positive ... ok [INFO] [stdout] test ta::tests::rsi_score_overbought_negative ... ok [INFO] [stdout] test base::tests::signal_score_holds_fields ... ok [INFO] [stdout] test base::tests::market_context_minimal ... ok [INFO] [stdout] test onchain::tests::net_whale_flow_balanced_near_zero ... ok [INFO] [stdout] test onchain::tests::net_whale_flow_inflow_to_dex_negative ... ok [INFO] [stdout] test onchain::tests::net_whale_flow_outflow_from_dex_positive ... ok [INFO] [stdout] test ta::tests::ta_signal_insufficient_data_returns_zero ... ok [INFO] [stdout] test ta::tests::ta_signal_missing_timeframe_returns_zero ... ok [INFO] [stdout] test whale_follow::tests::decay_makes_old_swap_count_less ... ok [INFO] [stdout] test whale_activity::tests::fetch_all_noop_when_no_wallets ... ok [INFO] [stdout] test whale_follow::tests::no_swaps_returns_zero ... ok [INFO] [stdout] test whale_follow::tests::old_swap_outside_lookback_ignored ... ok [INFO] [stdout] test whale_follow::tests::score_balanced_buy_and_sell_returns_zero ... ok [INFO] [stdout] test whale_activity::tests::unmatched_swaps_excludes_watched_mints ... ok [INFO] [stdout] test microstructure::tests::microstructure_signal_no_quote_returns_partial ... ok [INFO] [stdout] test microstructure::tests::microstructure_signal_thin_market_emits_score ... ok [INFO] [stdout] test onchain::tests::onchain_signal_helius_failure_returns_neutral ... ok [INFO] [stdout] test whale_follow::tests::score_sell_swap_is_negative ... ok [INFO] [stdout] test whale_follow::tests::score_protocol_returns_zero_for_other_pair ... ok [INFO] [stdout] test whale_follow::tests::score_buy_swap_is_positive ... ok [INFO] [stdout] test whale_follow::tests::unrelated_swap_does_not_contribute ... ok [INFO] [stdout] test whale_activity::tests::fetch_all_populates_history_newest_first ... ok [INFO] [stdout] test onchain::tests::onchain_signal_bullish_whale_outflow ... ok [INFO] [stdout] test whale_activity::tests::fetch_all_dedupes_across_cycles ... ok [INFO] [stdout] test whale_activity::tests::fetch_all_skips_failed_wallet_and_continues ... ok [INFO] [stdout] test microstructure::tests::microstructure_caches_depth_within_cycle ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Running tests/ta_parity.rs (/opt/rustwide/target/debug/deps/ta_parity-f7eca161b7492ec0) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test ta_signal_matches_python_reference ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_storage-9d7711cb666a1bd6) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test atomic::tests::read_missing_returns_default ... ok [INFO] [stdout] test time::tests::formats_like_python_isoformat_without_fraction ... ok [INFO] [stdout] test time::tests::parses_z_and_offset_suffixes ... ok [INFO] [stdout] test atomic::tests::read_existing_returns_parsed ... ok [INFO] [stdout] test atomic::tests::read_corrupted_returns_default ... ok [INFO] [stdout] test atomic::tests::write_creates_file ... ok [INFO] [stdout] test atomic::tests::write_creates_parent_dirs ... ok [INFO] [stdout] test atomic::tests::write_leaves_no_temp_file ... ok [INFO] [stdout] test atomic::tests::write_overwrites_safely ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/parity.rs (/opt/rustwide/target/debug/deps/parity-80d5a2fe0fa4501a) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test python_portfolio_fixture_loads_correctly ... ok [INFO] [stdout] test python_trades_fixture_loads_correctly ... ok [INFO] [stdout] test python_ohlcv_fixture_loads_correctly ... ok [INFO] [stdout] test python_risk_state_fixture_loads_correctly ... ok [INFO] [stdout] test round_trip_python_portfolio_through_rust ... ok [INFO] [stdout] test round_trip_python_risk_state_through_rust ... ok [INFO] [stdout] test round_trip_python_trades_through_rust ... ok [INFO] [stdout] test round_trip_python_ohlcv_through_rust ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/repo.rs (/opt/rustwide/target/debug/deps/repo-22571c0eb9f8b248) [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test round_trip_returns_empty_when_no_trades ... ok [INFO] [stdout] test load_risk_state_missing_returns_none ... ok [INFO] [stdout] test load_mark_history_missing_returns_empty ... ok [INFO] [stdout] test load_portfolio_state_missing_returns_none ... ok [INFO] [stdout] test save_and_load_mark_history ... ok [INFO] [stdout] test save_and_load_risk_state ... ok [INFO] [stdout] test save_and_load_portfolio_state ... ok [INFO] [stdout] test filename_safe_for_pair_with_slash ... ok [INFO] [stdout] test append_and_list_trades_newest_first ... ok [INFO] [stdout] test list_trades_filters_by_mode ... ok [INFO] [stdout] test round_trip_returns_basic ... ok [INFO] [stdout] test round_trip_returns_filters_by_pair ... ok [INFO] [stdout] test upsert_ohlcv_replaces_same_bucket ... ok [INFO] [stdout] test append_and_list_equity_snapshots_chronological ... ok [INFO] [stdout] test append_and_load_ohlcv ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tradebot_wallet-9bb2711c76863fc2) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test keystore::tests::load_missing_file_raises ... ok [INFO] [stdout] test keypair::tests::generate_returns_address_and_secret ... ok [INFO] [stdout] test keypair::tests::signing_key_pubkey_matches_address ... ok [INFO] [stdout] test balance::tests::get_token_balance_no_account_returns_zero ... ok [INFO] [stdout] test balance::tests::get_sol_balance_reads_lamports_as_sol ... ok [INFO] [stdout] test reconcile::tests::low_sol_balance_is_flagged ... ok [INFO] [stdout] test reconcile::tests::balance_fixtures_load_end_to_end ... ok [INFO] [stdout] test reconcile::tests::flags_missing_position ... ok [INFO] [stdout] test balance::tests::get_token_balance_sums_existing_accounts ... ok [INFO] [stdout] test reconcile::tests::matches_returns_no_findings ... ok [INFO] [stdout] test reconcile::tests::flags_unexpected_balance ... ok [INFO] [stdout] test keypair::tests::sign_produces_valid_signature ... ok [INFO] [stdout] test keystore::tests::corrupted_blob_raises ... ok [INFO] [stdout] test keystore::tests::blob_does_not_contain_plaintext_secret ... ok [INFO] [stdout] test keypair::tests::load_with_wrong_passphrase_fails ... ok [INFO] [stdout] test keystore::tests::round_trip_encrypt_decrypt ... ok [INFO] [stdout] test keypair::tests::save_and_load_roundtrip ... ok [INFO] [stdout] test keystore::tests::save_and_load_roundtrip ... ok [INFO] [stdout] test keystore::tests::wrong_passphrase_raises ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 28.51s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_backtest [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_common [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_config [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_core [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_dashboard [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_data [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_engine [INFO] [stderr] Doc-tests tradebot_execution [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_signals [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_storage [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests tradebot_wallet [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0", kill_on_drop: false }` [INFO] [stdout] b2800f26bf542f2c21013e7852eee330482521b1da14bf405d79f18702cf04c0