[INFO] fetching crate barter 0.3.0...
[INFO] testing barter-0.3.0 against 1.54.0 for beta-1.55-1
[INFO] extracting crate barter 0.3.0 into /workspace/builds/worker-65/source
[INFO] validating manifest of crates.io crate barter 0.3.0 on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate barter 0.3.0
[INFO] finished tweaking crates.io crate barter 0.3.0
[INFO] tweaked toml for crates.io crate barter 0.3.0 written to /workspace/builds/worker-65/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ta v0.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-65/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-65/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] aed4d0c147e79f5f59772eaf56bbf23c0d04012ba9102db588a1ad36c1c7cfb7
[INFO] running `Command { std: "docker" "start" "-a" "aed4d0c147e79f5f59772eaf56bbf23c0d04012ba9102db588a1ad36c1c7cfb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aed4d0c147e79f5f59772eaf56bbf23c0d04012ba9102db588a1ad36c1c7cfb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aed4d0c147e79f5f59772eaf56bbf23c0d04012ba9102db588a1ad36c1c7cfb7", kill_on_drop: false }`
[INFO] [stdout] aed4d0c147e79f5f59772eaf56bbf23c0d04012ba9102db588a1ad36c1c7cfb7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-65/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-65/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cbe4e5050e6af056861cfe39a50a19ba719d4f490dac867c8bffcb8f9d9b0176
[INFO] running `Command { std: "docker" "start" "-a" "cbe4e5050e6af056861cfe39a50a19ba719d4f490dac867c8bffcb8f9d9b0176", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.28
[INFO] [stderr]    Compiling syn v1.0.74
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.127
[INFO] [stderr]    Compiling serde v1.0.127
[INFO] [stderr]    Compiling matches v0.1.8
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling gimli v0.25.0
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.20
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling async-trait v0.1.51
[INFO] [stderr]    Compiling bytes v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.66
[INFO] [stderr]    Compiling sha1 v0.6.0
[INFO] [stderr]    Compiling encode_unicode v0.3.6
[INFO] [stderr]    Compiling dtoa v0.4.8
[INFO] [stderr]    Compiling backtrace v0.3.61
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling tinyvec v1.3.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.5
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling term v0.5.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling object v0.26.0
[INFO] [stderr]    Compiling csv-core v0.1.10
[INFO] [stderr]    Compiling combine v4.6.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling addr2line v0.16.0
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling ta v0.4.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.26
[INFO] [stderr]    Compiling thiserror v1.0.26
[INFO] [stderr]    Compiling redis v0.20.2
[INFO] [stderr]    Compiling bstr v0.2.16
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling csv v1.1.6
[INFO] [stderr]    Compiling prettytable-rs v0.8.0
[INFO] [stderr]    Compiling barter v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 34.46s
[INFO] running `Command { std: "docker" "inspect" "cbe4e5050e6af056861cfe39a50a19ba719d4f490dac867c8bffcb8f9d9b0176", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cbe4e5050e6af056861cfe39a50a19ba719d4f490dac867c8bffcb8f9d9b0176", kill_on_drop: false }`
[INFO] [stdout] cbe4e5050e6af056861cfe39a50a19ba719d4f490dac867c8bffcb8f9d9b0176
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-65/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-65/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 39628bde462b0808123290e85c74eda848c5910825441c53c26806ecf8f11313
[INFO] running `Command { std: "docker" "start" "-a" "39628bde462b0808123290e85c74eda848c5910825441c53c26806ecf8f11313", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling barter v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/statistic/algorithm.rs:49:69
[INFO] [stdout]    |
[INFO] [stdout] 49 |         struct Input { prev_mean: f64, next_value: f64, count: f64 };
[INFO] [stdout]    |                                                                     ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/statistic/algorithm.rs:72:83
[INFO] [stdout]    |
[INFO] [stdout] 72 |         struct Input { prev_m: f64, prev_mean: f64, new_value: f64, new_mean: f64};
[INFO] [stdout]    |                                                                                   ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 6.44s
[INFO] running `Command { std: "docker" "inspect" "39628bde462b0808123290e85c74eda848c5910825441c53c26806ecf8f11313", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39628bde462b0808123290e85c74eda848c5910825441c53c26806ecf8f11313", kill_on_drop: false }`
[INFO] [stdout] 39628bde462b0808123290e85c74eda848c5910825441c53c26806ecf8f11313
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-65/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-65/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a8ecb98fd1047f2267e5f16c6cf39cc82ca8484f2c70d9a3bb43458249d6eb2c
[INFO] running `Command { std: "docker" "start" "-a" "a8ecb98fd1047f2267e5f16c6cf39cc82ca8484f2c70d9a3bb43458249d6eb2c", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/statistic/algorithm.rs:49:69
[INFO] [stderr]    |
[INFO] [stderr] 49 |         struct Input { prev_mean: f64, next_value: f64, count: f64 };
[INFO] [stderr]    |                                                                     ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/statistic/algorithm.rs:72:83
[INFO] [stderr]    |
[INFO] [stderr] 72 |         struct Input { prev_m: f64, prev_mean: f64, new_value: f64, new_mean: f64};
[INFO] [stderr]    |                                                                                   ^ help: remove this semicolon
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.29s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/barter-49ed15dcc7a5916d)
[INFO] [stdout] 
[INFO] [stdout] running 97 tests
[INFO] [stdout] test data::handler::tests::should_continue_with_symbol_data_remaining ... ok
[INFO] [stdout] test data::handler::tests::should_not_continue_with_no_symbol_data_remaining ... ok
[INFO] [stdout] test data::handler::tests::should_return_correct_symbol_data_file_path ... ok
[INFO] [stdout] test data::handler::tests::should_return_data_iterator_empty_error_when_generating_market_with_no_symbol_data ... ok
[INFO] [stdout] test data::market::tests::test_bar_builder_validation ... ok
[INFO] [stdout] test data::market::tests::test_builder_incomplete_attributes_validation ... ok
[INFO] [stdout] test execution::handler::tests::should_calculate_fill_value_gross_correctly_with_negative_order_quantity_provided ... ok
[INFO] [stdout] test execution::handler::tests::should_calculate_simulated_fees_correctly ... ok
[INFO] [stdout] test portfolio::allocator::tests::should_allocate_order_to_enter_long_position_with_correct_quantity ... ok
[INFO] [stdout] test data::handler::tests::should_return_market_event_when_generating_market_with_available_symbol_data ... ok
[INFO] [stdout] test execution::handler::tests::should_generate_ok_fill_event_with_valid_order_event_provided ... ok
[INFO] [stdout] test portfolio::allocator::tests::should_allocate_order_to_enter_long_position_with_non_zero_quantity ... ok
[INFO] [stdout] test portfolio::allocator::tests::should_allocate_order_to_enter_short_position_with_with_non_zero_quantity ... ok
[INFO] [stdout] test portfolio::allocator::tests::should_allocate_order_to_exit_open_long_position ... ok
[INFO] [stdout] test portfolio::allocator::tests::should_allocate_order_to_exit_open_short_position ... ok
[INFO] [stdout] test execution::handler::tests::should_calculate_fill_value_gross_correctly ... ok
[INFO] [stdout] test portfolio::portfolio::tests::generate_no_order_with_no_position_and_no_cash ... ok
[INFO] [stdout] test portfolio::allocator::tests::should_allocate_order_to_enter_short_position_with_correct_quantity ... ok
[INFO] [stdout] test portfolio::portfolio::tests::generate_no_order_with_position_and_no_cash ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_fill_exiting_long_position_in_loss ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_net_short ... ok
[INFO] [stdout] test portfolio::portfolio::tests::generate_order_close_short_with_short_position_and_input_net_close_short_signal ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_market_with_long_position_decreasing_in_value ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_none_with_some_short_position_and_short_signal ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_market_with_short_position_decreasing_in_value ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_fill_entering_long_position ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_net_long ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_net_close_short_with_conflicting_signals ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_net_close_short ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_none_with_some_long_position_and_long_signal ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_net_close_long_with_conflicting_signals ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_fill_exiting_short_position_in_profit ... ok
[INFO] [stdout] test portfolio::position::tests::calculate_avg_price_gross_correctly_with_negative_quantity ... ok
[INFO] [stdout] test portfolio::position::tests::calculate_avg_price_gross_correctly_with_positive_quantity ... ok
[INFO] [stdout] test portfolio::position::tests::calculate_profit_loss_return ... ok
[INFO] [stdout] test portfolio::position::tests::calculate_real_profit_loss ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_net_close_long ... ok
[INFO] [stdout] test portfolio::position::tests::enter_new_position_and_return_err_with_close_short_decision_provided ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_market_with_short_position_increasing_in_value ... ok
[INFO] [stdout] test portfolio::portfolio::tests::parse_signal_decisions_to_none_with_conflicting_signals ... ok
[INFO] [stdout] test portfolio::position::tests::enter_new_position_and_return_err_with_close_long_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::calculate_unreal_profit_loss ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_market_with_long_position_increasing_in_value ... ok
[INFO] [stdout] test portfolio::portfolio::tests::generate_order_close_long_with_long_position_and_input_net_close_long_signal ... ok
[INFO] [stdout] test portfolio::portfolio::tests::generate_order_short_with_no_position_and_input_net_short_signal ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_fill_exiting_long_position_in_profit ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_fill_exiting_short_position_in_loss ... ok
[INFO] [stdout] test portfolio::position::tests::enter_new_position_and_return_err_with_negative_quantity_long_decision_provided ... ok
[INFO] [stdout] test portfolio::portfolio::tests::generate_order_long_with_no_position_and_input_net_long_signal ... ok
[INFO] [stdout] test portfolio::portfolio::tests::update_from_fill_entering_short_position ... ok
[INFO] [stdout] test portfolio::position::tests::enter_new_position_and_return_err_with_positive_quantity_short_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::enter_new_position_with_long_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::enter_new_position_with_short_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::equity_point_update ... ok
[INFO] [stdout] test portfolio::position::tests::exit_long_position_with_long_entry_fill_and_return_err ... ok
[INFO] [stdout] test portfolio::position::tests::exit_long_position_with_negative_real_pnl ... ok
[INFO] [stdout] test portfolio::position::tests::exit_long_position_with_positive_real_pnl ... ok
[INFO] [stdout] test portfolio::position::tests::exit_short_position_with_negative_real_pnl ... ok
[INFO] [stdout] test portfolio::position::tests::exit_short_position_with_positive_real_pnl ... ok
[INFO] [stdout] test portfolio::position::tests::parse_entry_direction_and_return_err_with_close_long_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::exit_short_position_with_short_entry_fill_and_return_err ... ok
[INFO] [stdout] test portfolio::position::tests::parse_entry_direction_and_return_err_with_close_short_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::parse_entry_direction_and_return_err_with_negative_quantity_long_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::parse_entry_direction_and_return_err_with_positive_quantity_short_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::parse_entry_direction_as_long_with_positive_quantity_long_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::parse_entry_direction_as_short_with_negative_quantity_short_decision_provided ... ok
[INFO] [stdout] test portfolio::position::tests::update_long_position_so_unreal_pnl_decreases ... ok
[INFO] [stdout] test portfolio::position::tests::update_long_position_so_unreal_pnl_increases ... ok
[INFO] [stdout] test portfolio::position::tests::update_short_position_so_unreal_pnl_decreases ... ok
[INFO] [stdout] test portfolio::position::tests::update_short_position_so_unreal_pnl_increases ... ok
[INFO] [stdout] test statistic::algorithm::tests::calculate_mean ... ok
[INFO] [stdout] test statistic::algorithm::tests::calculate_population_variance ... ok
[INFO] [stdout] test statistic::algorithm::tests::calculate_recurrence_relation_m ... ok
[INFO] [stdout] test statistic::algorithm::tests::calculate_sample_variance ... ok
[INFO] [stdout] test statistic::dispersion::tests::update_dispersion ... ok
[INFO] [stdout] test statistic::dispersion::tests::update_range ... ok
[INFO] [stdout] test statistic::metric::drawdown::tests::avg_drawdown_update ... ok
[INFO] [stdout] test statistic::metric::drawdown::tests::drawdown_update ... ok
[INFO] [stdout] test statistic::metric::drawdown::tests::max_drawdown_update ... ok
[INFO] [stdout] test statistic::metric::ratio::tests::calculate_annual_ratios ... ok
[INFO] [stdout] test statistic::metric::ratio::tests::calculate_daily_ratios ... ok
[INFO] [stdout] test statistic::metric::ratio::tests::calmar_ratio_update ... ok
[INFO] [stdout] test statistic::metric::ratio::tests::sortino_ratio_update ... ok
[INFO] [stdout] test statistic::metric::ratio::tests::sharpe_ratio_update ... ok
[INFO] [stdout] test statistic::summary::data::tests::update_data_summary_with_position ... ok
[INFO] [stdout] test statistic::summary::pnl::tests::update_pnl_return_summary ... ok
[INFO] [stdout] test statistic::summary::pnl::tests::update_trading_session_duration_with_exited_position ... ok
[INFO] [stdout] test statistic::summary::pnl::tests::update_trading_session_duration_with_non_exited_position ... ok
[INFO] [stdout] test strategy::signal::tests::should_return_decision_is_entry ... ok
[INFO] [stdout] test strategy::signal::tests::should_return_decision_is_exit ... ok
[INFO] [stdout] test strategy::signal::tests::should_return_decision_is_long ... ok
[INFO] [stdout] test strategy::signal::tests::should_return_decision_is_not_entry ... ok
[INFO] [stdout] test strategy::signal::tests::should_return_decision_is_not_exit ... ok
[INFO] [stdout] test strategy::signal::tests::should_return_decision_is_not_long ... ok
[INFO] [stdout] test strategy::signal::tests::should_return_decision_is_not_short ... ok
[INFO] [stdout] test strategy::signal::tests::should_return_decision_is_short ... ok
[INFO] [stdout] test strategy::strategy::tests::should_generate_signals_map_containing_long_and_close_short_decision ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 97 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests barter
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/lib.rs - (line 31) ... ok
[INFO] [stdout] test src/lib.rs - (line 111) ... ok
[INFO] [stdout] test src/lib.rs - (line 55) ... ok
[INFO] [stdout] test src/lib.rs - (line 72) ... ok
[INFO] [stdout] test src/lib.rs - (line 132) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.28s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a8ecb98fd1047f2267e5f16c6cf39cc82ca8484f2c70d9a3bb43458249d6eb2c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8ecb98fd1047f2267e5f16c6cf39cc82ca8484f2c70d9a3bb43458249d6eb2c", kill_on_drop: false }`
[INFO] [stdout] a8ecb98fd1047f2267e5f16c6cf39cc82ca8484f2c70d9a3bb43458249d6eb2c
