[INFO] cloning repository https://github.com/sudokatie/code-weather [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sudokatie/code-weather" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fcode-weather", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fcode-weather'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a54b77598c58be0368da57e8906e61b52a64c9f8 [INFO] testing sudokatie/code-weather against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fcode-weather" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/sudokatie/code-weather [INFO] finished tweaking git repo https://github.com/sudokatie/code-weather [INFO] tweaked toml for git repo https://github.com/sudokatie/code-weather written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/sudokatie/code-weather on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/sudokatie/code-weather 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded assert_cmd v2.1.2 [INFO] [stderr] Downloaded cc v1.0.106 [INFO] [stderr] Downloaded git2 v0.18.3 [INFO] [stderr] Downloaded tree-sitter-go v0.21.2 [INFO] [stderr] Downloaded tree-sitter-javascript v0.21.4 [INFO] [stderr] Downloaded tree-sitter v0.22.6 [INFO] [stderr] Downloaded tree-sitter-python v0.21.0 [INFO] [stderr] Downloaded tree-sitter-rust v0.21.2 [INFO] [stderr] Downloaded libz-sys v1.1.23 [INFO] [stderr] Downloaded tree-sitter-typescript v0.21.2 [INFO] [stderr] Downloaded libgit2-sys v0.16.2+1.7.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f56da8c535d1ce9b5f372936c821485c14ebcc9e01f252f129e848298a3d193c [INFO] running `Command { std: "docker" "start" "-a" "f56da8c535d1ce9b5f372936c821485c14ebcc9e01f252f129e848298a3d193c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f56da8c535d1ce9b5f372936c821485c14ebcc9e01f252f129e848298a3d193c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f56da8c535d1ce9b5f372936c821485c14ebcc9e01f252f129e848298a3d193c", kill_on_drop: false }` [INFO] [stdout] f56da8c535d1ce9b5f372936c821485c14ebcc9e01f252f129e848298a3d193c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 540770ae39c92cc5d7034a63a1fdc5a20a53c7d309696b44912d96ccafba5a7e [INFO] running `Command { std: "docker" "start" "-a" "540770ae39c92cc5d7034a63a1fdc5a20a53c7d309696b44912d96ccafba5a7e", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling cc v1.0.106 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling mio v0.8.11 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling number_prefix v0.4.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling indicatif v0.17.11 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tree-sitter v0.22.6 [INFO] [stderr] Compiling libz-sys v1.1.23 [INFO] [stderr] Compiling openssl-sys v0.9.111 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.16.2+1.7.2 [INFO] [stderr] Compiling tree-sitter-rust v0.21.2 [INFO] [stderr] Compiling tree-sitter-python v0.21.0 [INFO] [stderr] Compiling tree-sitter-typescript v0.21.2 [INFO] [stderr] Compiling tree-sitter-javascript v0.21.4 [INFO] [stderr] Compiling tree-sitter-go v0.21.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling git2 v0.18.3 [INFO] [stderr] Compiling code-weather v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `DateTime` [INFO] [stdout] --> src/history/trend.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use chrono::{DateTime, Duration, Utc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 33s [INFO] running `Command { std: "docker" "inspect" "540770ae39c92cc5d7034a63a1fdc5a20a53c7d309696b44912d96ccafba5a7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "540770ae39c92cc5d7034a63a1fdc5a20a53c7d309696b44912d96ccafba5a7e", kill_on_drop: false }` [INFO] [stdout] 540770ae39c92cc5d7034a63a1fdc5a20a53c7d309696b44912d96ccafba5a7e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9f14b19932d494a12e6241ccb1251b7a04894bd32929c78661e81b9beada4343 [INFO] running `Command { std: "docker" "start" "-a" "9f14b19932d494a12e6241ccb1251b7a04894bd32929c78661e81b9beada4343", kill_on_drop: false }` [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling git2 v0.18.3 [INFO] [stderr] Compiling crossterm v0.27.0 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling tree-sitter v0.22.6 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling tree-sitter-python v0.21.0 [INFO] [stderr] Compiling tree-sitter-typescript v0.21.2 [INFO] [stderr] Compiling tree-sitter-javascript v0.21.4 [INFO] [stderr] Compiling tree-sitter-rust v0.21.2 [INFO] [stderr] Compiling tree-sitter-go v0.21.2 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling code-weather v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `DateTime` [INFO] [stdout] --> src/history/trend.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use chrono::{DateTime, Duration, Utc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DateTime` [INFO] [stdout] --> src/history/trend.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | use chrono::{DateTime, Duration, Utc}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `assert_cmd::Command::cargo_bin`: incompatible with a custom cargo build-dir, see instead `cargo::cargo_bin_cmd!` [INFO] [stdout] --> tests/integration_tests.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | Command::cargo_bin("code-weather").unwrap() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 32.13s [INFO] running `Command { std: "docker" "inspect" "9f14b19932d494a12e6241ccb1251b7a04894bd32929c78661e81b9beada4343", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f14b19932d494a12e6241ccb1251b7a04894bd32929c78661e81b9beada4343", kill_on_drop: false }` [INFO] [stdout] 9f14b19932d494a12e6241ccb1251b7a04894bd32929c78661e81b9beada4343 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] bef9c27e2b13ef9e4ff2089aa44440e750acf5c9ede79b431c59e976fe847f34 [INFO] running `Command { std: "docker" "start" "-a" "bef9c27e2b13ef9e4ff2089aa44440e750acf5c9ede79b431c59e976fe847f34", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `DateTime` [INFO] [stderr] --> src/history/trend.rs:4:14 [INFO] [stderr] | [INFO] [stderr] 4 | use chrono::{DateTime, Duration, Utc}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `code-weather` (lib) generated 1 warning (run `cargo fix --lib -p code-weather` to apply 1 suggestion) [INFO] [stderr] warning: use of deprecated associated function `assert_cmd::Command::cargo_bin`: incompatible with a custom cargo build-dir, see instead `cargo::cargo_bin_cmd!` [INFO] [stderr] --> tests/integration_tests.rs:7:14 [INFO] [stderr] | [INFO] [stderr] 7 | Command::cargo_bin("code-weather").unwrap() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `code-weather` (test "integration_tests") generated 1 warning [INFO] [stderr] warning: `code-weather` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/code_weather-8b83d357e9765a75) [INFO] [stdout] [INFO] [stdout] running 218 tests [INFO] [stdout] test analysis::collector::tests::test_collector_with_files ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_parallel_processing ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_with_exclude_pattern ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_excludes_node_modules ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_empty_dir ... ok [INFO] [stdout] test analysis::collector::tests::test_merge_complexity ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_readme_detection ... ok [INFO] [stdout] test analysis::collector::tests::test_merge_docs ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_with_lang_filter_ts ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_aggregates_complexity ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_with_include_pattern ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_respects_gitignore ... ok [INFO] [stdout] test analysis::complexity::tests::test_go_function ... ok [INFO] [stdout] test analysis::complexity::tests::test_metrics_average ... ok [INFO] [stdout] test analysis::complexity::tests::test_arrow_function ... ok [INFO] [stdout] test analysis::complexity::tests::test_metrics_min_max ... ok [INFO] [stdout] test analysis::complexity::tests::test_multiple_functions ... ok [INFO] [stdout] test analysis::complexity::tests::test_over_threshold ... ok [INFO] [stdout] test analysis::complexity::tests::test_python_function ... ok [INFO] [stdout] test analysis::complexity::tests::test_function_with_if ... ok [INFO] [stdout] test analysis::complexity::tests::test_function_with_loop ... ok [INFO] [stdout] test analysis::complexity::tests::test_empty_file ... ok [INFO] [stdout] test analysis::complexity::tests::test_rust_function ... ok [INFO] [stdout] test analysis::complexity::tests::test_simple_function_ts ... ok [INFO] [stdout] test analysis::documentation::tests::test_check_readme_exists ... ok [INFO] [stdout] test analysis::documentation::tests::test_check_readme_missing ... ok [INFO] [stdout] test analysis::documentation::tests::test_class_documentation_ts ... ok [INFO] [stdout] test analysis::documentation::tests::test_comment_density ... ok [INFO] [stdout] test analysis::complexity::tests::test_python_function_with_if ... ok [INFO] [stdout] test analysis::collector::tests::test_collector_with_lang_filter_python ... ok [INFO] [stdout] test analysis::documentation::tests::test_documented_function_ts ... ok [INFO] [stdout] test analysis::documentation::tests::test_empty_file ... ok [INFO] [stdout] test analysis::documentation::tests::test_go_doc_comment ... ok [INFO] [stdout] test analysis::documentation::tests::test_partial_documentation_ts ... ok [INFO] [stdout] test analysis::documentation::tests::test_python_docstring ... ok [INFO] [stdout] test analysis::documentation::tests::test_rust_doc_comment ... ok [INFO] [stdout] test analysis::documentation::tests::test_struct_documentation_rust ... ok [INFO] [stdout] test analysis::documentation::tests::test_undocumented_function_ts ... ok [INFO] [stdout] test analysis::documentation::tests::test_undocumented_python ... ok [INFO] [stdout] test analysis::structure::tests::test_average_params ... ok [INFO] [stdout] test analysis::structure::tests::test_max_nesting_tracked ... ok [INFO] [stdout] test analysis::structure::tests::test_multi_line_function ... ok [INFO] [stdout] test analysis::structure::tests::test_multiple_params ... ok [INFO] [stdout] test analysis::structure::tests::test_nesting_if_inside_for ... ok [INFO] [stdout] test analysis::structure::tests::test_single_line_function ... ok [INFO] [stdout] test analysis::structure::tests::test_total_lines ... ok [INFO] [stdout] test analysis::structure::tests::test_zero_params ... ok [INFO] [stdout] test analysis::tests::tests::test_detect_go_test ... ok [INFO] [stdout] test analysis::tests::tests::test_detect_python_test_prefix ... ok [INFO] [stdout] test analysis::tests::tests::test_detect_python_test_suffix ... ok [INFO] [stdout] test analysis::tests::tests::test_detect_ts_test ... ok [INFO] [stdout] test analysis::tests::tests::test_find_json_coverage ... ok [INFO] [stdout] test analysis::tests::tests::test_no_coverage_graceful ... ok [INFO] [stdout] test cli::args::tests::test_config_path ... ok [INFO] [stdout] test cli::args::tests::test_explain_condition_with_metrics ... ok [INFO] [stdout] test cli::args::tests::test_explain_metrics ... ok [INFO] [stdout] test cli::args::tests::test_help ... ok [INFO] [stdout] test cli::args::tests::test_no_color_flag ... ok [INFO] [stdout] test cli::args::tests::test_no_tests_flag ... ok [INFO] [stdout] test cli::args::tests::test_output_format_json ... ok [INFO] [stdout] test cli::args::tests::test_parse_explain ... ok [INFO] [stdout] test cli::args::tests::test_init_full ... ok [INFO] [stdout] test cli::args::tests::test_parse_forecast ... ok [INFO] [stdout] test cli::args::tests::test_parse_explain_condition ... ok [INFO] [stdout] test analysis::tests::tests::test_find_lcov_coverage ... ok [INFO] [stdout] test cli::args::tests::test_verbose_flag ... ok [INFO] [stdout] test cli::args::tests::test_parse_forecast_with_path ... ok [INFO] [stdout] test cli::args::tests::test_parse_init ... ok [INFO] [stdout] test cli::args::tests::test_parse_init_force ... ok [INFO] [stdout] test analysis::tests::tests::test_ratio_calculation ... ok [INFO] [stdout] test cli::args::tests::test_threshold_cloudy ... ok [INFO] [stdout] test config::schema::tests::test_parse_minimal_config ... ok [INFO] [stdout] test cli::args::tests::test_threshold_sunny ... ok [INFO] [stdout] test config::schema::tests::test_default_excludes ... ok [INFO] [stdout] test config::schema::tests::test_default_thresholds ... ok [INFO] [stdout] test cli::args::tests::test_quiet_flag ... ok [INFO] [stdout] test config::tests::test_env_override_cloudy_coverage ... ok [INFO] [stdout] test config::schema::tests::test_parse_full_config ... ok [INFO] [stdout] test config::schema::tests::test_serialize_roundtrip ... ok [INFO] [stdout] test config::tests::test_env_override_sunny_coverage ... ok [INFO] [stdout] test config::tests::test_env_override_temp_unit ... ok [INFO] [stdout] test config::tests::test_find_config_not_found ... ok [INFO] [stdout] test config::tests::test_find_config_in_current ... ok [INFO] [stdout] test cli::args::tests::test_version_command ... ok [INFO] [stdout] test config::tests::test_env_override_no_color ... ok [INFO] [stdout] test config::tests::test_env_override_skip_git ... ok [INFO] [stdout] test config::tests::test_env_override_skip_tests ... ok [INFO] [stdout] test config::tests::test_generate_minimal_config ... ok [INFO] [stdout] test config::tests::test_find_config_in_parent ... ok [INFO] [stdout] test config::tests::test_parse_bool_variants ... ok [INFO] [stdout] test config::tests::test_merge_config_overrides ... ok [INFO] [stdout] test config::tests::test_load_default ... ok [INFO] [stdout] test config::tests::test_user_config_dir ... ok [INFO] [stdout] test error::tests::test_display ... ok [INFO] [stdout] test error::tests::test_exit_code_config ... ok [INFO] [stdout] test error::tests::test_exit_code_file_not_found ... ok [INFO] [stdout] test error::tests::test_exit_code_analysis ... ok [INFO] [stdout] test error::tests::test_exit_code_io ... ok [INFO] [stdout] test config::tests::test_project_config_overrides_user ... ok [INFO] [stdout] test error::tests::test_exit_code_not_git_repo ... ok [INFO] [stdout] test error::tests::test_io_from ... ok [INFO] [stdout] test error::tests::test_exit_code_unsupported_language ... ok [INFO] [stdout] test config::tests::test_generate_full_config ... ok [INFO] [stdout] test config::tests::test_env_overrides_project ... ok [INFO] [stdout] test git::churn::tests::test_growing_trend ... ok [INFO] [stdout] test git::churn::tests::test_shrinking_trend ... ok [INFO] [stdout] test git::churn::tests::test_no_changes_zero_churn ... ok [INFO] [stdout] test git::churn::tests::test_refactoring_trend ... ok [INFO] [stdout] test git::history::tests::test_git_time_conversion ... ok [INFO] [stdout] test git::history::tests::test_non_repo_returns_false ... ok [INFO] [stdout] test git::history::tests::test_empty_repo_abandoned ... ok [INFO] [stdout] test git::churn::tests::test_additions_tracked ... ok [INFO] [stdout] test history::storage::tests::test_calculate_score ... ok [INFO] [stdout] test history::storage::tests::test_entry_condition_parse ... ok [INFO] [stdout] test history::storage::tests::test_entry_from_report ... ok [INFO] [stdout] test history::storage::tests::test_project_history_add ... ok [INFO] [stdout] test history::storage::tests::test_project_history_limit ... ok [INFO] [stdout] test history::storage::tests::test_store_record_and_get ... ok [INFO] [stdout] test history::storage::tests::test_store_save_and_reload ... ok [INFO] [stdout] test history::trend::tests::test_analyze_declining ... ok [INFO] [stdout] test history::trend::tests::test_analyze_improving ... ok [INFO] [stdout] test history::trend::tests::test_analyze_insufficient_data ... ok [INFO] [stdout] test history::trend::tests::test_ascii_chart_output ... ok [INFO] [stdout] test history::trend::tests::test_chart_bar ... ok [INFO] [stdout] test history::trend::tests::test_regressions ... ok [INFO] [stdout] test history::trend::tests::test_trend_declining ... ok [INFO] [stdout] test history::trend::tests::test_trend_improving ... ok [INFO] [stdout] test history::trend::tests::test_trend_is_regression ... ok [INFO] [stdout] test history::trend::tests::test_trend_lower_better ... ok [INFO] [stdout] test history::trend::tests::test_trend_stable ... ok [INFO] [stdout] test git::history::tests::test_tracks_contributors ... ok [INFO] [stdout] test languages::detector::tests::test_case_insensitive ... ok [INFO] [stdout] test languages::detector::tests::test_all_languages ... ok [INFO] [stdout] test languages::detector::tests::test_display ... ok [INFO] [stdout] test languages::detector::tests::test_go_extension ... ok [INFO] [stdout] test languages::detector::tests::test_javascript_extensions ... ok [INFO] [stdout] test languages::detector::tests::test_python_extensions ... ok [INFO] [stdout] test languages::detector::tests::test_rust_extension ... ok [INFO] [stdout] test languages::detector::tests::test_no_extension ... ok [INFO] [stdout] test languages::detector::tests::test_tree_sitter_languages ... ok [INFO] [stdout] test languages::detector::tests::test_unknown_extension ... ok [INFO] [stdout] test languages::detector::tests::test_typescript_extensions ... ok [INFO] [stdout] test output::json::tests::test_json_compact ... ok [INFO] [stdout] test output::json::tests::test_json_condition ... ok [INFO] [stdout] test output::json::tests::test_json_humidity_estimated ... ok [INFO] [stdout] test output::json::tests::test_json_serialization ... ok [INFO] [stdout] test git::history::tests::test_last_commit_days ... ok [INFO] [stdout] test output::markdown::tests::test_markdown_condition ... ok [INFO] [stdout] test output::markdown::tests::test_markdown_header ... ok [INFO] [stdout] test output::markdown::tests::test_markdown_summary ... ok [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ \ / CURRENT CONDITIONS: Sunny ║ [INFO] [stdout] ║ .-. Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ -( ) - Humidity: 80% (humid) ║ [INFO] [stdout] ║ `-' Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ / \ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ \ / CURRENT CONDITIONS: Partly Cloudy ║ [INFO] [stdout] ║ _ /"".-. Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ \_( ). Humidity: 80% (humid) ║ [INFO] [stdout] ║ /(___(__) Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ CURRENT CONDITIONS: Cloudy ║ [INFO] [stdout] ║ .--. Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ .-( ). Humidity: 80% (humid) ║ [INFO] [stdout] ║ (___.__).__) Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ CURRENT CONDITIONS: Foggy ║ [INFO] [stdout] ║ _ - _ - _ - Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ _ - _ - _ Humidity: 80% (humid) ║ [INFO] [stdout] ║ _ - _ - _ - Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ .--. CURRENT CONDITIONS: Rainy ║ [INFO] [stdout] ║ .-( ). Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ (___.__).__) Humidity: 80% (humid) ║ [INFO] [stdout] ║ ,',' ',',' Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ .--. CURRENT CONDITIONS: Frozen ║ [INFO] [stdout] ║ .-( ). Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ (___.__).__) Humidity: 80% (humid) ║ [INFO] [stdout] ║ * * * * * Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ .--. CURRENT CONDITIONS: Stormy ║ [INFO] [stdout] ║ .-( ). Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ (___.__).__) Humidity: 80% (humid) ║ [INFO] [stdout] ║ /_'/_'/_' Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] test output::markdown::tests::test_markdown_table ... ok [INFO] [stdout] test output::terminal::tests::test_all_conditions_render ... ok [INFO] [stdout] test output::json::tests::test_json_report_creation ... ok [INFO] [stdout] test output::terminal::tests::test_colorize_enabled ... ok [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ \ / CURRENT CONDITIONS: Partly Cloudy ║ [INFO] [stdout] ║ _ /"".-. Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ \_( ). Humidity: 80% (humid) ║ [INFO] [stdout] ║ /(___(__) Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] test output::terminal::tests::test_render_no_panic ... ok [INFO] [stdout] [INFO] [stdout] ╔══════════════════════════════════════════════════════════════╗ [INFO] [stdout] ║ CODE WEATHER FORECAST ║ [INFO] [stdout] ║ ./test - April 24, 2026 ║ [INFO] [stdout] ╠══════════════════════════════════════════════════════════════╣ [INFO] [stdout] ║ ║ [INFO] [stdout] ║ \ / CURRENT CONDITIONS: Partly Cloudy ║ [INFO] [stdout] ║ _ /"".-. Temperature: 75°F (comfortable) ║ [INFO] [stdout] ║ \_( ). Humidity: 80% (humid) ║ [INFO] [stdout] ║ /(___(__) Wind: 10 mph calm (light) ║ [INFO] [stdout] ║ Visibility: good ║ [INFO] [stdout] ║ ║ [INFO] [stdout] ╚══════════════════════════════════════════════════════════════╝ [INFO] [stdout] [INFO] [stdout] Detailed Analysis [INFO] [stdout] ──────────────────────────────────────── [INFO] [stdout] Temperature: Comfortable - healthy activity [INFO] [stdout] Humidity: Humid - excellent test coverage [INFO] [stdout] Wind: Light breeze - normal activity [INFO] [stdout] Visibility: Good - well documented [INFO] [stdout] [INFO] [stdout] test output::terminal::tests::test_render_verbose_no_panic ... ok [INFO] [stdout] test output::terminal::tests::test_colorize_disabled ... ok [INFO] [stdout] test output::terminal::tests::test_terminal_output_new ... ok [INFO] [stdout] test tests::test_condition_metrics_all ... ok [INFO] [stdout] test output::terminal::tests::test_box_width_constant ... ok [INFO] [stdout] test tests::test_explain_all_conditions ... ok [INFO] [stdout] test tests::test_explain_specific_condition ... ok [INFO] [stdout] test git::history::tests::test_active_repo_not_abandoned ... ok [INFO] [stdout] test tests::test_explain_with_metrics ... ok [INFO] [stdout] test tests::test_forecast_missing_path ... ok [INFO] [stdout] test tests::test_forecast_empty_dir ... ok [INFO] [stdout] test weather::conditions::tests::test_each_has_color ... ok [INFO] [stdout] test tests::test_init_full_config ... ok [INFO] [stdout] test weather::conditions::tests::test_ascii_art_consistent_width ... ok [INFO] [stdout] test weather::conditions::tests::test_frozen_second_highest_priority ... ok [INFO] [stdout] test weather::conditions::tests::test_ordering ... ok [INFO] [stdout] test weather::conditions::tests::test_stormy_high_priority ... ok [INFO] [stdout] test weather::conditions::tests::test_stormy_highest_priority ... ok [INFO] [stdout] test weather::conditions::tests::test_sunny_lowest_priority ... ok [INFO] [stdout] test weather::humidity::tests::test_display_actual ... ok [INFO] [stdout] test weather::humidity::tests::test_display_estimated ... ok [INFO] [stdout] test weather::humidity::tests::test_estimated_from_ratio ... ok [INFO] [stdout] test weather::humidity::tests::test_good_coverage_comfortable ... ok [INFO] [stdout] test weather::conditions::tests::test_each_has_unique_icon ... ok [INFO] [stdout] test tests::test_init_creates_config ... ok [INFO] [stdout] test weather::humidity::tests::test_low_coverage ... ok [INFO] [stdout] test weather::humidity::tests::test_moderate_coverage ... ok [INFO] [stdout] test weather::humidity::tests::test_high_coverage_humid ... ok [INFO] [stdout] test weather::humidity::tests::test_no_coverage_dry ... ok [INFO] [stdout] test weather::mapper::tests::test_frozen_abandoned ... ok [INFO] [stdout] test weather::mapper::tests::test_partly_cloudy_minor ... ok [INFO] [stdout] test weather::mapper::tests::test_foggy_low_visibility ... ok [INFO] [stdout] test weather::mapper::tests::test_cloudy_some_concerns ... ok [INFO] [stdout] test weather::mapper::tests::test_rainy_moderate_issues ... ok [INFO] [stdout] test weather::mapper::tests::test_stormy_high_churn_low_coverage ... ok [INFO] [stdout] test weather::mapper::tests::test_summary_format ... ok [INFO] [stdout] test weather::temperature::tests::test_abandoned_freezing ... ok [INFO] [stdout] test weather::temperature::tests::test_contributor_bonus ... ok [INFO] [stdout] test weather::temperature::tests::test_description_matches ... ok [INFO] [stdout] test weather::temperature::tests::test_high_activity_hot ... ok [INFO] [stdout] test weather::temperature::tests::test_low_activity_cool ... ok [INFO] [stdout] test weather::temperature::tests::test_celsius_conversion ... ok [INFO] [stdout] test weather::temperature::tests::test_moderate_activity_comfortable ... ok [INFO] [stdout] test weather::visibility::tests::test_full_docs_clear ... ok [INFO] [stdout] test weather::temperature::tests::test_no_activity_cold ... ok [INFO] [stdout] test weather::visibility::tests::test_moderate_docs ... ok [INFO] [stdout] test weather::visibility::tests::test_good_docs ... ok [INFO] [stdout] test weather::visibility::tests::test_no_docs_foggy ... ok [INFO] [stdout] test weather::visibility::tests::test_readme_bonus ... ok [INFO] [stdout] test weather::wind::tests::test_direction_growing ... ok [INFO] [stdout] test weather::wind::tests::test_direction_refactoring ... ok [INFO] [stdout] test weather::wind::tests::test_direction_shrinking ... ok [INFO] [stdout] test weather::wind::tests::test_extreme_churn_gale ... ok [INFO] [stdout] test weather::wind::tests::test_high_churn_strong ... ok [INFO] [stdout] test weather::visibility::tests::test_poor_docs ... ok [INFO] [stdout] test weather::wind::tests::test_moderate_churn ... ok [INFO] [stdout] test weather::wind::tests::test_low_churn_light ... ok [INFO] [stdout] test weather::wind::tests::test_no_churn_calm ... ok [INFO] [stdout] test git::churn::tests::test_all_files_changed ... ok [INFO] [stdout] test git::history::tests::test_counts_recent_commits ... ok [INFO] [stdout] test weather::mapper::tests::test_sunny_all_good ... ok [INFO] [stdout] test git::churn::tests::test_deletions_tracked ... ok [INFO] [stdout] test git::history::tests::test_valid_repo ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 218 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/code_weather-f96053bb5bb70313) [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_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-44b5322aae8d13e8) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test test_explain_all ... ok [INFO] [stdout] test test_init_force_overwrite ... ok [INFO] [stdout] test test_forecast_nonexistent_path ... ok [INFO] [stdout] test test_init_creates_config ... ok [INFO] [stdout] test test_version_flag ... ok [INFO] [stdout] test test_explain_specific ... ok [INFO] [stdout] test test_help_shows_commands ... ok [INFO] [stdout] test test_init_no_overwrite ... ok [INFO] [stdout] test test_forecast_json_output ... ok [INFO] [stdout] test test_verbose_output ... ok [INFO] [stdout] test test_multi_language_repo ... ok [INFO] [stderr] Doc-tests code_weather [INFO] [stdout] test test_forecast_markdown_output ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [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] running `Command { std: "docker" "inspect" "bef9c27e2b13ef9e4ff2089aa44440e750acf5c9ede79b431c59e976fe847f34", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bef9c27e2b13ef9e4ff2089aa44440e750acf5c9ede79b431c59e976fe847f34", kill_on_drop: false }` [INFO] [stdout] bef9c27e2b13ef9e4ff2089aa44440e750acf5c9ede79b431c59e976fe847f34