[INFO] cloning repository https://github.com/5queezer/chartgen [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/5queezer/chartgen" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F5queezer%2Fchartgen", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F5queezer%2Fchartgen'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f8778ad164df40cfa188429fa901709ef0a252be [INFO] testing 5queezer/chartgen against beta-2026-04-21 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F5queezer%2Fchartgen" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/5queezer/chartgen [INFO] finished tweaking git repo https://github.com/5queezer/chartgen [INFO] tweaked toml for git repo https://github.com/5queezer/chartgen written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/5queezer/chartgen on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/5queezer/chartgen 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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1cd48b1103249d873ed1422c10446e0d9de66d53e2ec1fb57662b8952b194172 [INFO] running `Command { std: "docker" "start" "-a" "1cd48b1103249d873ed1422c10446e0d9de66d53e2ec1fb57662b8952b194172", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1cd48b1103249d873ed1422c10446e0d9de66d53e2ec1fb57662b8952b194172", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1cd48b1103249d873ed1422c10446e0d9de66d53e2ec1fb57662b8952b194172", kill_on_drop: false }` [INFO] [stdout] 1cd48b1103249d873ed1422c10446e0d9de66d53e2ec1fb57662b8952b194172 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ac9b8c82b36b99239c1b056d209487dd709b4249dc94b8ef06b66c52be514c2c [INFO] running `Command { std: "docker" "start" "-a" "ac9b8c82b36b99239c1b056d209487dd709b4249dc94b8ef06b66c52be514c2c", kill_on_drop: false }` [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling cc v1.2.59 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling openssl v0.10.76 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling openssl-probe v0.2.1 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling tokio v1.51.1 [INFO] [stderr] Compiling yeslogic-fontconfig-sys v6.0.0 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling libloading v0.8.9 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling pathfinder_simd v0.5.5 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling dlib v0.5.2 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling font-kit v0.14.3 [INFO] [stderr] Compiling jpeg-decoder v0.3.2 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling png v0.17.16 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling color_quant v1.1.0 [INFO] [stderr] Compiling pathfinder_geometry v0.5.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling openssl-sys v0.9.112 [INFO] [stderr] Compiling freetype-sys v0.20.1 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling iri-string v0.7.12 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling float-ord v0.3.2 [INFO] [stderr] Compiling data-encoding v2.10.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling image v0.24.9 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling ttf-parser v0.20.0 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling ta v0.5.0 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling plotters-bitmap v0.3.7 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tungstenite v0.26.2 [INFO] [stderr] Compiling tokio-tungstenite v0.26.2 [INFO] [stderr] Compiling hyper v1.9.0 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling chartgen v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 04s [INFO] running `Command { std: "docker" "inspect" "ac9b8c82b36b99239c1b056d209487dd709b4249dc94b8ef06b66c52be514c2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ac9b8c82b36b99239c1b056d209487dd709b4249dc94b8ef06b66c52be514c2c", kill_on_drop: false }` [INFO] [stdout] ac9b8c82b36b99239c1b056d209487dd709b4249dc94b8ef06b66c52be514c2c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cf4ebfd6522de8f7694e54b2bcbffe9456a35ed73e8d00764d9fd4156f8da10f [INFO] running `Command { std: "docker" "start" "-a" "cf4ebfd6522de8f7694e54b2bcbffe9456a35ed73e8d00764d9fd4156f8da10f", kill_on_drop: false }` [INFO] [stderr] Compiling chartgen v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 9.23s [INFO] running `Command { std: "docker" "inspect" "cf4ebfd6522de8f7694e54b2bcbffe9456a35ed73e8d00764d9fd4156f8da10f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cf4ebfd6522de8f7694e54b2bcbffe9456a35ed73e8d00764d9fd4156f8da10f", kill_on_drop: false }` [INFO] [stdout] cf4ebfd6522de8f7694e54b2bcbffe9456a35ed73e8d00764d9fd4156f8da10f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5f59ef9ceb7d97bec76142d8b3bd265d8a1f4ae3f58c9d321d649982828d177f [INFO] running `Command { std: "docker" "start" "-a" "5f59ef9ceb7d97bec76142d8b3bd265d8a1f4ae3f58c9d321d649982828d177f", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/chartgen-bda0e1b68a8a2110) [INFO] [stdout] [INFO] [stdout] running 84 tests [INFO] [stdout] test feed::tests::test_parse_kline_event_closed ... ok [INFO] [stdout] test feed::tests::test_new_creates_feed ... ok [INFO] [stdout] test feed::tests::test_parse_kline_event_live ... ok [INFO] [stdout] test feed::tests::test_parse_kline_object ... ok [INFO] [stdout] test indicator_state::tests::rolling_window_truncates_at_max_bars ... ok [INFO] [stdout] test indicator_state::tests::rsi_result_has_correct_line_count ... ok [INFO] [stdout] test engine::tests::add_alert_persists_to_disk ... ok [INFO] [stdout] test indicator_state::tests::unknown_symbol_returns_none ... ok [INFO] [stdout] test indicator_state::tests::multiple_symbols_tracked_independently ... ok [INFO] [stdout] test engine::tests::on_bar_updates_indicator_state ... ok [INFO] [stdout] test feed::tests::test_parse_non_kline_event ... ok [INFO] [stdout] test indicator_state::tests::push_bars_and_verify_results ... ok [INFO] [stdout] test engine::tests::remove_alert_persists_to_disk ... ok [INFO] [stdout] test engine::tests::new_creates_empty_state ... ok [INFO] [stdout] test mtf::tests::test_aggregate_1h_to_4h ... ok [INFO] [stdout] test mtf::tests::test_aggregate_empty ... ok [INFO] [stdout] test engine::tests::persisted_alerts_restored_on_new ... ok [INFO] [stdout] test mtf::tests::test_map_to_lower_tf ... ok [INFO] [stdout] test mtf::tests::test_aggregate_preserves_ohlcv ... ok [INFO] [stdout] test trading::alert::tests::add_alert_appears_in_list ... ok [INFO] [stdout] test engine::tests::on_bar_pushes_to_notifications ... ok [INFO] [stdout] test mtf::tests::test_aggregate_unknown_tf ... ok [INFO] [stdout] test trading::alert::tests::indicator_signal_does_not_trigger_without_dots ... ok [INFO] [stdout] test trading::alert::tests::only_matching_symbol_evaluated ... ok [INFO] [stdout] test trading::alert::tests::indicator_signal_triggers_on_dot ... ok [INFO] [stdout] test trading::alert::tests::price_below_triggers ... ok [INFO] [stdout] test trading::alert::tests::alert_ids_are_unique ... ok [INFO] [stdout] test trading::alert::tests::triggered_alerts_removed_from_active ... ok [INFO] [stdout] test trading::alert::tests::indicator_signal_does_not_trigger_on_wrong_label ... ok [INFO] [stdout] test mtf::tests::test_tf_to_seconds ... ok [INFO] [stdout] test engine::tests::on_bar_triggers_price_alert ... ok [INFO] [stdout] test engine::tests::drain_notifications_clears_queue ... ok [INFO] [stdout] test trading::alert::tests::price_above_does_not_trigger_below_threshold ... ok [INFO] [stdout] test trading::alert::tests::price_above_triggers ... ok [INFO] [stdout] test trading::alert::tests::remove_alert_by_id ... ok [INFO] [stdout] test trading::order::tests::open_to_cancelled_succeeds ... ok [INFO] [stdout] test trading::order::tests::get_returns_none_for_unknown_id ... ok [INFO] [stdout] test trading::order::tests::open_to_filled_succeeds ... ok [INFO] [stdout] test trading::exchange::tests::test_sign_params ... ok [INFO] [stdout] test trading::order::tests::cancelled_is_terminal ... ok [INFO] [stdout] test trading::order::tests::create_order_starts_in_pending ... ok [INFO] [stdout] test trading::order::tests::open_to_rejected_fails ... ok [INFO] [stdout] test trading::order::tests::filled_is_terminal ... ok [INFO] [stdout] test trading::order::tests::open_orders_returns_only_open ... ok [INFO] [stdout] test trading::order::tests::pending_to_cancelled_fails ... ok [INFO] [stdout] test trading::order::tests::pending_to_filled_fails ... ok [INFO] [stdout] test trading::order::tests::pending_to_open_succeeds ... ok [INFO] [stdout] test trading::order::tests::pending_to_rejected_succeeds ... ok [INFO] [stdout] test trading::persistence::tests::audit_log_appends_multiple_writes ... ok [INFO] [stdout] test trading::persistence::tests::audit_log_writes_correct_format ... ok [INFO] [stdout] test trading::persistence::tests::load_nonexistent_returns_empty ... ok [INFO] [stdout] test trading::persistence::tests::save_creates_parent_dirs ... ok [INFO] [stdout] test trading::position::tests::clear_removes_all_positions ... ok [INFO] [stdout] test trading::persistence::tests::roundtrip_save_load ... ok [INFO] [stdout] test trading::position::tests::get_returns_none_for_unknown_symbol ... ok [INFO] [stdout] test trading::position::tests::new_fill_creates_position ... ok [INFO] [stdout] test trading::position::tests::opposite_side_fill_closes_position ... ok [INFO] [stdout] test trading::position::tests::opposite_side_fill_flips_position ... ok [INFO] [stdout] test mtf::tests::test_map_to_lower_tf_nan_gaps ... ok [INFO] [stdout] test trading::position::tests::opposite_side_fill_reduces_position ... ok [INFO] [stdout] test trading::position::tests::same_side_fill_averages_entry_price ... ok [INFO] [stdout] test engine::tests::on_bar_does_not_persist_when_no_triggers ... ok [INFO] [stdout] test trading::position::tests::unrealized_pnl_long_and_short ... ok [INFO] [stdout] test trading::position::tests::update_price_changes_current_price ... ok [INFO] [stdout] test trading::signals::tests::const_values_match_const_names_lowercase ... ok [INFO] [stdout] test trading::subscription::tests::condition_type_names ... ok [INFO] [stdout] test trading::subscription::tests::dispatch_broken_sender_falls_back_to_queue ... ok [INFO] [stdout] test trading::subscription::tests::dispatch_to_connected_subscriber ... ok [INFO] [stdout] test trading::subscription::tests::dispatch_to_offline_subscriber_queues ... ok [INFO] [stdout] test trading::subscription::tests::filter_match_alert_type_only ... ok [INFO] [stdout] test trading::subscription::tests::filter_match_both_symbol_and_type ... ok [INFO] [stdout] test trading::subscription::tests::filter_match_symbol_only ... ok [INFO] [stdout] test trading::subscription::tests::filter_none_matches_all ... ok [INFO] [stdout] test trading::subscription::tests::link_sender_flushes_queue ... ok [INFO] [stdout] test trading::subscription::tests::notification_json_format ... ok [INFO] [stdout] test trading::subscription::tests::persistence_roundtrip ... ok [INFO] [stdout] test trading::subscription::tests::queue_overflow_discards_oldest ... ok [INFO] [stdout] test trading::subscription::tests::subscribe_and_list ... ok [INFO] [stdout] test trading::subscription::tests::subscribe_idempotent_overwrites_filters ... ok [INFO] [stdout] test trading::subscription::tests::subscribe_idempotent_preserves_sender ... ok [INFO] [stdout] test trading::subscription::tests::unlink_sender_sets_to_none ... ok [INFO] [stdout] test trading::subscription::tests::unsubscribe_removes_completely ... ok [INFO] [stdout] test trading::subscription::tests::ttl_expiry ... ok [INFO] [stdout] test trading::exchange::tests::test_binance_testnet_new ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chartgen-7d8b841a8ac833ac) [INFO] [stdout] [INFO] [stdout] test result: ok. 84 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.37s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 52 tests [INFO] [stdout] test mcp::tests::bar_t_parses_unix_seconds ... ok [INFO] [stdout] test mcp::tests::generate_chart_unknown_format_lists_series ... ok [INFO] [stdout] test mcp::tests::generate_chart_summary_byte_identity_golden ... ok [INFO] [stdout] test mcp::tests::alert_roundtrip ... ok [INFO] [stdout] test mcp::tests::generate_chart_summary_returns_json_only ... ok [INFO] [stdout] test mcp::tests::initialize_advertises_streamable_http_protocol_version ... ok [INFO] [stdout] test mcp::tests::handle_mcp_tools_list_includes_trading_tools ... ok [INFO] [stdout] test mcp::tests::generate_chart_unknown_format_errors ... ok [INFO] [stdout] test mcp::tests::list_subscriptions_shows_state ... ok [INFO] [stdout] test mcp::tests::panel_result_to_json_covers_all_fields ... ok [INFO] [stdout] test mcp::tests::generate_chart_series_macd_histogram_aligns_with_bars ... ok [INFO] [stdout] test mcp::tests::generate_chart_summary_exposes_hlines_and_y_range ... ok [INFO] [stdout] test mcp::tests::get_notifications_drains_queue ... ok [INFO] [stdout] test mcp::tests::generate_chart_series_omits_png ... ok [INFO] [stdout] test mcp::tests::get_indicators_returns_rsi_structure ... ok [INFO] [stdout] test mcp::tests::place_and_get_orders ... ok [INFO] [stdout] test mcp::tests::generate_chart_series_returns_series_json ... ok [INFO] [stdout] test mcp::tests::trading_tools_return_error_without_engine ... ok [INFO] [stdout] test mcp::tests::unsubscribe_notifications_removes ... ok [INFO] [stdout] test mcp::tests::series_includes_divlines_when_indicator_emits_them ... ok [INFO] [stdout] test mcp::tests::subscribe_notifications_no_token ... ok [INFO] [stdout] test server::tests::accepts_json_ignores_quality_parameters ... ok [INFO] [stdout] test server::tests::accepts_json_app_wildcard ... ok [INFO] [stdout] test mcp::tests::series_includes_fills_when_indicator_emits_them ... ok [INFO] [stdout] test mcp::tests::panel_result_to_series_json_nan_is_null ... ok [INFO] [stdout] test mcp::tests::series_omits_channels_when_empty ... ok [INFO] [stdout] test mcp::tests::subscribe_notifications_with_filters ... ok [INFO] [stdout] test mcp::tests::subscription_tools_return_error_without_engine ... ok [INFO] [stdout] test server::tests::accepts_json_rejects_q_zero ... ok [INFO] [stdout] test server::tests::accepts_json_sse_only_rejected ... ok [INFO] [stdout] test server::tests::accepts_json_text_plain_only_rejected ... ok [INFO] [stdout] test server::tests::accepts_json_streamable_http_default ... ok [INFO] [stdout] test server::tests::accepts_json_wildcard ... ok [INFO] [stdout] test mcp::tests::series_includes_hbars_for_vpvr ... ok [INFO] [stdout] test server::tests::initialize_request_with_method_initialized_and_id_returns_response ... ok [INFO] [stdout] test server::tests::post_mcp_accept_excludes_json_returns_406 ... ok [INFO] [stdout] test server::tests::get_mcp_with_valid_token_opens_sse_without_endpoint_event ... ok [INFO] [stdout] test server::tests::accepts_json_missing_accept_is_tolerant ... ok [INFO] [stdout] test server::tests::get_mcp_without_auth_is_unauthorized ... ok [INFO] [stdout] test server::tests::get_root_advertises_new_protocol_version ... ok [INFO] [stdout] test server::tests::get_sse_alias_behaves_like_get_mcp ... ok [INFO] [stdout] test server::tests::post_mcp_malformed_body_is_parse_error ... ok [INFO] [stdout] test server::tests::post_mcp_tools_call_without_auth_returns_401 ... ok [INFO] [stdout] test mcp::tests::generate_chart_series_signals_align_with_bars ... ok [INFO] [stdout] test server::tests::post_mcp_initialize_advertises_new_protocol_version ... ok [INFO] [stdout] test server::tests::post_mcp_accept_q_zero_returns_406 ... ok [INFO] [stdout] test server::tests::post_mcp_echoes_session_id ... ok [INFO] [stdout] test server::tests::post_mcp_no_accept_header_defaults_to_json ... ok [INFO] [stdout] test server::tests::post_message_alias_also_works ... ok [INFO] [stdout] test server::tests::post_mcp_tools_list_returns_json ... ok [INFO] [stdout] test mcp::tests::generate_chart_png_default_unchanged ... ok [INFO] [stdout] test mcp::tests::generate_chart_both_returns_png_and_summary ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s [INFO] [stdout] [INFO] [stderr] Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-365174f8bcc4613b) [INFO] [stdout] [INFO] [stdout] running 37 tests [INFO] [stdout] test test_all_aliases_resolve ... ok [INFO] [stdout] test test_all_available_resolve ... ok [INFO] [stdout] test test_available_count ... ok [INFO] [stdout] test test_ema_empty ... ok [INFO] [stdout] test test_external_indicators_stock_symbol ... ok [INFO] [stdout] test test_highest_basic ... ok [INFO] [stdout] test test_highest_empty ... ok [INFO] [stdout] test test_ema_known_values ... ok [INFO] [stdout] test test_ema_constant_series ... ok [INFO] [stdout] test test_ema_period_zero ... ok [INFO] [stdout] test test_lowest_basic ... ok [INFO] [stdout] test test_lowest_empty ... ok [INFO] [stdout] test test_lowest_period_zero ... ok [INFO] [stdout] test test_overlay_classification ... ok [INFO] [stdout] test test_session_vp_resets_per_day ... ok [INFO] [stdout] test test_sample_data_sizes ... ok [INFO] [stdout] test test_sma_basic ... ok [INFO] [stdout] test test_naked_poc_excludes_filled_levels ... ok [INFO] [stdout] test test_stoch_basic ... ok [INFO] [stdout] test test_stoch_empty ... ok [INFO] [stdout] test test_tpo_time_based_profile ... ok [INFO] [stdout] test test_unknown_indicator_returns_none ... ok [INFO] [stdout] test test_hvn_lvn_produces_hlines ... ok [INFO] [stdout] test test_sma_empty ... ok [INFO] [stdout] test test_sma_period_larger_than_data ... ok [INFO] [stdout] test test_all_indicators_0_bars ... ok [INFO] [stdout] test test_all_indicators_200_bars ... ok [INFO] [stdout] test test_all_indicators_5_bars ... ok [INFO] [stdout] test test_external_indicators_no_symbol ... ok [INFO] [stdout] test test_all_indicators_1_bar ... ok [INFO] [stdout] test test_render_no_panels ... ok [INFO] [stdout] test test_render_empty_data ... ok [INFO] [stdout] test test_render_single_panel ... ok [INFO] [stdout] test test_render_minimal_data ... ok [INFO] [stdout] test test_render_single_overlay ... ok [INFO] [stdout] test test_render_mixed_overlays_and_panels ... ok [INFO] [stdout] test test_render_all_indicators ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.13s [INFO] [stdout] [INFO] [stderr] Doc-tests chartgen [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" "5f59ef9ceb7d97bec76142d8b3bd265d8a1f4ae3f58c9d321d649982828d177f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f59ef9ceb7d97bec76142d8b3bd265d8a1f4ae3f58c9d321d649982828d177f", kill_on_drop: false }` [INFO] [stdout] 5f59ef9ceb7d97bec76142d8b3bd265d8a1f4ae3f58c9d321d649982828d177f