[INFO] cloning repository https://github.com/deelo-ai/devpulse
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/deelo-ai/devpulse" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeelo-ai%2Fdevpulse", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeelo-ai%2Fdevpulse'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 08ca1514d86ab673fe8e8afb60bebb7aed40fc34
[INFO] testing deelo-ai/devpulse against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdeelo-ai%2Fdevpulse" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/deelo-ai/devpulse
[INFO] finished tweaking git repo https://github.com/deelo-ai/devpulse
[INFO] tweaked toml for git repo https://github.com/deelo-ai/devpulse written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/deelo-ai/devpulse on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/deelo-ai/devpulse 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap_complete v4.5.66
[INFO] [stderr]   Downloaded libz-sys v1.1.24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1
[INFO] running `Command { std: "docker" "start" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1", 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" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1", 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" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling nix v0.31.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libz-sys v1.1.24
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling clap_complete v4.5.66
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling git2 v0.20.4
[INFO] [stderr]    Compiling dev-pulse v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 19s
[INFO] running `Command { std: "docker" "inspect" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1", 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" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling dev-pulse v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 9.16s
[INFO] running `Command { std: "docker" "inspect" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1", 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" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/devpulse-c49f3a4a9a736162)
[INFO] [stdout] 
[INFO] [stdout] running 295 tests
[INFO] [stdout] test ci::tests::test_cache_hit ... ok
[INFO] [stdout] test ci::tests::test_cache_miss ... ok
[INFO] [stdout] test ci::tests::test_cache_multiple_keys ... ok
[INFO] [stdout] test ci::tests::test_cache_overwrite ... ok
[INFO] [stdout] test ci::tests::test_parse_github_repo_only_owner ... ok
[INFO] [stdout] test ci::tests::test_parse_github_repo_plain_http ... ok
[INFO] [stdout] test ci::tests::test_parse_github_repo_standard ... ok
[INFO] [stdout] test ci::tests::test_display_unknown ... ok
[INFO] [stdout] test ci::tests::test_status_cancelled ... ok
[INFO] [stdout] test ci::tests::test_parse_github_repo_with_trailing_path ... ok
[INFO] [stdout] test ci::tests::test_display_fail ... ok
[INFO] [stdout] test ci::tests::test_parse_github_repo_empty_parts ... ok
[INFO] [stdout] test ci::tests::test_display_pass ... ok
[INFO] [stdout] test ci::tests::test_parse_github_repo_non_github ... ok
[INFO] [stdout] test ci::tests::test_display_pending ... ok
[INFO] [stdout] test ci::tests::test_status_skipped ... ok
[INFO] [stdout] test ci::tests::test_status_success ... ok
[INFO] [stdout] test ci::tests::test_status_completed_unknown_conclusion ... ok
[INFO] [stdout] test ci::tests::test_status_completed_no_conclusion ... ok
[INFO] [stdout] test ci::tests::test_status_queued ... ok
[INFO] [stdout] test ci::tests::test_status_unknown_status ... ok
[INFO] [stdout] test ci::tests::test_status_in_progress ... ok
[INFO] [stdout] test ci::tests::test_status_failure ... ok
[INFO] [stdout] test ci::tests::test_status_timed_out ... ok
[INFO] [stdout] test ci::tests::test_status_waiting ... ok
[INFO] [stdout] test completions::tests::test_shell_arg_to_shell_zsh ... ok
[INFO] [stdout] test completions::tests::test_shell_arg_to_shell_bash ... ok
[INFO] [stdout] test completions::tests::test_shell_arg_to_shell_fish ... ok
[INFO] [stdout] test config::tests::test_expand_tilde_bare ... ok
[INFO] [stdout] test completions::tests::test_generate_does_not_panic ... ok
[INFO] [stdout] test completions::tests::test_shell_arg_value_enum_variants ... ok
[INFO] [stdout] test ci::tests::test_cache_expired ... ok
[INFO] [stdout] test config::tests::test_expand_tilde_no_tilde ... ok
[INFO] [stdout] test config::tests::test_expand_tilde_home ... ok
[INFO] [stdout] test config::tests::test_expand_tilde_relative ... ok
[INFO] [stdout] test config::tests::test_invalid_toml_returns_error ... ok
[INFO] [stdout] test config::tests::test_parse_config_with_color_false ... ok
[INFO] [stdout] test config::tests::test_parse_config_with_depth ... ok
[INFO] [stdout] test config::tests::test_parse_config_with_color_true ... ok
[INFO] [stdout] test config::tests::test_no_config_file_returns_default ... ok
[INFO] [stdout] test config::tests::test_parse_config_without_color_is_none ... ok
[INFO] [stdout] test config::tests::test_parse_config_with_format ... ok
[INFO] [stdout] test config::tests::test_parse_config_with_theme ... ok
[INFO] [stdout] test config::tests::test_parse_format_str_valid_values ... ok
[INFO] [stdout] test config::tests::test_parse_format_str_empty ... ok
[INFO] [stdout] test config::tests::test_parse_format_str_invalid ... ok
[INFO] [stdout] test config::tests::test_parse_format_str_with_whitespace ... ok
[INFO] [stdout] test config::tests::test_parse_config_without_depth_is_none ... ok
[INFO] [stdout] test config::tests::test_parse_partial_config ... ok
[INFO] [stdout] test config::tests::test_parse_full_config ... ok
[INFO] [stdout] test config::tests::test_parse_config_without_format_is_none ... ok
[INFO] [stdout] test config::tests::test_resolve_color_cli_flag_overrides_all ... ok
[INFO] [stdout] test config::tests::test_parse_empty_config ... ok
[INFO] [stdout] test config::tests::test_parse_format_str_case_insensitive ... ok
[INFO] [stdout] test config::tests::test_parse_config_without_theme_is_none ... ok
[INFO] [stdout] test config::tests::test_resolve_scan_paths_empty ... ok
[INFO] [stdout] test config::tests::test_resolve_color_config_false_disables ... ok
[INFO] [stdout] test config::tests::test_resolve_scan_paths_relative ... ok
[INFO] [stdout] test config::tests::test_resolve_color_default_is_true ... ok
[INFO] [stdout] test config::tests::test_resolve_scan_paths_tilde ... ok
[INFO] [stdout] test config::tests::test_resolve_color_config_true_enables ... ok
[INFO] [stdout] test config::tests::test_wrong_type_in_config_returns_error ... ok
[INFO] [stdout] test export::tests::test_csv_dirty_project ... ok
[INFO] [stdout] test export::tests::test_csv_escape_quotes ... ok
[INFO] [stdout] test config::tests::test_resolve_color_empty_no_color_env_ignored ... ok
[INFO] [stdout] test config::tests::test_resolve_scan_paths_absolute ... ok
[INFO] [stdout] test config::tests::test_resolve_color_no_color_env_overrides_config ... ok
[INFO] [stdout] test export::tests::test_csv_multiple_projects ... ok
[INFO] [stdout] test export::tests::test_csv_no_last_commit ... ok
[INFO] [stdout] test export::tests::test_csv_single_project ... ok
[INFO] [stdout] test export::tests::test_format_display ... ok
[INFO] [stdout] test export::tests::test_format_output_empty ... ok
[INFO] [stdout] test export::tests::test_format_normalized ... ok
[INFO] [stdout] test export::tests::test_format_output_csv ... ok
[INFO] [stdout] test export::tests::test_format_output_json ... ok
[INFO] [stdout] test export::tests::test_json_empty ... ok
[INFO] [stdout] test export::tests::test_json_output_structure ... ok
[INFO] [stdout] test export::tests::test_markdown_dirty_project ... ok
[INFO] [stdout] test export::tests::test_markdown_empty_statuses ... ok
[INFO] [stdout] test export::tests::test_markdown_no_ahead_behind_shows_dash ... ok
[INFO] [stdout] test export::tests::test_markdown_pipe_escaping ... ok
[INFO] [stdout] test export::tests::test_markdown_project_with_pipe_in_name ... ok
[INFO] [stdout] test export::tests::test_markdown_single_clean_project ... ok
[INFO] [stdout] test export::tests::test_markdown_stash_display ... ok
[INFO] [stdout] test export::tests::test_markdown_summary_counts ... ok
[INFO] [stdout] test export::tests::test_csv_empty_statuses ... ok
[INFO] [stdout] test export::tests::test_markdown_zero_stash_shows_dash ... ok
[INFO] [stdout] test export::tests::test_csv_escape_commas ... ok
[INFO] [stdout] test export::tests::test_csv_escape_newlines ... ok
[INFO] [stdout] test export::tests::test_csv_no_escape_needed ... ok
[INFO] [stdout] test export::tests::test_relative_time_days ... ok
[INFO] [stdout] test export::tests::test_relative_time_just_now ... ok
[INFO] [stdout] test export::tests::test_relative_time_months ... ok
[INFO] [stdout] test export::tests::test_relative_time_hours ... ok
[INFO] [stdout] test export::tests::test_format_output_table_plain ... ok
[INFO] [stdout] test export::tests::test_format_output_md_alias ... ok
[INFO] [stdout] test export::tests::test_format_output_markdown ... ok
[INFO] [stdout] test export::tests::test_relative_time_minutes ... ok
[INFO] [stdout] test export::tests::test_relative_time_years ... ok
[INFO] [stdout] test export::tests::test_write_output_to_file_empty_statuses ... ok
[INFO] [stdout] test export::tests::test_write_output_to_file_table_no_ansi ... ok
[INFO] [stdout] test filter::tests::test_apply_filters_no_matches ... ok
[INFO] [stdout] test filter::tests::test_apply_multiple_filters_and_logic ... ok
[INFO] [stdout] test filter::tests::test_apply_no_filters ... ok
[INFO] [stdout] test filter::tests::test_combined_name_and_status_filter ... ok
[INFO] [stdout] test export::tests::test_write_output_to_file_json ... ok
[INFO] [stdout] test export::tests::test_write_output_to_file_creates_parent_dirs ... ok
[INFO] [stdout] test export::tests::test_write_output_to_file_csv ... ok
[INFO] [stdout] test filter::tests::test_match_name ... ok
[INFO] [stdout] test filter::tests::test_apply_single_filter ... ok
[INFO] [stdout] test filter::tests::test_match_stale ... ok
[INFO] [stdout] test export::tests::test_write_output_to_file_overwrites_existing ... ok
[INFO] [stdout] test filter::tests::test_parse_dirty ... ok
[INFO] [stdout] test filter::tests::test_parse_name_empty_value ... ok
[INFO] [stdout] test filter::tests::test_parse_stale ... ok
[INFO] [stdout] test filter::tests::test_parse_unknown ... ok
[INFO] [stdout] test filter::tests::test_parse_unpushed ... ok
[INFO] [stdout] test filter::tests::test_apply_filters_empty_input ... ok
[INFO] [stdout] test filter::tests::test_match_name_case_insensitive ... ok
[INFO] [stdout] test filter::tests::test_match_unpushed ... ok
[INFO] [stdout] test filter::tests::test_match_clean ... ok
[INFO] [stdout] test filter::tests::test_parse_clean ... ok
[INFO] [stdout] test filter::tests::test_match_dirty ... ok
[INFO] [stdout] test filter::tests::test_parse_name_filter ... ok
[INFO] [stdout] test git::tests::test_normalize_https_url_without_git_suffix ... ok
[INFO] [stdout] test git::tests::test_normalize_plain_url ... ok
[INFO] [stdout] test git::tests::test_normalize_https_url_with_git_suffix ... ok
[INFO] [stdout] test git::tests::test_normalize_ssh_url ... ok
[INFO] [stdout] test git::tests::test_last_commit_message_empty_repo ... ok
[INFO] [stdout] test git::tests::test_normalize_ssh_url_gitlab ... ok
[INFO] [stdout] test git::tests::test_last_commit_message_from_initial_commit ... ok
[INFO] [stdout] test git::tests::test_truncate_empty_string ... ok
[INFO] [stdout] test git::tests::test_truncate_exact_length ... ok
[INFO] [stdout] test git::tests::test_truncate_long_message ... ok
[INFO] [stdout] test git::tests::test_project_status_includes_message ... ok
[INFO] [stdout] test git::tests::test_truncate_short_message ... ok
[INFO] [stdout] test git::tests::test_truncate_unicode ... ok
[INFO] [stdout] test group::tests::test_csv_escape_in_group ... ok
[INFO] [stdout] test git::tests::test_truncate_max_len_1 ... ok
[INFO] [stdout] test group::tests::test_group_by_parent_empty_input ... ok
[INFO] [stdout] test group::tests::test_group_by_parent_multiple_groups ... ok
[INFO] [stdout] test group::tests::test_group_by_parent_single_group ... ok
[INFO] [stdout] test group::tests::test_grouped_csv_empty ... ok
[INFO] [stdout] test group::tests::test_grouped_csv_has_group_column ... ok
[INFO] [stdout] test group::tests::test_grouped_csv_multiple_groups ... ok
[INFO] [stdout] test group::tests::test_grouped_json_empty ... ok
[INFO] [stdout] test group::tests::test_grouped_markdown_empty ... ok
[INFO] [stdout] test group::tests::test_grouped_markdown_has_subheaders ... ok
[INFO] [stdout] test group::tests::test_grouped_markdown_overall_summary_with_multiple_groups ... ok
[INFO] [stdout] test group::tests::test_grouped_json_structure ... ok
[INFO] [stdout] test group::tests::test_grouped_markdown_single_group_no_overall ... ok
[INFO] [stdout] test group::tests::test_normalize_label_home_itself ... ok
[INFO] [stdout] test group::tests::test_normalize_label_non_home ... ok
[INFO] [stdout] test group::tests::test_normalize_label_uses_tilde ... ok
[INFO] [stdout] test scanner::tests::test_deep_nesting_depth_3 ... ok
[INFO] [stdout] test scanner::tests::test_depth_0_checks_dir_itself ... ok
[INFO] [stdout] test scanner::tests::test_depth_1_finds_immediate_children ... ok
[INFO] [stdout] test scanner::tests::test_depth_2_finds_nested_projects ... ok
[INFO] [stdout] test scanner::tests::test_depth_capped_at_max ... ok
[INFO] [stdout] test scanner::tests::test_discover_projects_uses_depth_1 ... ok
[INFO] [stdout] test group::tests::test_group_summary_stats ... ok
[INFO] [stdout] test scanner::tests::test_empty_directory ... ok
[INFO] [stdout] test git::tests::test_stash_count_empty_repo ... ok
[INFO] [stdout] test scanner::tests::test_does_not_recurse_into_git_projects ... ok
[INFO] [stdout] test scanner::tests::test_empty_directory_deep ... ok
[INFO] [stdout] test scanner::tests::test_ignore_applies_at_all_depth_levels ... ok
[INFO] [stdout] test scanner::tests::test_ignores_hidden_directories ... ok
[INFO] [stdout] test scanner::tests::test_ignores_specified_directories ... ok
[INFO] [stdout] test scanner::tests::test_nonexistent_directory_returns_error ... ok
[INFO] [stdout] test scanner::tests::test_non_utf8_names_skipped ... ok
[INFO] [stdout] test scanner::tests::test_results_are_sorted ... ok
[INFO] [stdout] test since::tests::test_chrono_duration_days ... ok
[INFO] [stdout] test since::tests::test_chrono_duration_months ... ok
[INFO] [stdout] test since::tests::test_chrono_duration_weeks ... ok
[INFO] [stdout] test since::tests::test_filter_all_excluded ... ok
[INFO] [stdout] test since::tests::test_filter_all_included ... ok
[INFO] [stdout] test since::tests::test_filter_boundary_exact_cutoff ... ok
[INFO] [stdout] test since::tests::test_filter_excludes_no_commit_by_default ... ok
[INFO] [stdout] test since::tests::test_filter_includes_no_commit_when_flag_set ... ok
[INFO] [stdout] test since::tests::test_filter_empty_input ... ok
[INFO] [stdout] test since::tests::test_filter_weeks_duration ... ok
[INFO] [stdout] test since::tests::test_parse_case_insensitive ... ok
[INFO] [stdout] test since::tests::test_filter_includes_recent_projects ... ok
[INFO] [stdout] test since::tests::test_filter_months_duration ... ok
[INFO] [stdout] test since::tests::test_parse_days ... ok
[INFO] [stdout] test since::tests::test_parse_large_number ... ok
[INFO] [stdout] test since::tests::test_parse_long_unit_names ... ok
[INFO] [stdout] test since::tests::test_parse_empty_string ... ok
[INFO] [stdout] test since::tests::test_parse_invalid_unit ... ok
[INFO] [stdout] test since::tests::test_parse_no_number ... ok
[INFO] [stdout] test since::tests::test_parse_weeks ... ok
[INFO] [stdout] test since::tests::test_parse_no_unit ... ok
[INFO] [stdout] test summary::tests::test_31_days_is_stale ... ok
[INFO] [stdout] test summary::tests::test_all_clean_active ... ok
[INFO] [stdout] test summary::tests::test_all_dirty_all_stale_all_unpushed ... ok
[INFO] [stdout] test since::tests::test_parse_months ... ok
[INFO] [stdout] test since::tests::test_parse_zero_duration ... ok
[INFO] [stdout] test summary::tests::test_mixed_statuses ... ok
[INFO] [stdout] test summary::tests::test_exactly_30_days_is_not_stale ... ok
[INFO] [stdout] test summary::tests::test_no_commits_counts_as_stale ... ok
[INFO] [stdout] test summary::tests::test_print_colored_does_not_panic ... ok
[INFO] [stdout] test summary::tests::test_multiple_unpushed ... ok
[INFO] [stdout] test summary::tests::test_serialization ... ok
[INFO] [stdout] test summary::tests::test_to_plain_string ... ok
[INFO] [stdout] test summary::tests::test_to_plain_string_zeros ... ok
[INFO] [stdout] test table::tests::test_plain_table_ahead_behind ... ok
[INFO] [stdout] test table::tests::test_plain_table_contains_header ... ok
[INFO] [stdout] test table::tests::test_plain_table_empty ... ok
[INFO] [stdout] test table::tests::test_plain_table_long_project_name_widens_column ... ok
[INFO] [stdout] test table::tests::test_plain_table_no_ahead_behind_shows_dash ... ok
[INFO] [stdout] test table::tests::test_plain_table_no_last_commit ... ok
[INFO] [stdout] test table::tests::test_plain_table_single_clean_project ... ok
[INFO] [stdout] test table::tests::test_plain_table_single_dirty_project ... ok
[INFO] [stdout] test table::tests::test_plain_table_stash_count ... ok
[INFO] [stdout] test table::tests::test_relative_time_11_months ... ok
[INFO] [stdout] test table::tests::test_relative_time_23_hours ... ok
[INFO] [stdout] test table::tests::test_plain_table_multiple_projects ... ok
[INFO] [stdout] test table::tests::test_relative_time_29_days ... ok
[INFO] [stdout] test since::tests::test_parse_with_whitespace ... ok
[INFO] [stdout] test summary::tests::test_empty_statuses ... ok
[INFO] [stdout] test table::tests::test_relative_time_boundary_365_days ... ok
[INFO] [stdout] test table::tests::test_relative_time_boundary_60_minutes ... ok
[INFO] [stdout] test table::tests::test_relative_time_boundary_24_hours ... ok
[INFO] [stdout] test table::tests::test_relative_time_days_ago ... ok
[INFO] [stdout] test table::tests::test_relative_time_59_minutes ... ok
[INFO] [stdout] test table::tests::test_relative_time_hours_ago ... ok
[INFO] [stdout] test table::tests::test_relative_time_just_now ... ok
[INFO] [stdout] test table::tests::test_relative_time_months_ago ... ok
[INFO] [stdout] test table::tests::test_relative_time_multiple_years ... ok
[INFO] [stdout] test table::tests::test_relative_time_boundary_30_days ... ok
[INFO] [stdout] test table::tests::test_relative_time_minutes_ago ... ok
[INFO] [stdout] test table::tests::test_relative_time_seconds_ago ... ok
[INFO] [stdout] test theme::tests::test_available_themes_length ... ok
[INFO] [stdout] test theme::tests::test_catppuccin_mocha_colors_match_spec ... ok
[INFO] [stdout] test table::tests::test_relative_time_years_ago ... ok
[INFO] [stdout] test theme::tests::test_nord_colors_match_spec ... ok
[INFO] [stdout] test theme::tests::test_resolve_theme_invalid_name ... ok
[INFO] [stdout] test theme::tests::test_resolve_theme_none_returns_default ... ok
[INFO] [stdout] test theme::tests::test_resolve_theme_valid_name ... ok
[INFO] [stdout] test theme::tests::test_theme_color_to_crossterm ... ok
[INFO] [stdout] test theme::tests::test_builtin_theme_returns_correct_name ... ok
[INFO] [stdout] test theme::tests::test_dracula_colors_match_spec ... ok
[INFO] [stdout] test theme::tests::test_theme_color_to_ratatui ... ok
[INFO] [stdout] test theme::tests::test_theme_name_display ... ok
[INFO] [stdout] test theme::tests::test_theme_name_from_str_case_insensitive ... ok
[INFO] [stdout] [master 1587806] Subject line
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 file.txt
[INFO] [stdout] test theme::tests::test_theme_name_from_str_valid ... ok
[INFO] [stdout] test theme::tests::test_theme_name_from_str_with_whitespace ... ok
[INFO] [stdout] test theme::tests::test_theme_name_from_str_invalid ... ok
[INFO] [stdout] test tui::tests::test_app_next_on_empty ... ok
[INFO] [stdout] [master 049a393] feat: add awesome feature
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 file.txt
[INFO] [stdout] test theme::tests::test_all_themes_have_distinct_colors ... ok
[INFO] [stdout] test tui::tests::test_app_new_empty ... ok
[INFO] [stdout] test tui::tests::test_app_new_selects_first ... ok
[INFO] [stdout] test tui::tests::test_app_next_wraps_around ... ok
[INFO] [stdout] test git::tests::test_last_commit_message_custom ... ok
[INFO] [stdout] test tui::tests::test_app_previous_on_empty ... ok
[INFO] [stdout] test tui::tests::test_default_detail_mode_is_summary ... ok
[INFO] [stdout] test tui::tests::test_empty_query_shows_all ... ok
[INFO] [stdout] test tui::tests::test_app_previous_wraps_around ... ok
[INFO] [stdout] test tui::tests::test_enter_search_mode ... ok
[INFO] [stdout] test tui::tests::test_fetch_git_log_not_a_repo ... ok
[INFO] [stdout] test tui::tests::test_esc_clears_search ... ok
[INFO] [stdout] test tui::tests::test_format_relative_time_days ... ok
[INFO] [stdout] test tui::tests::test_format_relative_time_hours ... ok
[INFO] [stdout] test tui::tests::test_format_relative_time_just_now ... ok
[INFO] [stdout] test tui::tests::test_format_relative_time_minutes ... ok
[INFO] [stdout] test tui::tests::test_format_relative_time_months ... ok
[INFO] [stdout] test tui::tests::test_format_relative_time_years ... ok
[INFO] [stdout] test tui::tests::test_log_entry_is_merge ... ok
[INFO] [stdout] test tui::tests::test_scroll_log_down_clamps ... ok
[INFO] [stdout] test tui::tests::test_scroll_log_empty_entries ... ok
[INFO] [stdout] test tui::tests::test_navigation_within_filtered_list ... ok
[INFO] [stdout] test tui::tests::test_scroll_log_up_clamps_at_zero ... ok
[INFO] [stdout] Saved working directory and index state On master: first stash
[INFO] [stdout] test tui::tests::test_search_case_insensitive ... ok
[INFO] [stdout] test git::tests::test_last_commit_message_multiline_takes_first_line ... ok
[INFO] [stdout] test tui::tests::test_search_filters_list ... ok
[INFO] [stdout] test tui::tests::test_search_no_matches ... ok
[INFO] [stdout] test tui::tests::test_selected_project ... ok
[INFO] [stdout] test tui::tests::test_selected_project_empty ... ok
[INFO] [stdout] test tui::tests::test_selected_project_after_navigation ... ok
[INFO] [stdout] test tui::tests::test_toggle_git_log_resets_scroll ... Saved working directory and index state On master: to pop
[INFO] [stdout] ok
[INFO] [stdout] test watch::tests::test_clear_screen_does_not_panic ... ok
[INFO] [stdout] test watch::tests::test_format_watch_header_contains_exit_hint ... ok
[INFO] [stdout] test watch::tests::test_format_watch_header_contains_interval ... ok
[INFO] [stdout] test tui::tests::test_toggle_git_log_switches_mode ... ok
[INFO] [stdout] test watch::tests::test_format_watch_header_contains_path ... ok
[INFO] [stdout] test watch::tests::test_format_watch_header_contains_timestamp ... ok
[INFO] [stdout] test tui::tests::test_fetch_git_log_empty_repo ... ok
[INFO] [stdout] test watch::tests::test_interruptible_sleep_zero_duration ... ok
[INFO] [stdout] test watch::tests::test_interruptible_sleep_immediate_stop ... ok
[INFO] [stdout] Initialized empty Git repository in /tmp/.tmpTugnPC/.git/
[INFO] [stdout] Saved working directory and index state On master: second stash
[INFO] [stdout] On branch master
[INFO] [stdout] Changes to be committed:
[INFO] [stdout]   (use "git restore --staged <file>..." to unstage)
[INFO] [stdout] 	new file:   file.txt
[INFO] [stdout] 
[INFO] [stdout] Dropped refs/stash@{0} (dbc84c93ccb9d92319228a8cbba521316c212403)
[INFO] [stdout] test git::tests::test_stash_count_after_pop ... ok
[INFO] [stdout] [main (root-commit) 0868814] initial
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 a.txt
[INFO] [stdout] test git::tests::test_stash_count_with_stashes ... ok
[INFO] [stderr] Switched to a new branch 'feature'
[INFO] [stdout] [master (root-commit) b5e1225] commit 0
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 file0.txt
[INFO] [stdout] [feature 788313a] feature work
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 b.txt
[INFO] [stderr] Switched to branch 'main'
[INFO] [stdout] [master 0d55766] commit 1
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 file1.txt
[INFO] [stdout] Merge made by the 'ort' strategy.
[INFO] [stdout] test watch::tests::test_interruptible_sleep_completes_normally ... ok
[INFO] [stdout]  b.txt | 1 +
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 b.txt
[INFO] [stdout] test tui::tests::test_fetch_git_log_merge_commit ... ok
[INFO] [stdout] [master cc88a75] commit 2
[INFO] [stdout]  1 file changed, 1 insertion(+)
[INFO] [stdout]  create mode 100644 file2.txt
[INFO] [stdout] test tui::tests::test_fetch_git_log_with_real_repo ... ok
[INFO] [stdout] test watch::tests::test_interruptible_sleep_stops_early_when_flagged ... ok
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-5c326d5e2ed02cba)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 295 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.66s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 72 tests
[INFO] [stdout] test test_completions_invalid_shell ... ok
[INFO] [stdout] test test_completions_bash ... ok
[INFO] [stdout] test test_completions_zsh ... ok
[INFO] [stdout] test test_completions_fish ... ok
[INFO] [stdout] test test_completions_contains_all_flags ... ok
[INFO] [stdout] test test_depth_two_nested_repos ... ok
[INFO] [stdout] test test_empty_directory ... ok
[INFO] [stdout] test test_empty_scan_directory_json ... ok
[INFO] [stdout] test test_default_depth_scans_children ... ok
[INFO] [stdout] test test_config_file ... ok
[INFO] [stdout] test test_csv_format_flag ... ok
[INFO] [stdout] test test_depth_zero ... ok
[INFO] [stdout] test test_csv_output_to_file ... ok
[INFO] [stdout] test test_csv_output ... ok
[INFO] [stdout] test test_format_table_explicit ... ok
[INFO] [stdout] test test_filter_stale ... ok
[INFO] [stdout] test test_csv_header_and_row_count ... ok
[INFO] [stdout] test test_filter_unpushed ... ok
[INFO] [stdout] test test_filter_by_name ... ok
[INFO] [stdout] test test_filter_clean ... ok
[INFO] [stdout] test test_help_output_contains_key_info ... ok
[INFO] [stdout] test test_help_flag ... ok
[INFO] [stdout] test test_filter_dirty ... ok
[INFO] [stdout] test test_group_with_csv_output ... ok
[INFO] [stdout] test test_filter_combined_dirty_and_name ... ok
[INFO] [stdout] test test_group_flag ... ok
[INFO] [stdout] test test_group_with_markdown_output ... ok
[INFO] [stdout] test test_group_json_output ... ok
[INFO] [stdout] test test_include_empty_with_since ... ok
[INFO] [stdout] test test_json_output ... ok
[INFO] [stdout] test test_json_format_flag_equivalent_to_json_flag ... ok
[INFO] [stdout] test test_long_project_name ... ok
[INFO] [stdout] test test_last_commit_message_in_json ... ok
[INFO] [stdout] test test_invalid_filter ... ok
[INFO] [stdout] test test_markdown_output ... ok
[INFO] [stdout] test test_invalid_since_zero_days ... ok
[INFO] [stdout] test test_markdown_format_flag ... ok
[INFO] [stdout] test test_markdown_output_to_file ... ok
[INFO] [stdout] test test_multiple_filters ... ok
[INFO] [stdout] test test_markdown_table_structure ... ok
[INFO] [stdout] test test_json_summary_counts ... ok
[INFO] [stdout] test test_no_color_env_var ... ok
[INFO] [stdout] test test_invalid_since_value ... ok
[INFO] [stdout] test test_multiple_repos_sorted_by_activity ... ok
[INFO] [stdout] test test_no_color_flag ... ok
[INFO] [stdout] test test_output_file_creates_parent_dirs ... ok
[INFO] [stdout] test test_repo_with_no_commits ... ok
[INFO] [stdout] test test_permission_denied_directory ... ok
[INFO] [stdout] test test_output_to_file ... ok
[INFO] [stdout] test test_repo_with_only_staged_no_commits ... ok
[INFO] [stdout] test test_nonexistent_directory ... ok
[INFO] [stdout] test test_scan_clean_repo ... ok
[INFO] [stdout] test test_scan_dirty_repo ... ok
[INFO] [stdout] test test_scan_single_repo_depth_zero ... ok
[INFO] [stdout] test test_since_flag ... ok
[INFO] [stdout] test test_since_flag_excludes_old ... ok
[INFO] [stdout] test test_sort_by_status ... ok
[INFO] [stdout] test test_sort_by_name_deterministic ... ok
[INFO] [stdout] test test_stash_count_in_json ... ok
[INFO] [stdout] test test_sort_by_name ... ok
[INFO] [stdout] test test_theme_cli_overrides_config ... ok
[INFO] [stdout] test test_parallel_scanning_deterministic_order ... ok
[INFO] [stdout] test test_theme_flag_catppuccin ... ok
[INFO] [stdout] test test_staged_changes_detected ... ok
[INFO] [stdout] test test_theme_flag_dracula ... ok
[INFO] [stdout] test test_symlink_to_repo ... ok
[INFO] [stdout] test test_version_flag ... ok
[INFO] [stdout] test test_theme_from_config_file ... ok
[INFO] [stdout] test test_theme_flag_nord ... ok
[INFO] [stdout] test test_parallel_scanning_nested_depth ... ok
[INFO] [stdout] test test_theme_flag_invalid ... ok
[INFO] [stdout] test test_parallel_scanning_many_repos ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 72 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.68s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1", kill_on_drop: false }`
[INFO] [stdout] 4e87afeac751a5e03795815a1795a84cf715c1a692b5e684926f8ee1dcec49e1
