[INFO] cloning repository https://github.com/noisystreet/fanalyzer
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/noisystreet/fanalyzer" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoisystreet%2Ffanalyzer", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoisystreet%2Ffanalyzer'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 28ead0904aaf7e1f5258d7642156b3a271479fb1
[INFO] testing noisystreet/fanalyzer against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoisystreet%2Ffanalyzer" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/noisystreet/fanalyzer
[INFO] finished tweaking git repo https://github.com/noisystreet/fanalyzer
[INFO] tweaked toml for git repo https://github.com/noisystreet/fanalyzer written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/noisystreet/fanalyzer on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/noisystreet/fanalyzer 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702
[INFO] running `Command { std: "docker" "start" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702", 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" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702", 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" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling openssl-sys v0.9.114
[INFO] [stderr]    Compiling openssl v0.10.78
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling papergrid v0.17.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tabled_derive v0.11.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tabled v0.20.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling fanalyzer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702", 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" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling openssl v0.10.78
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling assert_cmd v2.2.1
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling fluent-uri v0.3.2
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling papergrid v0.17.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling referencing v0.29.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling tabled v0.20.0
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling fancy-regex v0.14.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling fanalyzer v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling jsonschema v0.29.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702", 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" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.49s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fanalyzer-f989050dbe506189)
[INFO] [stdout] 
[INFO] [stdout] running 108 tests
[INFO] [stdout] test api::f10_apidata::tests::extract_content_ok ... ok
[INFO] [stdout] test api::fund_industry::tests::missing_content_err ... ok
[INFO] [stdout] test api::f10_jbgk::tests::parse_fund_detail_reads_net_asset_size_from_table_th ... ok
[INFO] [stdout] test api::fund_ranking::tests::rank_return_maps_sort ... ok
[INFO] [stdout] test api::fund_ranking::tests::parse_sample_rankhandler ... ok
[INFO] [stdout] test api::nav_merge::merge_tests::merge_navs_same_date_keeps_last ... ok
[INFO] [stdout] test application::analyze::tests::analyze_report_serializes_for_agent ... ok
[INFO] [stdout] test application::analyze::tests::default_rolling_window_matches_domain ... ok
[INFO] [stdout] test application::context::tests::resolve_fund_ids_needs_code ... ok
[INFO] [stdout] test application::context::tests::require_online_blocks_offline ... ok
[INFO] [stdout] test application::context::tests::resolve_many_needs_codes ... ok
[INFO] [stdout] test application::concurrency::tests::map_concurrent_preserves_order ... ok
[INFO] [stdout] test application::compare::tests::sort_compare_analyses_by_sharpe_desc ... ok
[INFO] [stdout] test application::output_profile::tests::profile_parse_and_flags ... ok
[INFO] [stdout] test application::portfolio::tests::build_summary_contribution ... ok
[INFO] [stdout] test cli::fund_code_arg::tests::resolve_errors_on_mismatch ... ok
[INFO] [stdout] test cli::fund_code_arg::tests::resolve_prefers_positional_when_only_one ... ok
[INFO] [stdout] test cli::fund_code_arg::tests::resolve_uses_flag_when_positional_missing ... ok
[INFO] [stdout] test application::compare::tests::sort_compare_analyses_default_by_code ... ok
[INFO] [stdout] test application::portfolio::tests::default_rolling_window_constant ... ok
[INFO] [stdout] test api::eastmoney_error::tests::into_anyhow_preserves_message ... ok
[INFO] [stdout] test application::analyze::tests::analyze_golden_envelope_with_mock_session ... ok
[INFO] [stdout] test application::brief::tests::brief_golden_envelope_with_mock_session ... ok
[INFO] [stdout] test config::tests::load_uses_cache_root_from_file ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::discover_prefers_explicit_config ... ok
[INFO] [stdout] test config::tests::test_load_missing_file ... ok
[INFO] [stdout] test config::tests::parse_optional_proxy_and_ua_from_toml ... ok
[INFO] [stdout] test domain::analyzer::tests::sortino_positive ... ok
[INFO] [stdout] test domain::benchmark::tests::text_csi500 ... ok
[INFO] [stdout] test domain::analyzer::tests::acc_nav_total_return ... ok
[INFO] [stdout] test domain::benchmark::tests::text_hs300 ... ok
[INFO] [stdout] test domain::benchmark::tests::bond_type_default ... ok
[INFO] [stdout] test domain::overlap::tests::no_overlap_zero ... ok
[INFO] [stdout] test domain::overlap::tests::weighted_overlap_sums_min_weights ... ok
[INFO] [stdout] test domain::period::tests::rank_sort_days ... ok
[INFO] [stdout] test domain::period::tests::resolve_period_aliases ... ok
[INFO] [stdout] test domain::period::tests::ytd_uses_injected_today ... ok
[INFO] [stdout] test domain::portfolio_insights::tests::interpret_flags_concentration_and_draggers ... ok
[INFO] [stdout] test domain::portfolio_insights::tests::interpret_equal_weight_better_suggests_caution ... ok
[INFO] [stdout] test domain::rank_kind::tests::rank_ft_accepts_codes_and_aliases ... ok
[INFO] [stdout] test domain::portfolio_insights::tests::interpret_high_correlation_caution ... ok
[INFO] [stdout] test domain::portfolio_insights::tests::interpret_equal_weight_worse_than_current ... ok
[INFO] [stdout] test domain::returns::tests::correlation_perfect_positive ... ok
[INFO] [stdout] test domain::returns::tests::align_daily_returns_intersection ... ok
[INFO] [stdout] test domain::returns::tests::metrics_from_flat_returns ... ok
[INFO] [stdout] test domain::returns::tests::weighted_portfolio_equal_weight ... ok
[INFO] [stdout] test domain::returns::tests::daily_returns_from_navs ... ok
[INFO] [stdout] test domain::rolling::tests::drawdown_non_positive ... ok
[INFO] [stdout] test domain::rolling::tests::normalize_rolling_window_clamps ... ok
[INFO] [stdout] test domain::rolling::tests::normalized_nav_starts_at_one ... ok
[INFO] [stdout] test domain::rolling::tests::portfolio_series_from_daily ... ok
[INFO] [stdout] test domain::screen_filter::tests::screen_filters_extended ... ok
[INFO] [stdout] test domain::sort::tests::sort_sharpe_desc ... ok
[INFO] [stdout] test domain::rolling::tests::rolling_volatility_produces_points ... ok
[INFO] [stdout] test insight_config::tests::load_custom_thresholds ... ok
[INFO] [stdout] test mcp::resources::tests::read_config_summary_is_json_without_proxy ... ok
[INFO] [stdout] test mcp::resources::tests::read_schemas_index_from_repo ... ok
[INFO] [stdout] test api::fund_holdings::tests::parse_sample_jjcc_row ... ok
[INFO] [stdout] test nav_cache::tests::filter_days_keeps_window ... ok
[INFO] [stdout] test nav_cache::tests::load_covering_days_returns_none_when_stale ... ok
[INFO] [stdout] test mcp::resources::tests::list_resources_includes_four_uris ... ok
[INFO] [stdout] test nav_cache::tests::merge_prefers_incoming_on_same_date ... ok
[INFO] [stdout] test insight_config::tests::load_missing_uses_defaults ... ok
[INFO] [stdout] test domain::rank_kind::tests::rank_ft_rejects_unknown ... ok
[INFO] [stdout] test portfolio::tests::format_holdings_text_roundtrip ... ok
[INFO] [stdout] test portfolio::tests::parse_holdings_text_accepts_commas_and_comments ... ok
[INFO] [stdout] test portfolio::tests::load_portfolio_normalizes_weights ... ok
[INFO] [stdout] test portfolio::tests::watchlist_equal_weight_content_formats ... ok
[INFO] [stdout] test portfolio::tests::load_portfolio_needs_two_holdings ... ok
[INFO] [stdout] test presentation::query_output::tests::ranking_table_rows_empty_ok ... ok
[INFO] [stdout] test presentation::portfolio::tests::export_json_writes_file ... ok
[INFO] [stdout] test presentation::structured::tests::batch_payload_includes_errors ... ok
[INFO] [stdout] test presentation::structured::tests::compact_serialization_is_single_line_object ... ok
[INFO] [stdout] test presentation::structured::tests::envelope_serializes_command_field ... ok
[INFO] [stdout] test presentation::structured::tests::error_from_anyhow_downcasts_coded_error ... ok
[INFO] [stdout] test presentation::structured::tests::error_from_anyhow_includes_hint_for_insufficient_data ... ok
[INFO] [stdout] test presentation::structured::tests::error_from_anyhow_maps_insufficient_samples ... ok
[INFO] [stdout] test presentation::structured::tests::failure_envelope_has_error_code ... ok
[INFO] [stdout] test presentation::tests::comparison_rows_formats_percent_columns ... ok
[INFO] [stdout] test presentation::tests::rounded_style_emits_unicode_table ... ok
[INFO] [stdout] test mcp::tests::parse_initialize_request ... ok
[INFO] [stdout] test mcp::tests::response_ok_serializes ... ok
[INFO] [stdout] test presentation::analysis::tests::export_json_contains_series ... ok
[INFO] [stdout] test presentation::comparison::tests::export_csv_writes_header ... ok
[INFO] [stdout] test schema::agent_tools::tests::minimal_tier_has_six_tools ... ok
[INFO] [stdout] test application::concurrency::tests::map_concurrent_runs_in_parallel_within_chunk ... ok
[INFO] [stdout] test schema::paths::tests::discover_schema_root_has_index ... ok
[INFO] [stdout] test api::fund_industry::tests::parse_sample_hypz ... ok
[INFO] [stdout] test schema::tools::tests::schema_command_not_in_tools_list ... ok
[INFO] [stdout] test application::concurrency::tests::map_concurrent_faster_than_serial_for_io_bound_work ... ok
[INFO] [stdout] test watchlist::tests::load_watchlist_empty_vec ... ok
[INFO] [stdout] test schema::agent_tools::tests::standard_tier_is_superset_of_minimal ... ok
[INFO] [stdout] test watchlist::tests::add_and_remove_watchlist ... ok
[INFO] [stdout] test watchlist::tests::load_watchlist_ok ... ok
[INFO] [stdout] test schema::agent_tools::tests::agent_tools_exclude_internal_params ... ok
[INFO] [stdout] test schema::agent_tools::tests::composite_tools_present ... ok
[INFO] [stdout] test schema::tools::tests::generates_analyze_tool_with_code_and_days ... ok
[INFO] [stdout] test schema::tools::tests::tools_json_is_valid_json ... ok
[INFO] [stdout] test cache::tests::test_cache_operations ... ok
[INFO] [stdout] test cli::structured_runner::tests::fallback_failure_is_valid_json ... ok
[INFO] [stdout] test schema::export::tests::export_all_writes_index_and_tools ... ok
[INFO] [stdout] test presentation::structured::tests::base_meta_includes_duration_ms ... ok
[INFO] [stdout] test application::analyze::tests::analyze_offline_golden_envelope_from_cache ... ok
[INFO] [stdout] test application::fund_service::tests::fetch_nav_series_online_uses_cache_when_covering ... ok
[INFO] [stdout] test application::compare::tests::compare_golden_envelope_offline_two_funds ... ok
[INFO] [stdout] test application::research_fund::tests::gather_research_fund_offline_analyze_step_succeeds ... ok
[INFO] [stdout] test application::portfolio::tests::portfolio_golden_envelope_offline ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 108 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fanalyzer-53777b405edbd7c0)
[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/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-eb9882b27b54b56e)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test test_cli_rank_help ... ok
[INFO] [stdout] test test_cli_version ... ok
[INFO] [stdout] test test_cli_sectors_help ... ok
[INFO] [stdout] test test_cli_screen_help ... ok
[INFO] [stdout] test test_cli_json_subcommand_help ... ok
[INFO] [stdout] test test_cli_no_global_json_flag ... ok
[INFO] [stdout] test test_cli_mcp_serve_help ... ok
[INFO] [stdout] test test_cli_help_lists_json_subcommand ... ok
[INFO] [stdout] test test_cli_brief_help ... ok
[INFO] [stdout] test test_cli_holdings_help ... ok
[INFO] [stdout] test test_cli_json_profile_flag ... ok
[INFO] [stdout] test test_cli_schema_tools_excludes_schema_command ... ok
[INFO] [stdout] test test_cli_portfolio_help ... ok
[INFO] [stdout] test test_cli_json_failure_envelope ... ok
[INFO] [stdout] test test_cli_schema_export_writes_index ... ok
[INFO] [stdout] test test_cli_config_flag_loads_custom_cache_root ... ok
[INFO] [stdout] test test_mcp_tools_call_analyze_offline_returns_json_envelope ... ok
[INFO] [stdout] test test_mcp_tools_call_watchlist_list_returns_json_envelope ... ok
[INFO] [stdout] test test_cli_json_analyze_positional_code ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_cli_json_analyze_positional_code stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_cli_json_analyze_positional_code' (2101) panicked at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=```""```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/fanalyzer" "json" "analyze" "110011" "--days" "90"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=```
[INFO] [stdout] {
[INFO] [stdout]   \"v\": 1,
[INFO] [stdout]   \"command\": \"analyze\",
[INFO] [stdout]   \"ok\": false,
[INFO] [stdout]   \"meta\": {
[INFO] [stdout]     \"duration_ms\": 0,
[INFO] [stdout]     \"generated_at\": \"2026-07-10T12:51:31.664141684+00:00\",
[INFO] [stdout]     \"offline\": false
[INFO] [stdout]   },
[INFO] [stdout]   \"warnings\": [],
[INFO] [stdout]   \"error\": {
[INFO] [stdout]     \"code\": \"INSUFFICIENT_DATA\",
[INFO] [stdout]     \"message\": \"无有效分析结果（数据不足或全部失败）\",
[INFO] [stdout]     \"retryable\": true,
[INFO] [stdout]     \"hint\": \"先运行 fetch 或 analyze 写入缓存后再试\"
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=""
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64fcc7b9f1d1 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64fcc7b9f1d1 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64fcc7b9f1d1 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x64fcc7b9f1d1 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x64fcc7bb62aa - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x64fcc7bb62aa - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x64fcc7ba527c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x64fcc7ba527c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x64fcc7b7aa96 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x64fcc7b7aa96 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x64fcc7b960b9 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x64fcc7a4c000 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x64fcc7a4c000 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x64fcc7b96272 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x64fcc7b96272 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x64fcc7b7ab42 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x64fcc7b71c59 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x64fcc7b7b84d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x64fcc7bb6afc - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x64fcc7b11fd8 - core[6883ba1bc0fe4ed1]::panicking::panic_display::<assert_cmd[f11fff1bc5953313]::assert::AssertError>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x64fcc7b25127 - <assert_cmd[f11fff1bc5953313]::assert::AssertError>::panic::<assert_cmd[f11fff1bc5953313]::assert::Assert>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.1/src/assert.rs:1036:9
[INFO] [stdout]   21:     0x64fcc7b15ff7 - <<assert_cmd[f11fff1bc5953313]::assert::AssertError>::panic<assert_cmd[f11fff1bc5953313]::assert::Assert> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(assert_cmd[f11fff1bc5953313]::assert::AssertError,)>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x64fcc7b239eb - <core[6883ba1bc0fe4ed1]::result::Result<assert_cmd[f11fff1bc5953313]::assert::Assert, assert_cmd[f11fff1bc5953313]::assert::AssertError>>::unwrap_or_else::<<assert_cmd[f11fff1bc5953313]::assert::AssertError>::panic<assert_cmd[f11fff1bc5953313]::assert::Assert>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:1620:23
[INFO] [stdout]   23:     0x64fcc7b267d0 - <assert_cmd[f11fff1bc5953313]::assert::Assert>::success
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.1/src/assert.rs:161:28
[INFO] [stdout]   24:     0x64fcc7a2f360 - integration_test[aa2feeed9d97e5b7]::test_cli_json_analyze_positional_code
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test.rs:47:10
[INFO] [stdout]   25:     0x64fcc7a2c607 - integration_test[aa2feeed9d97e5b7]::test_cli_json_analyze_positional_code::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration_test.rs:42:43
[INFO] [stdout]   26:     0x64fcc7a35f56 - <integration_test[aa2feeed9d97e5b7]::test_cli_json_analyze_positional_code::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x64fcc7a3f33b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x64fcc7a3f33b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   29:     0x64fcc7a4c985 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   30:     0x64fcc7a4c985 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   31:     0x64fcc7a4c985 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   32:     0x64fcc7a4c985 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x64fcc7a4c985 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x64fcc7a4c985 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   35:     0x64fcc7a4c985 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   36:     0x64fcc7a47434 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   37:     0x64fcc7a47434 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   38:     0x64fcc7a4fad2 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   39:     0x64fcc7a4fad2 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   40:     0x64fcc7a4fad2 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   41:     0x64fcc7a4fad2 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   42:     0x64fcc7a4fad2 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x64fcc7a4fad2 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   44:     0x64fcc7a4fad2 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x64fcc7b9e13f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   46:     0x64fcc7b9e13f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   47:     0x7cb1b1948aa4 - <unknown>
[INFO] [stdout]   48:     0x7cb1b19d5a64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_cli_json_analyze_positional_code
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 18 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.90s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test integration_test`
[INFO] running `Command { std: "docker" "inspect" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702", kill_on_drop: false }`
[INFO] [stdout] 432338dad168a3d22e5a744f2550f0dc4b90108fabcd9358b890005325e00702
