[INFO] cloning repository https://github.com/unhappychoice/gittype
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/unhappychoice/gittype" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funhappychoice%2Fgittype", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funhappychoice%2Fgittype'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 5c8e2949111318868e2f1ae69a75e267a09fe23b
[INFO] testing unhappychoice/gittype against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Funhappychoice%2Fgittype" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/unhappychoice/gittype
[INFO] finished tweaking git repo https://github.com/unhappychoice/gittype
[INFO] tweaked toml for git repo https://github.com/unhappychoice/gittype written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/unhappychoice/gittype on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/unhappychoice/gittype already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 889f837ff24b87ca2c81992c1c82a0bae7e6a3c2b0a53a44dc0b6c01ddf24f92
[INFO] running `Command { std: "docker" "start" "-a" "889f837ff24b87ca2c81992c1c82a0bae7e6a3c2b0a53a44dc0b6c01ddf24f92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "889f837ff24b87ca2c81992c1c82a0bae7e6a3c2b0a53a44dc0b6c01ddf24f92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "889f837ff24b87ca2c81992c1c82a0bae7e6a3c2b0a53a44dc0b6c01ddf24f92", kill_on_drop: false }`
[INFO] [stdout] 889f837ff24b87ca2c81992c1c82a0bae7e6a3c2b0a53a44dc0b6c01ddf24f92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fa62168d116eb3a8134be0b8978c9a5af176f09c6c0b7ca66ecea4cc901b20ac
[INFO] running `Command { std: "docker" "start" "-a" "fa62168d116eb3a8134be0b8978c9a5af176f09c6c0b7ca66ecea4cc901b20ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling aws-lc-rs v1.15.4
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling openssl-src v300.5.5+3.5.5
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling aws-lc-sys v0.37.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libz-sys v1.1.23
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[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 tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[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 unicode-width v0.2.2
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling kasuari v0.4.11
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling deranged v0.5.6
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling nix v0.31.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling libgit2-sys v0.18.3+1.9.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling destructure_traitobject v0.2.0
[INFO] [stderr]    Compiling streaming-iterator v0.1.9
[INFO] [stderr]    Compiling unsafe-any-ors v1.0.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling tree-sitter-kotlin-ng v1.1.0
[INFO] [stderr]    Compiling tree-sitter-ruby v0.23.1
[INFO] [stderr]    Compiling tree-sitter-php v0.24.2
[INFO] [stderr]    Compiling tree-sitter-dart v0.0.4
[INFO] [stderr]    Compiling tree-sitter-c-sharp v0.23.1
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.0
[INFO] [stderr]    Compiling tree-sitter-erlang v0.15.0
[INFO] [stderr]    Compiling tree-sitter-swift v0.7.1
[INFO] [stderr]    Compiling tree-sitter-go v0.25.0
[INFO] [stderr]    Compiling tree-sitter-clojure v0.1.0
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling tree-sitter-zig v1.1.2
[INFO] [stderr]    Compiling tree-sitter-scala v0.24.0
[INFO] [stderr]    Compiling tree-sitter-javascript v0.25.0
[INFO] [stderr]    Compiling tree-sitter-c v0.24.1
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-haskell v0.23.1
[INFO] [stderr]    Compiling tree-sitter-elixir v0.3.5
[INFO] [stderr]    Compiling tree-sitter-cpp v0.23.4
[INFO] [stderr]    Compiling tree-sitter-python v0.25.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling shaku_derive v0.6.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling typemap-ors v1.0.0
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling thread-id v5.1.0
[INFO] [stderr]    Compiling arc-swap v1.8.1
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling mock_instant v0.6.0
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling anymap2 v0.13.0
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling gittype v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling jiff v0.2.20
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling log-mdc v0.1.0
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling log4rs v1.4.0
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling shaku v0.6.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling open v5.3.3
[INFO] [stderr]    Compiling ctrlc v3.5.2
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling ansi-to-tui v8.0.1
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling git2 v0.20.4
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9m 55s
[INFO] running `Command { std: "docker" "inspect" "fa62168d116eb3a8134be0b8978c9a5af176f09c6c0b7ca66ecea4cc901b20ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa62168d116eb3a8134be0b8978c9a5af176f09c6c0b7ca66ecea4cc901b20ac", kill_on_drop: false }`
[INFO] [stdout] fa62168d116eb3a8134be0b8978c9a5af176f09c6c0b7ca66ecea4cc901b20ac
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b9445e8fa6c0851f96ffec1f89d0f4868c4c17fc3166da9454baefe8970b698f
[INFO] running `Command { std: "docker" "start" "-a" "b9445e8fa6c0851f96ffec1f89d0f4868c4c17fc3166da9454baefe8970b698f", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling gittype v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serde-value v0.7.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling insta v1.46.3
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling log4rs v1.4.0
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 20s
[INFO] running `Command { std: "docker" "inspect" "b9445e8fa6c0851f96ffec1f89d0f4868c4c17fc3166da9454baefe8970b698f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9445e8fa6c0851f96ffec1f89d0f4868c4c17fc3166da9454baefe8970b698f", kill_on_drop: false }`
[INFO] [stdout] b9445e8fa6c0851f96ffec1f89d0f4868c4c17fc3166da9454baefe8970b698f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 00ae8acdd2dec9d15cd6d1c50970d7db1c13ab6253443e27ef1cee2967f92d43
[INFO] running `Command { std: "docker" "start" "-a" "00ae8acdd2dec9d15cd6d1c50970d7db1c13ab6253443e27ef1cee2967f92d43", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.63s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gittype-28fb73dd684beed6)
[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 unittests src/main.rs (/opt/rustwide/target/debug/deps/gittype-e537d0004b9c32c4)
[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/mod.rs (/opt/rustwide/target/debug/deps/mod-ab53fb6c3eed97bb)
[INFO] [stdout] 
[INFO] [stdout] running 1952 tests
[INFO] [stdout] test integration::ascii_art_coverage_tests::test_all_tiers_represented ... ok
[INFO] [stdout] test integration::ascii_art_coverage_tests::test_ascii_art_quality ... ok
[INFO] [stdout] test integration::comment_processing_tests::byte_char_position_bugs::test_original_indent_chars_fix ... ok
[INFO] [stdout] test integration::comment_processing_tests::regression_tests::test_duplicate_comment_strings ... ok
[INFO] [stdout] test integration::comment_processing_tests::regression_tests::test_scala_comment_processing ... ok
[INFO] [stdout] test integration::indent_treesitter_tests::test_indent_char_extraction_accuracy ... ok
[INFO] [stdout] test integration::comment_processing_tests::comment_range_extraction::test_comment_with_special_chars ... ok
[INFO] [stdout] test integration::comment_processing_tests::comment_range_extraction::test_position_mapping_debug ... ok
[INFO] [stdout] test integration::ascii_art_coverage_tests::test_all_rank_titles_have_ascii_art ... ok
[INFO] [stdout] test integration::languages::c::extractor::test_c_function_extraction ... ok
[INFO] [stdout] test integration::languages::c::extractor::test_c_function_declarations ... ok
[INFO] [stdout] test integration::indent_treesitter_tests::test_multibyte_indent_treesitter ... ok
[INFO] [stdout] test integration::languages::c::extractor::test_c_struct_extraction ... ok
[INFO] [stdout] test integration::languages::c::extractor::test_c_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::c::typing_core::c_enum_with_comments ... ok
[INFO] [stdout] test integration::languages::c::typing_core::c_function_with_block_comment ... ok
[INFO] [stdout] test integration::languages::c::typing_core::c_function_with_comment ... ok
[INFO] [stdout] test integration::languages::c::typing_core::c_struct_with_comments ... ok
[INFO] [stdout] test integration::languages::c::extractor::test_c_complex_types ... ok
[INFO] [stdout] test integration::languages::c::typing_core::c_macros_with_comments ... ok
[INFO] [stdout] test integration::comment_processing_tests::byte_char_position_bugs::test_real_models_options_file_reproduces_bug ... ok
[INFO] [stdout] test integration::languages::c::extractor::test_c_variable_extraction ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_def_extraction ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_defmacro_extraction ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_defn_dash_extraction ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_def_and_ns_mixed ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_empty_line_preservation_disabled ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_empty_line_preservation_enabled ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_function_with_block_comment ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_defn_extraction ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_function_with_comment ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_nested_structure_with_comments ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_macro_with_line_comments ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_protocol_with_comments ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_record_with_comments ... ok
[INFO] [stdout] test integration::languages::clojure::typing_core::clojure_type_with_comments ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_deftype_extraction ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_mixed_definition_forms ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_defprotocol_extraction ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_defrecord_extraction ... ok
[INFO] [stdout] test integration::languages::clojure::extractor::test_clojure_ns_extraction ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_operator_overloading ... ok
[INFO] [stdout] test integration::indent_treesitter_tests::test_chunk_start_indentation_patterns ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_constructor_destructor_extraction ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_class_extraction ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_inheritance_polymorphism ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_function_extraction ... ok
[INFO] [stdout] test integration::languages::cpp::typing_core::cpp_class_with_comments ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_namespace_extraction ... ok
[INFO] [stdout] test integration::languages::cpp::typing_core::cpp_function_with_comment ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::cpp::typing_core::cpp_function_with_block_comment ... ok
[INFO] [stdout] test integration::languages::cpp::typing_core::cpp_namespace_with_comments ... ok
[INFO] [stdout] test integration::languages::cpp::typing_core::cpp_template_class ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_class_extraction ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_async_await ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_interface_extraction ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_events_delegates_lambdas ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_smart_pointers ... ok
[INFO] [stdout] test integration::languages::csharp::typing_core::csharp_class_with_comment ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_template_extraction ... ok
[INFO] [stdout] test integration::languages::cpp::extractor::test_cpp_struct_extraction ... ok
[INFO] [stdout] test integration::languages::csharp::typing_core::csharp_interface_with_comments ... ok
[INFO] [stdout] test integration::languages::csharp::typing_core::csharp_method_with_xml_doc ... ok
[INFO] [stdout] test integration::languages::csharp::typing_core::csharp_struct_with_comments ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_linq_and_lambda ... ok
[INFO] [stdout] test integration::languages::dart::extractor::test_dart_abstract_class_extraction ... ok
[INFO] [stdout] test integration::languages::dart::extractor::test_dart_class_extraction ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_namespace_extraction ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_struct_and_enum_extraction ... ok
[INFO] [stdout] test integration::languages::dart::extractor::test_dart_enum_extraction ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_properties_and_fields ... ok
[INFO] [stdout] test integration::languages::dart::extractor::test_dart_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::dart::extractor::test_dart_function_extraction ... ok
[INFO] [stdout] test integration::languages::dart::typing_core::dart_async_function_with_comments ... ok
[INFO] [stdout] test integration::languages::dart::typing_core::dart_function_with_comment ... ok
[INFO] [stdout] test integration::languages::dart::typing_core::dart_class_with_comments ... ok
[INFO] [stdout] test integration::languages::dart::extractor::test_dart_extension_extraction ... ok
[INFO] [stdout] test integration::languages::dart::typing_core::dart_widget_with_comments ... ok
[INFO] [stdout] test integration::languages::dart::typing_core::dart_enum_with_comments ... ok
[INFO] [stdout] test integration::languages::csharp::extractor::test_csharp_records_and_pattern_matching ... ok
[INFO] [stdout] test integration::languages::dart::extractor::test_dart_mixin_extraction ... ok
[INFO] [stdout] test integration::languages::dart::extractor::test_dart_variable_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_defprotocol_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_defmodule_and_def_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_defguard_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_doc_comment_with_heredoc ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_empty_line_preservation_enabled ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_empty_line_preservation_disabled ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_defmacro_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_genserver_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_function_with_comment ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_module_with_comments ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_genserver_with_comments ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_multi_clause_with_comments ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_nested_with_expression_comments ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_mixed_definitions ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_pipe_operator_with_comments ... ok
[INFO] [stdout] test integration::languages::elixir::typing_core::elixir_pattern_matching_with_comments ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_behaviour_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_defstruct_extraction ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_fun_expression ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_function_extraction ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_case_expression ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_case_expression_with_comments ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_multiple_functions_extraction ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_empty_line_preservation_disabled ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_empty_line_preservation_enabled ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_record_extraction ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_receive_expression ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_function_with_comment ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_gen_server_full ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_module_with_comments ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_pattern_matching_with_comments ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_gen_server_with_comments ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_record_with_comments ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_receive_with_comments ... ok
[INFO] [stdout] test integration::languages::erlang::extractor::test_erlang_type_spec_extraction ... ok
[INFO] [stdout] test integration::languages::erlang::typing_core::erlang_list_comprehension_with_comments ... ok
[INFO] [stdout] test integration::languages::go::extractor::test_go_concurrency_patterns ... ok
[INFO] [stdout] test integration::languages::go::extractor::test_go_interface_extraction ... ok
[INFO] [stdout] test integration::languages::go::extractor::test_go_function_extraction ... ok
[INFO] [stdout] test integration::languages::go::extractor::test_go_const_var_type_alias_extraction ... ok
[INFO] [stdout] test integration::languages::go::extractor::test_go_defer_and_error_handling ... ok
[INFO] [stdout] test integration::languages::go::typing_core::go_function_with_comment ... ok
[INFO] [stdout] test integration::languages::go::extractor::test_go_select_and_channels ... ok
[INFO] [stdout] test integration::languages::go::typing_core::go_interface_with_comments ... ok
[INFO] [stdout] test integration::languages::go::typing_core::go_struct_with_comments ... ok
[INFO] [stdout] test integration::languages::go::typing_core::go_function_with_block_comment ... ok
[INFO] [stdout] test integration::languages::go::typing_core::go_goroutine_with_comments ... ok
[INFO] [stdout] test integration::languages::go::extractor::test_go_struct_extraction ... ok
[INFO] [stdout] test integration::languages::go::extractor::test_go_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::elixir::extractor::test_elixir_multiple_modules_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::extractor::test_haskell_data_type_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::extractor::test_haskell_pattern_matching_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::extractor::test_haskell_comprehensive_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::extractor::test_haskell_type_class_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::typing_core::haskell_data_type_with_comments ... ok
[INFO] [stdout] test integration::languages::haskell::extractor::test_haskell_converter ... ok
[INFO] [stdout] test integration::languages::haskell::extractor::test_haskell_module_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::typing_core::haskell_typeclass_with_comments ... ok
[INFO] [stdout] test integration::languages::haskell::typing_core::haskell_function_with_comment ... ok
[INFO] [stdout] test integration::languages::java::extractor::test_java_enum_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::extractor::test_haskell_function_extraction ... ok
[INFO] [stdout] test integration::languages::java::typing_core::java_generic_class ... ok
[INFO] [stdout] test integration::languages::java::extractor::test_java_interface_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::typing_core::haskell_multi_line_comment ... ok
[INFO] [stdout] test integration::languages::java::typing_core::java_method_with_javadoc ... ok
[INFO] [stdout] test integration::languages::java::typing_core::java_class_with_comments ... ok
[INFO] [stdout] test integration::languages::java::typing_core::java_interface_with_comments ... ok
[INFO] [stdout] test integration::languages::java::typing_core::java_method_with_comment ... ok
[INFO] [stdout] test integration::languages::java::extractor::test_java_class_method_extraction ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_arrow_function_extraction ... ok
[INFO] [stdout] test integration::languages::java::extractor::test_java_field_extraction ... ok
[INFO] [stdout] test integration::languages::java::extractor::test_java_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_destructuring_spread ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_export_extraction ... ok
[INFO] [stdout] test integration::languages::haskell::extractor::test_haskell_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_assignment_methods ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_class_extraction ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_function_extraction ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_generators_iterators ... ok
[INFO] [stdout] test integration::languages::javascript::typing_core::javascript_arrow_function ... ok
[INFO] [stdout] test integration::languages::javascript::typing_core::javascript_async_function ... ok
[INFO] [stdout] test integration::languages::javascript::typing_core::javascript_function_with_block_comment ... ok
[INFO] [stdout] test integration::languages::javascript::typing_core::javascript_function_with_comment ... ok
[INFO] [stdout] test integration::languages::javascript::typing_core::javascript_class_with_comments ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_mixed_patterns ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_promises_callbacks ... ok
[INFO] [stdout] test integration::languages::javascript::extractor::test_javascript_switch_and_expressions ... ok
[INFO] [stdout] test integration::languages::kotlin::extractor::test_kotlin_extension_functions ... ok
[INFO] [stdout] test integration::languages::kotlin::typing_core::kotlin_class_with_comments ... ok
[INFO] [stdout] test integration::languages::kotlin::extractor::test_kotlin_class_extraction ... ok
[INFO] [stdout] test integration::languages::kotlin::extractor::test_kotlin_sealed_classes ... ok
[INFO] [stdout] test integration::languages::kotlin::extractor::test_kotlin_delegation_patterns ... ok
[INFO] [stdout] test integration::languages::kotlin::extractor::test_kotlin_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::kotlin::extractor::test_kotlin_comprehensive_extraction ... ok
[INFO] [stdout] test integration::languages::kotlin::typing_core::kotlin_extension_with_comments ... ok
[INFO] [stdout] test integration::languages::kotlin::typing_core::kotlin_function_with_comment ... ok
[INFO] [stdout] test integration::languages::kotlin::typing_core::kotlin_data_class_with_comments ... ok
[INFO] [stdout] test integration::languages::kotlin::extractor::test_kotlin_object_extraction ... ok
[INFO] [stdout] test integration::languages::php::typing_core::php_array_with_comments ... ok
[INFO] [stdout] test integration::languages::kotlin::typing_core::kotlin_sealed_class_with_comments ... ok
[INFO] [stdout] test integration::languages::kotlin::extractor::test_kotlin_function_extraction ... ok
[INFO] [stdout] test integration::languages::php::typing_core::php_class_with_comments ... ok
[INFO] [stdout] test integration::languages::php::typing_core::php_function_with_comment ... ok
[INFO] [stdout] test integration::languages::php::typing_core::php_function_with_block_comment ... ok
[INFO] [stdout] test integration::languages::php::extractor::test_php_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::php::typing_core::php_namespace_with_comments ... ok
[INFO] [stdout] test integration::languages::php::extractor::test_php_class_extraction ... ok
[INFO] [stdout] test integration::languages::php::extractor::test_php_function_extraction ... ok
[INFO] [stdout] test integration::languages::php::extractor::test_php_traits_and_interfaces ... ok
[INFO] [stdout] test integration::languages::python::extractor::test_python_class_extraction ... ok
[INFO] [stdout] test integration::languages::python::extractor::test_python_class_extraction_new ... ok
[INFO] [stdout] test integration::languages::python::extractor::test_python_function_extraction ... ok
[INFO] [stdout] test integration::languages::python::typing_core::python_class_with_comments ... ok
[INFO] [stdout] test integration::languages::python::typing_core::python_function_with_comment ... ok
[INFO] [stdout] test integration::languages::python::typing_core::python_decorator ... ok
[INFO] [stdout] test integration::languages::php::extractor::test_php_namespace_and_use_statements ... ok
[INFO] [stdout] test integration::languages::python::extractor::test_python_combined_extraction ... ok
[INFO] [stdout] test integration::languages::python::extractor::test_python_combined_extraction_new ... ok
[INFO] [stdout] test integration::languages::python::typing_core::python_list_comprehension ... ok
[INFO] [stdout] test integration::languages::python::extractor::test_python_function_extraction_new ... ok
[INFO] [stdout] test integration::languages::python::typing_core::python_function_with_docstring ... ok
[INFO] [stdout] test integration::languages::ruby::typing_core::ruby_attr_with_comments ... ok
[INFO] [stdout] test integration::languages::ruby::typing_core::ruby_block_with_comments ... ok
[INFO] [stdout] test integration::languages::ruby::typing_core::ruby_class_with_comments ... ok
[INFO] [stdout] test integration::languages::ruby::typing_core::ruby_method_with_comment ... ok
[INFO] [stdout] test integration::languages::ruby::typing_core::ruby_module_with_comments ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_comment_ranges_in_real_challenge ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_nested_and_oneline_structures ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_all_constructs_combined ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_enum_extraction ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::ruby::extractor::test_ruby_attr_accessor_extraction ... ok
[INFO] [stdout] test integration::languages::ruby::extractor::test_ruby_class_extraction ... ok
[INFO] [stdout] test integration::languages::ruby::extractor::test_ruby_module_extraction ... ok
[INFO] [stdout] test integration::languages::ruby::extractor::test_ruby_class_method_extraction ... ok
[INFO] [stdout] test integration::languages::ruby::extractor::test_ruby_function_extraction ... ok
[INFO] [stdout] test integration::languages::rust::typing_core::rust_empty_line_preservation_disabled ... ok
[INFO] [stdout] test integration::languages::ruby::extractor::test_ruby_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::rust::typing_core::rust_empty_line_preservation_enabled ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_type_alias_extraction ... ok
[INFO] [stdout] test integration::languages::rust::typing_core::rust_function_with_block_comment ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_function_extraction ... ok
[INFO] [stdout] test integration::languages::rust::typing_core::rust_struct_with_line_comments ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_module_extraction ... ok
[INFO] [stdout] test integration::languages::rust::typing_core::rust_function_with_comment ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_struct_extraction ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_trait_extraction ... ok
[INFO] [stdout] test integration::languages::rust::extractor::test_rust_struct_with_complex_impl ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_class_extraction ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_no_duplicates ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_enum_extraction ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_case_class_with_comments ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_class_with_comments ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_function_extraction ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_enum_with_comments ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_object_extraction ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_all_constructs_combined ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_for_comprehension_with_comments ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_higher_order_functions ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_trait_extraction ... ok
[INFO] [stdout] test integration::languages::scala::extractor::test_scala_comment_ranges_in_challenge ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_function_with_comment ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_object_with_comments ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_implicit_with_comments ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_trait_with_comments ... ok
[INFO] [stdout] test integration::languages::swift::extractor::test_swift_function_extraction ... ok
[INFO] [stdout] test integration::languages::swift::typing_core::swift_class_with_comments ... ok
[INFO] [stdout] test integration::languages::scala::typing_core::scala_pattern_matching_with_comments ... ok
[INFO] [stdout] test integration::languages::swift::typing_core::swift_enum_with_comments ... ok
[INFO] [stdout] test integration::languages::swift::typing_core::swift_function_with_comment ... ok
[INFO] [stdout] test integration::languages::swift::typing_core::swift_protocol_with_comments ... ok
[INFO] [stdout] test integration::languages::swift::typing_core::swift_struct_with_comments ... ok
[INFO] [stdout] test integration::languages::swift::extractor::test_swift_enum_extraction ... ok
[INFO] [stdout] test integration::languages::swift::extractor::test_swift_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::typescript::extractor::test_typescript_all_new_constructs_combined ... ok
[INFO] [stdout] test integration::languages::typescript::extractor::test_typescript_enum_extraction ... ok
[INFO] [stdout] test integration::languages::typescript::extractor::test_typescript_complex_algorithm_extraction ... ok
[INFO] [stdout] test integration::languages::typescript::extractor::test_typescript_interface_extraction ... ok
[INFO] [stdout] test integration::languages::typescript::extractor::test_typescript_namespace_extraction ... ok
[INFO] [stdout] test integration::languages::swift::extractor::test_swift_protocol_extraction ... ok
[INFO] [stdout] test integration::languages::typescript::typing_core::typescript_class_with_comments ... ok
[INFO] [stdout] test integration::languages::typescript::tsx_jsx::test_jsx_self_closing_elements ... ok
[INFO] [stdout] test integration::languages::typescript::typing_core::typescript_async_function ... ok
[INFO] [stdout] test integration::languages::typescript::extractor::test_typescript_type_alias_extraction ... ok
[INFO] [stdout] test integration::languages::typescript::typing_core::typescript_function_with_comment ... ok
[INFO] [stdout] test integration::languages::typescript::typing_core::typescript_generic_function ... ok
[INFO] [stdout] test integration::languages::typescript::typing_core::typescript_interface_with_comments ... ok
[INFO] [stdout] test integration::languages::swift::extractor::test_swift_class_extraction ... ok
[INFO] [stdout] test integration::languages::swift::extractor::test_swift_struct_extraction ... ok
[INFO] [stdout] test integration::languages::typescript::tsx_jsx::test_mixed_tsx_content ... ok
[INFO] [stdout] test integration::missing_ascii_art_test::test_identify_missing_ascii_art ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_basic_methods ... ok
[INFO] [stdout] test integration::languages::typescript::tsx_jsx::test_tsx_jsx_component_extraction ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_esc_navigates_to_title ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_down_navigates ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_j_navigates ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_h_switches_view ... ok
[INFO] [stdout] test integration::languages::zig::extractor::test_zig_enum_extraction ... ok
[INFO] [stdout] test integration::languages::zig::extractor::test_zig_mixed_extraction ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_k_navigates ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_left_switches_view ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_l_switches_view ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_right_switches_view ... ok
[INFO] [stdout] test integration::languages::zig::extractor::test_zig_struct_extraction ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_r_refreshes ... ok
[INFO] [stdout] test integration::languages::zig::extractor::test_zig_error_and_test_blocks ... ok
[INFO] [stdout] test integration::languages::zig::extractor::test_zig_function_extraction ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_languages ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_languages_empty ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_languages_with_activity ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_overview ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_repositories ... ok
[INFO] [stdout] test integration::languages::zig::extractor::test_zig_union_extraction ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_overview_empty ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_up_navigates ... ok
[INFO] [stdout] test integration::screens::animation_screen_test::test_animation_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_repositories_with_activity ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_repositories_empty ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_overview_with_activity ... ok
[INFO] [stdout] test integration::screens::animation_screen_test::test_animation_screen_capital_s_skips ... ok
[INFO] [stdout] test integration::screens::animation_screen_test::test_animation_screen_s_skips ... ok
[INFO] [stdout] test integration::screens::animation_screen_test::test_animation_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_down_scrolls ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_g_opens_github ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_esc_navigates_back ... ok
[INFO] [stdout] test integration::screens::animation_screen_test::test_animation_screen_snapshot_with_session_result ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_j_scrolls ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_trends_empty ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_l_switches_tab ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_right_switches_tab ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_left_switches_tab ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_h_switches_tab ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_k_scrolls ... ok
[INFO] [stdout] test integration::screens::analytics_screen_test::test_analytics_screen_snapshot_trends ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_up_scrolls ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_basic_methods ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_snapshot_cli ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_esc_closes ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_fallback_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_down_navigates ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_snapshot_game_help ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_menu_other_key_ignored ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_select_close_option ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_j_navigates ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_fallback_other_key_ignored ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_select_github_option ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_snapshot_ranks ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_snapshot_community ... ok
[INFO] [stdout] test integration::screens::help_screen_test::test_help_screen_snapshot_scoring ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_k_navigates ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_select_x_option ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_up_navigates ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_snapshot_default ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_snapshot_fallback ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_space_selects ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_snapshot_third_option ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_fallback_esc_returns_to_menu ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_snapshot_wrap_up ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_loading_screen_char_a_ignored ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_get_update_strategy_is_time_based ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_loading_screen_ctrl_c_requests_exit ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_cleanup ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_loading_screen_initialization ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_loading_screen_esc_ignored ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_loading_screen_enter_ignored ... ok
[INFO] [stdout] test integration::screens::info_dialog_test::test_info_dialog_snapshot_second_option ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_render_ratatui_cloning_with_progress ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_render_ratatui_completed_state ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_render_ratatui_default_state ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_current_file_noop ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_file_counts_multiple_step_types ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_render_ratatui_with_repo_info ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_file_counts_zero_total ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_git_repository_full ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_repo_info ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_show_initial ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_file_counts_progress_only_increases ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_render_ratatui_finalizing_step ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_update_increments_spinner ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_render_ratatui_generating_step ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_git_repository_dirty ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_file_counts_with_total ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_update_multiple_increments_spinner ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_render_ratatui_with_progress ... ok
[INFO] [stdout] test integration::screens::panic_screen_test::test_panic_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::panic_screen_test::test_panic_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_down_navigates ... ok
[INFO] [stdout] test integration::screens::panic_screen_test::test_panic_screen_other_keys_ignored ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::loading_screen_test::test_set_step_updates_current_step ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_f_filters ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_s_sorts ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_r_refreshes ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_space_views_details ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_j_navigates ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_snapshot_with_mock_data ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_enter_views_details ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_esc_navigates_to_title ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_k_navigates ... ok
[INFO] [stdout] test integration::screens::repo_list_screen_test::test_repo_list_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::repo_list_screen_test::test_repo_list_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::repo_list_screen_test::test_repo_list_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::records_screen_test::test_records_screen_up_navigates ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_k_navigates ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_down_navigates ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_space_selects ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_j_navigates ... ok
[INFO] [stdout] test integration::screens::panic_screen_test::test_panic_screen_snapshot_with_fixed_timestamp ... ok
[INFO] [stdout] test integration::screens::session_detail_screen_test::test_session_detail_screen_down_scrolls ... ok
[INFO] [stdout] test integration::screens::session_detail_screen_test::test_session_detail_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::session_detail_screen_test::test_session_detail_screen_up_scrolls ... ok
[INFO] [stdout] test integration::screens::repo_list_screen_test::test_repo_list_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::session_detail_screen_test::test_session_detail_screen_esc_pops ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_up_navigates ... ok
[INFO] [stdout] test integration::screens::session_details_dialog_test::test_session_details_dialog_basic_methods ... ok
[INFO] [stdout] test integration::screens::session_details_dialog_test::test_session_details_dialog_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::session_failure_screen_test::test_session_failure_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::session_failure_screen_test::test_session_failure_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::session_details_dialog_test::test_session_details_dialog_esc_closes ... ok
[INFO] [stdout] test integration::screens::session_failure_screen_test::test_session_failure_screen_r_retries ... ok
[INFO] [stdout] test integration::screens::session_failure_screen_test::test_session_failure_screen_capital_r_retries ... ok
[INFO] [stdout] test integration::screens::session_failure_screen_test::test_session_failure_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::session_failure_screen_test::test_session_failure_screen_capital_t_goes_to_title ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_capital_d_opens_details ... ok
[INFO] [stdout] test integration::screens::repo_play_screen_test::test_repo_play_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_capital_r_retries ... ok
[INFO] [stdout] test integration::screens::session_failure_screen_test::test_session_failure_screen_t_goes_to_title ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_capital_s_shares ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_capital_t_goes_to_title ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_d_opens_details ... ok
[INFO] [stdout] test integration::screens::session_failure_screen_test::test_session_failure_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::session_details_dialog_test::test_session_details_dialog_snapshot ... ok
[INFO] [stdout] test integration::screens::session_detail_screen_test::test_session_detail_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_s_shares ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_r_retries ... ok
[INFO] [stdout] test integration::screens::session_summary_share_screen_test::test_session_summary_share_screen_1_shares_to_x ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_t_goes_to_title ... ok
[INFO] [stdout] test integration::screens::session_summary_share_screen_test::test_session_summary_share_screen_3_shares_to_linkedin ... ok
[INFO] [stdout] test integration::screens::session_summary_share_screen_test::test_session_summary_share_screen_2_shares_to_reddit ... ok
[INFO] [stdout] test integration::screens::session_summary_share_screen_test::test_session_summary_share_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::session_summary_share_screen_test::test_session_summary_share_screen_esc_goes_back ... ok
[INFO] [stdout] test integration::screens::session_summary_share_screen_test::test_session_summary_share_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::session_summary_share_screen_test::test_session_summary_share_screen_4_shares_to_facebook ... ok
[INFO] [stdout] test integration::screens::session_summary_share_screen_test::test_session_summary_share_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_compiler_snapshot ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_esc_cancels_and_navigates_back ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_key_down_navigates_list ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::session_summary_screen_test::test_session_summary_screen_load_balancer_primarch_snapshot ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_key_j_navigates_list ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_key_k_navigates_list ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_key_l_switches_tab ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_key_h_switches_tab ... ok
[INFO] [stdout] test integration::screens::stage_summary_screen_test::test_stage_summary_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_key_right_switches_tab ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_key_left_switches_tab ... ok
[INFO] [stdout] test integration::screens::stage_summary_screen_test::test_stage_summary_screen_ctrl_c_navigates_to_session_failure ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_key_up_navigates_list ... ok
[INFO] [stdout] test integration::screens::stage_summary_screen_test::test_stage_summary_screen_esc_navigates_to_session_failure ... ok
[INFO] [stdout] test integration::screens::stage_summary_screen_test::test_stage_summary_screen_space_continues ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_capital_a_opens_analytics ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_space_saves_and_navigates_back ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_a_opens_analytics ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_capital_r_opens_records ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_h_changes_difficulty ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_i_opens_help ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_question_opens_help ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_capital_s_opens_settings ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_left_changes_difficulty ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_snapshot_color_mode ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_right_changes_difficulty ... ok
[INFO] [stdout] test integration::screens::settings_screen_test::test_settings_screen_snapshot_theme ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_l_changes_difficulty ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_s_opens_settings ... ok
[INFO] [stdout] test integration::screens::total_summary_screen_test::test_total_summary_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::total_summary_screen_test::test_total_summary_screen_capital_s_shares ... ok
[INFO] [stdout] test integration::screens::total_summary_screen_test::test_total_summary_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_r_opens_records ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_space_starts_game ... ok
[INFO] [stdout] test integration::screens::total_summary_screen_test::test_total_summary_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::total_summary_share_screen_test::test_total_summary_share_screen_1_attempts_share ... ok
[INFO] [stdout] test integration::screens::total_summary_screen_test::test_total_summary_screen_s_shares ... ok
[INFO] [stdout] test integration::screens::total_summary_share_screen_test::test_total_summary_share_screen_3_attempts_share ... ok
[INFO] [stdout] test integration::screens::total_summary_share_screen_test::test_total_summary_share_screen_2_attempts_share ... ok
[INFO] [stdout] test integration::screens::total_summary_share_screen_test::test_total_summary_share_screen_4_attempts_share ... ok
[INFO] [stdout] test integration::screens::stage_summary_screen_test::test_stage_summary_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::total_summary_share_screen_test::test_total_summary_share_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::total_summary_share_screen_test::test_total_summary_share_screen_esc_goes_back ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_down_navigates ... ok
[INFO] [stdout] test integration::screens::total_summary_share_screen_test::test_total_summary_share_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::total_summary_screen_test::test_total_summary_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_j_navigates ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_space_selects ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_up_navigates ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_k_navigates ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_down_navigates ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::title_screen_test::test_title_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_j_navigates ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_k_navigates ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_up_navigates ... ok
[INFO] [stdout] test integration::screens::total_summary_share_screen_test::test_total_summary_share_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_space_selects ... ok
[INFO] [stdout] test integration::screens::trending_language_selection_screen_test::test_trending_language_selection_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_completion ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_enter_key ... ok
[INFO] [stdout] test integration::screens::trending_repository_selection_screen_test::test_trending_repository_selection_screen_snapshot ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_snapshot_dialog_shown ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_snapshot_waiting_with_challenge ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_tab_key ... ok
[INFO] [stdout] test integration::screens::version_check_screen_test::test_version_check_screen_basic_methods ... ok
[INFO] [stdout] test integration::screens::version_check_screen_test::test_version_check_screen_ctrl_c_exits ... ok
[INFO] [stdout] test integration::screens::version_check_screen_test::test_version_check_screen_esc_exits ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_snapshot_dialog_skip ... ok
[INFO] [stdout] test unit::domain::error_tests::api_error_displays_message ... ok
[INFO] [stdout] test integration::screens::version_check_screen_test::test_version_check_screen_snapshot ... ok
[INFO] [stdout] test unit::domain::error_tests::extraction_failed_displays_message ... ok
[INFO] [stdout] test unit::domain::error_tests::invalid_repository_format_displays_message ... ok
[INFO] [stdout] test unit::domain::error_tests::io_error_conversion ... ok
[INFO] [stdout] test unit::domain::error_tests::no_supported_files_error_message ... ok
[INFO] [stdout] test unit::domain::error_tests::panic_error_displays_message ... ok
[INFO] [stdout] test unit::domain::error_tests::repository_not_found_displays_path ... ok
[INFO] [stdout] test unit::domain::error_tests::screen_initialization_error_displays_message ... ok
[INFO] [stdout] test unit::domain::error_tests::serde_error_conversion ... ok
[INFO] [stdout] test unit::domain::error_tests::terminal_error_displays_message ... ok
[INFO] [stdout] test unit::domain::error_tests::database_error_wraps_message ... ok
[INFO] [stdout] test unit::domain::error_tests::validation_error_displays_message ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_challenge_loaded ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_clone ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_implements_event_trait ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_snapshot_countdown ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_snapshot_backspace ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_stage_finalized ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_stage_resumed ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_stage_skipped ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_stage_started ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_snapshot_countdown_with_dialog ... ok
[INFO] [stdout] test unit::domain::events::test_event_bus_clone ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_snapshot_typing_progress ... ok
[INFO] [stdout] test unit::domain::events::test_multiple_event_types ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_key_pressed ... ok
[INFO] [stdout] test unit::domain::events::test_event_data_received ... ok
[INFO] [stdout] test unit::domain::events::test_multiple_subscribers ... ok
[INFO] [stdout] test unit::domain::events::test_no_subscribers ... ok
[INFO] [stdout] test unit::domain::events::test_publish_and_subscribe ... ok
[INFO] [stdout] test unit::domain::events::test_publish_domain_event ... ok
[INFO] [stdout] test unit::domain::events::test_publish_multiple_times ... ok
[INFO] [stdout] test unit::domain::events::test_subscriber_receives_event_data ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_builder_pattern_chaining ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_clone_challenge ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_difficulty_levels ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_empty_code_content ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_get_display_title_with_repo ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_get_display_title_with_repo_none ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_get_display_title_with_source_info ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_get_display_title_without_line_numbers ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_get_display_title_without_source_info ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_get_relative_path_with_parent ... ok
[INFO] [stdout] test unit::domain::events::test_event_bus_default ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_new_challenge_basic ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_partial_eq ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_special_characters_in_path ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_multiline_code_content ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_with_comment_ranges ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_with_difficulty_level ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_with_language ... ok
[INFO] [stdout] test unit::domain::models::challenge_tests::test_with_source_info ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::color_scheme_clone_works ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::color_scheme_from_theme_file_includes_all_metrics_colors ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::color_scheme_from_theme_file_includes_typing_colors ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::color_scheme_from_theme_file_uses_dark_colors ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::color_scheme_from_theme_file_uses_defaults_for_missing_colors ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::color_scheme_from_theme_file_uses_light_colors ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::color_scheme_partial_eq_works ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::custom_theme_file_clone_works ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::custom_theme_file_to_theme_file_creates_correct_metadata ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::custom_theme_file_to_theme_file_preserves_colors ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_clone_works ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_hex_3_digit_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_hex_6_digit_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_hex_uppercase_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_invalid_hex_defaults_to_white ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_black_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_blue_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_cyan_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_dark_gray_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_gray_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_green_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_light_colors_convert_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_magenta_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_red_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_reset_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_white_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_named_yellow_converts_correctly ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_partial_eq_works ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_rgb_converts_to_ratatui_color ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_serialize_deserialize_name ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_serialize_deserialize_rgb ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::serializable_color_unknown_name_defaults_to_white ... ok
[INFO] [stdout] test unit::domain::models::color_scheme_tests::theme_file_clone_works ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::countdown_advances_through_numbers_and_finishes ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::countdown_can_be_restarted ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::countdown_default_is_inactive ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::countdown_new_is_inactive ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::countdown_pause_and_resume_holds_state ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::get_current_count_returns_none_when_inactive ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::get_current_count_returns_number_when_active ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::is_active_returns_false_after_completion ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::is_active_returns_false_initially ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::is_active_returns_true_after_start ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::pause_when_inactive_does_nothing ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::resume_when_not_paused_does_nothing ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::start_countdown_activates_countdown ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::start_countdown_sets_current_number_to_3 ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::update_state_returns_none_when_inactive ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::update_state_returns_none_while_counting ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::update_state_transitions_from_1_to_go ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::update_state_transitions_from_2_to_1 ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::update_state_transitions_from_3_to_2 ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_applicable_difficulties_for_file_chunk ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_applicable_difficulties_for_long_code ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_applicable_difficulties_for_medium_code ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_applicable_difficulties_for_short_code ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_difficulty_clone ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_difficulty_equality ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_difficulty_serialize_deserialize ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_easy_char_limits ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_easy_description ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_easy_subtitle ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_hard_char_limits ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_hard_description ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_hard_subtitle ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_normal_char_limits ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_normal_subtitle ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_wild_char_limits ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_wild_description ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_wild_subtitle ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_zen_char_limits ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_zen_description ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_apply_language_filter_case_insensitive ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_zen_subtitle ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_apply_language_filter_with_multiple_languages ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_apply_language_filter_with_no_languages ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_apply_language_filter_with_rust ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_custom_extraction_options ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_default_excludes_generated_code ... ok
[INFO] [stdout] test unit::domain::models::difficulty_level_tests::test_normal_description ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_clone_extraction_options ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_default_excludes_git ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_default_excludes_python_cache ... ok
[INFO] [stdout] test unit::domain::models::extraction_options_tests::test_default_extraction_options ... ok
[INFO] [stdout] test unit::domain::models::git_repository_ref_tests::clone_creates_copy ... ok
[INFO] [stdout] test unit::domain::models::git_repository_ref_tests::http_url_returns_correct_format ... ok
[INFO] [stdout] test unit::domain::models::git_repository_ref_tests::http_url_with_different_origin ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_cache_key_different_hosts ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_cache_key_https_url ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_cache_key_ssh_protocol_url ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_cache_key_ssh_url ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_cache_key_with_git_suffix ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_cache_key_malformed_url ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_git_repository_serialize_deserialize ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_git_repository_with_dirty_state ... ok
[INFO] [stdout] test unit::domain::models::git_repository_ref_tests::http_url_with_special_characters ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::git_repository_equality_depends_on_all_fields ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_git_repository_with_root_path ... ok
[INFO] [stdout] test unit::domain::models::language_tests::all_file_patterns_returns_patterns ... ok
[INFO] [stdout] test unit::domain::models::language_tests::all_languages_have_color ... ok
[INFO] [stdout] test unit::domain::models::language_tests::all_languages_have_display_name ... ok
[INFO] [stdout] test unit::domain::models::language_tests::all_languages_have_extensions ... ok
[INFO] [stdout] test unit::domain::models::language_tests::detect_from_path_detects_python ... ok
[INFO] [stdout] test unit::domain::models::language_tests::detect_from_path_detects_rust ... ok
[INFO] [stdout] test unit::domain::models::language_tests::detect_from_path_returns_text_for_no_extension ... ok
[INFO] [stdout] test unit::domain::models::language_tests::detect_from_path_returns_text_for_unknown ... ok
[INFO] [stdout] test unit::domain::models::language_tests::dyn_language_hash_and_eq ... ok
[INFO] [stdout] test unit::domain::models::language_tests::from_extension_finds_language_by_extension ... ok
[INFO] [stdout] test unit::domain::models::language_tests::get_by_name_is_case_insensitive ... ok
[INFO] [stdout] test unit::domain::models::language_tests::get_by_name_supports_aliases ... ok
[INFO] [stdout] test unit::domain::models::language_tests::get_language_by_name_wrapper_works ... ok
[INFO] [stdout] test unit::domain::models::language_tests::get_supported_languages_includes_main_names_and_aliases ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_as_hash_key_returns_name ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_color_returns_specific_colors_for_known_languages ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_file_patterns_format ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_registry_get_by_name_finds_known_languages ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_registry_get_display_name_is_case_insensitive ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_registry_get_display_name_preserves_unknown_languages ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_registry_get_display_name_returns_formal_names ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_registry_get_display_name_returns_unknown_for_none ... ok
[INFO] [stdout] test unit::domain::models::language_tests::language_trait_methods_work_correctly ... ok
[INFO] [stdout] test unit::domain::models::language_tests::validate_languages_accepts_empty_list ... ok
[INFO] [stdout] test unit::domain::models::language_tests::validate_languages_accepts_valid_languages ... ok
[INFO] [stdout] test unit::domain::models::language_tests::validate_languages_rejects_invalid_languages ... ok
[INFO] [stdout] test unit::domain::models::languages::c_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::c_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::c_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::c_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::c_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::c_tests::test_hash ... ok
[INFO] [stdout] test unit::domain::models::languages::c_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::c_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::language_tests::all_languages_returns_all_supported_languages ... ok
[INFO] [stdout] test unit::domain::models::languages::cpp_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::cpp_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::cpp_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::cpp_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::cpp_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::cpp_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::cpp_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::csharp_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::csharp_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::csharp_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::csharp_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::csharp_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::csharp_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::dart_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::dart_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::dart_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::dart_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::dart_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::dart_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::dart_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::go_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::go_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::go_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::go_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::go_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::go_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::go_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::haskell_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::haskell_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::haskell_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::haskell_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::haskell_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::haskell_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::haskell_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::java_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::java_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::java_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::java_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::events::test_domain_event_stage_paused ... ok
[INFO] [stdout] test unit::domain::models::git_repository_tests::test_git_repository_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::csharp_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::java_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::java_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::javascript_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::javascript_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::java_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::countdown_tests::pause_when_already_paused_does_nothing ... ok
[INFO] [stdout] test unit::domain::models::languages::javascript_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::kotlin_tests::test_clone ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_esc_during_typing ... ok
[INFO] [stdout] test unit::domain::models::languages::javascript_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::javascript_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::kotlin_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::kotlin_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::javascript_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::kotlin_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::kotlin_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::kotlin_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::php_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::php_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::php_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::php_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::php_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::python_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::python_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::python_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::python_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::python_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::python_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::ruby_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::ruby_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::ruby_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::php_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::python_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::ruby_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::ruby_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::rust_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::rust_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::rust_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::rust_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::rust_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::rust_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::rust_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::scala_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::scala_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::scala_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::scala_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::scala_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::scala_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::scala_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::swift_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::swift_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::kotlin_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::php_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::swift_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::ruby_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::swift_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::ruby_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::swift_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::typescript_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::swift_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::swift_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::typescript_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::typescript_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::languages::zig_tests::test_clone ... ok
[INFO] [stdout] test unit::domain::models::languages::typescript_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::languages::typescript_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::typescript_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::zig_tests::test_color ... ok
[INFO] [stdout] test unit::domain::models::languages::zig_tests::test_extensions ... ok
[INFO] [stdout] test unit::domain::models::languages::zig_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::languages::zig_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::languages::zig_tests::test_display_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::all_steps_have_unique_step_types ... ok
[INFO] [stdout] test unit::domain::models::languages::zig_tests::test_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::all_steps_have_unique_step_numbers ... ok
[INFO] [stdout] test unit::domain::models::languages::typescript_tests::test_is_valid_comment_node ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cache_check_description ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cache_check_format_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cache_check_step_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cache_check_step_number ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cache_check_step_type ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cache_check_supports_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::all_steps_current_icon_uses_warning_color ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::all_steps_pending_icon_uses_text_secondary_color ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_format_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_description ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_format_progress_shows_percentage_only ... ok
[INFO] [stdout] test unit::domain::models::languages::javascript_tests::test_debug ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cache_check_icon_completed ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::all_steps_completed_icon_uses_success_color ... ok
[INFO] [stdout] test integration::screens::typing_screen_test::test_typing_screen_snapshot_wrong_input ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_supports_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cache_check_icon_current ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_step_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_format_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_step_number ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_step_type ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_no_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_step_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_step_number ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_step_type ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::extracting_description ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::extracting_format_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_icon_pending ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::extracting_step_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_icon_completed ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::extracting_step_number ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::extracting_step_type ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::extracting_supports_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::finalizing_description ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::finalizing_format_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::finalizing_no_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_description ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::finalizing_step_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::finalizing_step_number ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::finalizing_step_type ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::format_progress_hundred_percent ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::format_progress_large_numbers ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::format_progress_zero_percent ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::generating_description ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::generating_format_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::extracting_icon_states ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::generating_step_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::generating_step_number ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::cloning_icon_current ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::finalizing_icon_states ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::generating_step_type ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::generating_supports_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_icon_completed ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::scanning_step_name ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_icon_pending ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::scanning_step_number ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::scanning_step_type ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::default_creates_same_as_new ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::scanning_supports_progress ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::get_step_by_name_all_steps ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::get_step_by_name_finds_existing ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::get_step_by_name_returns_none_for_unknown ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::get_step_by_number_all_steps ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::get_step_by_number_finds_existing ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::database_init_icon_current ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::new_creates_all_seven_steps ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::step_name_to_step_number_returns_correct_number ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::step_name_to_step_number_returns_zero_for_unknown ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::step_number_6_does_not_exist ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::steps_are_in_correct_order ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_all_ranks_count ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_all_ranks_first ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_all_ranks_last ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_clone ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_color_palette_delegates_to_tier ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_contains_score_checks_bounds_inclusively ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_for_score_advanced ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_for_score_defaults_to_highest_when_exceeded ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_for_score_returns_correct_rank ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_for_score_zero ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_new ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_partial_eq ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_terminal_color_matches_tier_output ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_tier_clone ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_tier_color_palette_mappings_are_consistent ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::generating_icon_states ... ok
[INFO] [stdout] test unit::domain::models::loading::step_manager_tests::get_step_by_number_returns_none_for_unknown ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_new_preserves_stage_list ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_tier_equality ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_new_with_empty_stages ... ok
[INFO] [stdout] test unit::domain::models::rank_tests::rank_tier_terminal_colors_are_rgb ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_clone ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_result_default ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_result_clone ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_result_best_worst_performance ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_result_new_initializes_metrics ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_result_completion_status_covers_cases ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_result_partial_eq ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_new_assigns_fields ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_clone ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_result_with_durations ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_default_numeric_values ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_clone ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_new_with_different_numbers ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_partial_eq ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_default_values_are_sensible ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_skipped ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_with_completion_data ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_with_consistency_streaks ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_with_performance_metrics ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_with_rank_data ... ok
[INFO] [stdout] test unit::domain::models::storage::repository_tests::http_url_with_already_formatted_url ... ok
[INFO] [stdout] test unit::domain::models::storage::repository_tests::http_url_with_invalid_format_returns_original ... ok
[INFO] [stdout] test unit::domain::models::storage::repository_tests::http_url_with_valid_github_url ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::scanning_icon_states ... ok
[INFO] [stdout] test unit::domain::models::storage::repository_tests::stored_repository_clone ... ok
[INFO] [stdout] test unit::domain::models::session_tests::session_result_with_metrics ... ok
[INFO] [stdout] test unit::domain::models::stage_tests::stage_result_failed ... ok
[INFO] [stdout] test unit::domain::models::storage::repository_tests::stored_repository_with_languages_has_empty_languages ... ok
[INFO] [stdout] test unit::domain::models::storage::repository_tests::stored_repository_with_languages_clone ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::scanning_description ... ok
[INFO] [stdout] test unit::domain::models::loading::loading_steps_tests::scanning_format_progress ... ok
[INFO] [stdout] test unit::domain::models::storage::repository_tests::stored_repository_with_languages_has_multiple_languages ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::all_themes_includes_original_theme ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::all_themes_includes_default_theme ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::all_themes_returns_expected_count ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::all_themes_have_unique_ids ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::all_themes_includes_aurora_theme ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::all_themes_each_has_required_fields ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::all_themes_include_expected_theme_ids ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::default_theme_has_light_and_dark_schemes ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::default_theme_has_valid_name_and_description ... ok
[INFO] [stdout] test unit::domain::models::total_tests::create_share_text_contains_stats ... ok
[INFO] [stdout] test unit::domain::models::total_tests::create_share_text_format ... ok
[INFO] [stdout] test unit::domain::models::total_tests::get_completion_status_no_sessions ... ok
[INFO] [stdout] test unit::domain::models::total_tests::get_completion_status_partial ... ok
[INFO] [stdout] test unit::domain::models::total_tests::get_completion_status_perfect ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_add_session ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_clone ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_default_creates_empty ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_new_creates_empty ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_result_clone ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_result_default_initializes_defaults ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_result_finalize_preserves_real_worst_values ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_result_finalize_sets_worst_defaults ... ok
[INFO] [stdout] test unit::domain::models::total_tests::total_result_new_initializes_defaults ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::theme_partial_eq_different_themes ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::theme_serialize_deserialize ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::default_theme_returns_default_id ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::theme_debug_format_works ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::theme_clone_works ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::all_themes_includes_ascii_theme ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_clear_cache_succeeds ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_commit_hash_mismatch_returns_none ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_creates_repository_via_di ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_invalidate_repository_nonexistent ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_list_cache_keys_succeeds ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_get_cache_stats_empty ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_load_challenges_cache_miss_returns_none ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_challenges_empty_list ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_challenges_empty_commit_hash_is_noop ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_load_challenges_dirty_repo_returns_none ... ok
[INFO] [stdout] test unit::domain::models::theme_tests::theme_partial_eq_works ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_challenges_valid_repo ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_challenges_no_commit_hash_is_noop ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_challenges_dirty_repo_is_noop ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_then_clear_cache ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_then_get_cache_stats ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::find_repository_finds_inserted_repository ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::ensure_repository_returns_id ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::creates_repository_via_di ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::ensure_repository_twice_returns_same_id ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_then_list_cache_keys ... ok
[INFO] [stdout] test unit::domain::repositories::challenge_repository_tests::test_save_then_invalidate ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_best_status_new ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_beats_all_time ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_beats_none ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_best_status_default ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_beats_weekly_only ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::find_repository_returns_result ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_equal_score_all_time ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::get_all_repositories_returns_result ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_empty_best_records ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_global ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_no_previous_records ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_no_todays_best ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_get_best_records_global ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_get_best_records_with_data ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::get_repository_by_id_returns_result ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::get_user_repositories_filters_by_user ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_get_sessions_filtered_sort_verification ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_get_repository_history_with_data ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_global_instance ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::get_repository_by_id_finds_inserted_repository ... ok
[INFO] [stdout] test unit::domain::repositories::git_repository_repository_tests::get_user_repositories_returns_result ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_get_language_stats_with_data ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_get_all_repositories_with_data ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_session_repository_new ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_get_sessions_filtered_with_data ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_initialize_global ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_determine_best_status_beats_todays_only ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_session_repository_trait_implementation ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_record_session_and_retrieve ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_get_session_result_for_analytics_with_data ... ok
[INFO] [stdout] test unit::domain::repositories::session_repository_tests::test_record_session_with_repository ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_completed_stages_by_difficulty_with_repository ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_completed_stages_by_language_with_repository ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_completed_stages_with_repository_filter ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_completed_stages_by_language_returns_ok ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_difficulty_breakdown_returns_ok ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_completed_stages_returns_ok ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_creates_repository_via_di ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_completed_stages_by_difficulty_returns_ok ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_difficulty_breakdown_with_repository ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_stage_statistics_returns_ok ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_language_breakdown_with_repository ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_stage_statistics_with_repository_filter ... ok
[INFO] [stdout] test unit::domain::repositories::trending_repository_tests::test_trending_repository_info_clone ... ok
[INFO] [stdout] test unit::domain::repositories::trending_repository_tests::test_trending_repository_info_creation ... ok
[INFO] [stdout] test unit::domain::repositories::trending_repository_tests::test_trending_repository_info_no_language ... ok
[INFO] [stdout] test unit::domain::repositories::version_repository_tests::new_creates_repository ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_best_cpm_tracked_across_sessions ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_empty_sessions_returns_zeroed_data ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_language_stats_fully_computed ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_mistakes_estimation ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_multiple_days_trend_sorted ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_multiple_repos_independent_stats ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_repository_stats_fully_computed ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_service_new ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_session_duration_calculated ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_session_without_repo_skips_repo_stats ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_single_session_basic_aggregation ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_stage_results_without_language_ignored ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_analytics_top_repositories_sorted_by_avg_cpm_descending ... ok
[INFO] [stdout] test unit::domain::services::analytics_service_tests::test_load_analytics_data_empty ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::challenge_generator_tests::default_creates_generator ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::challenge_generator_tests::new_creates_generator ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_multiple_calls_to_same_repository ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_get_language_breakdown_returns_ok ... ok
[INFO] [stdout] test unit::domain::repositories::trending_repository_tests::test_creates_repository_via_di ... ok
[INFO] [stdout] test unit::domain::repositories::stage_repository_tests::test_new_returns_ok_with_database ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::default_creates_splitter ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::new_creates_splitter ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_adjusts_comment_ranges_after_truncation ... ok
[INFO] [stdout] test unit::domain::repositories::trending_repository_tests::test_get_trending_repositories_sync_with_no_language ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_calculates_correct_end_line ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_end_line_calculation_with_truncation ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_handles_content_with_only_comments ... ok
[INFO] [stdout] test unit::domain::repositories::trending_repository_tests::test_get_trending_repositories_sync_returns_ok ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_handles_unicode_content ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_handles_whitespace_only_content ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_preserves_comment_ranges_when_no_split_needed ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_preserves_partial_comment_ranges ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_returns_none_for_too_short_content ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_returns_none_when_truncated_below_minimum ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_returns_original_if_fits_perfectly ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_handles_empty_content ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_with_multiline_comments ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_finds_natural_boundaries ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_works_with_intermediate_difficulty ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_comment_at_end ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_comment_at_start ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_handles_unicode ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_works_with_advanced_difficulty ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_in_content_empty_string ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_in_content_multiple_comment_ranges ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_in_content_only_whitespace ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_in_content_simple_code ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_in_content_unsorted_comment_ranges ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_in_content_with_comments ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_overlapping_ranges_not_expected ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_code_characters_chunk_with_comments ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_code_characters_from_chunk ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::default_creates_counter ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::chunk_splitter_tests::split_truncates_long_content ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::new_creates_counter ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::current_progress_returns_correct_value ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::finalize_reports_completion ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::force_report_always_reports ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::increment_and_report_updates_progress ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::increment_reports_on_completion ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::increment_respects_update_frequency ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::initialize_reports_zero_progress ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::is_complete_returns_false_initially ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::is_complete_returns_true_when_done ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::is_complete_returns_true_when_exceeded ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::multiple_increments_accumulate ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::new_creates_tracker ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::progress_reports_use_generating_step_type ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::total_work_returns_correct_value ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::progress_tracker_tests::with_update_frequency_creates_tracker ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_get_config ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_init_loads_default_config ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_init_overwrites_modified_config ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_modify_color_mode ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_multiple_updates_accumulate ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_new_config_manager ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_save ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_save_succeeds_after_update ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_save_without_changes ... ok
[INFO] [stdout] test unit::domain::services::config_service_tests::test_update_config ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_get_all_repositories_empty ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_get_all_repositories_with_cache_status ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::code_character_counter_tests::count_chars_in_content_multiline_with_comments ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_get_all_repositories_with_languages ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_get_cache_directory_consistency ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_get_cache_directory ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_get_all_repositories_with_data ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_repository_service_new ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::realtime::test_calculate_basic ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_repository_service_with_languages_multiple ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::realtime::test_calculate_with_mistakes ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::realtime::test_calculate_zero_elapsed_time ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::realtime::test_calculate_zero_position ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::session::test_calculate_empty_session ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::session::test_calculate_multiple_stages_mixed ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::session::test_calculate_session_successful ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::session::test_calculate_session_with_no_valid_keystrokes ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::session::test_calculate_single_completed_stage ... ok
[INFO] [stdout] test unit::domain::repositories::trending_repository_tests::test_get_trending_repositories_sync_different_periods ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::stage::test_calculate_empty_tracker ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::realtime::test_calculate_high_mistakes ... ok
[INFO] [stdout] test unit::domain::services::repository_service_tests::test_multiple_repositories ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::stage::test_calculate_failed_stage ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::stage::test_calculate_skipped_stage ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::total::test_calculate_empty_total ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::total::test_calculate_multiple_sessions_mixed ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::total::test_calculate_multiple_sessions_no_completed ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::total::test_calculate_single_session ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_beginner_tier_low_score ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_higher_score_better_position ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_negative_score ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_overall_position ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_overall_total_constant ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_tier_position_within_tier ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_tier_progression ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_tier_total_consistent ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_very_high_score ... ok
[INFO] [stdout] test unit::domain::services::scoring::rank_calculator_tests::test_zero_score ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_accuracy_impact ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_basic_score_calculation ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_consistency_factor_high_accuracy ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_consistency_factor_low_accuracy ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_consistency_factor_medium_accuracy ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::stage::test_calculate_with_mistakes ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_mistake_penalty ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_negative_score_clamped_to_zero ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_poor_performance ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_realistic_typing_scenario ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_time_bonus ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_time_bonus_only_for_long_challenges ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_zero_accuracy ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_zero_cpm ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::session::test_default_session_tracker ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::session::test_new_session_tracker ... ok
[INFO] [stdout] test unit::domain::services::scoring::score_calculator_tests::test_excellent_performance ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::session::test_record_multiple_stage_results ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::session::test_record_stage_result ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::session::test_tracker_data_clone ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::session::test_tracker_data_independence ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_empty_target_text ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_fail_stage ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_keystrokes_after_finish_ignored ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_new_stage_tracker ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_new_with_path ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_finish_updates_duration ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_position_out_of_bounds ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_record_keystroke_correct ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::stage::test_calculate_with_pauses ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_record_keystroke_incorrect ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_streaks ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::total::test_default_total_tracker ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::total::test_new_total_tracker ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::total::test_record_multiple_session_results ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::total::test_record_session_result ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::total::test_tracker_data_clone ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::total::test_tracker_data_independence ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_abort_session_from_in_progress ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_abort_session_from_not_started_does_nothing ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_add_stage_data ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_as_any_downcasts_correctly ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_default_difficulty_is_normal ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_event_challenge_loaded_initializes_tracker ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_event_challenge_loaded_with_empty_path ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_event_key_pressed_records_keystroke ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_event_stage_finalized_finalizes_stage ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_event_stage_paused_records_pause ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_event_stage_resumed_records_resume ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_event_stage_skipped_skips_stage ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_event_stage_started_records_start ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_finalize_current_stage_with_no_tracker_returns_error ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_finalize_current_stage_with_tracker ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_generate_session_result_returns_some ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_best_status_for_score ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_current_challenge_in_progress_with_challenges ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_current_challenge_not_in_progress_returns_none ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_skip_stage ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_current_stage_tracker_mut_returns_clone ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_event_bus ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_next_challenge_in_progress_with_challenges ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_next_challenge_not_in_progress_returns_none ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_session_result_returns_some ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_skips_remaining_initially_max ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_skips_used_initially_zero ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_stage_info_completed ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_stage_info_in_progress ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_stage_info_not_started ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_stage_results_initially_empty ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_initialize_resets_state ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_initialize_with_custom_config ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_is_completed_initially_false ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_is_in_progress_initially_false ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_get_current_stage_tracker_initially_none ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_is_session_completed_initially_false ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_new_with_dependencies_creates_not_started_state ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::challenge_generator_tests::snapshot_test_complex_commented_rust_challenges ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_record_and_update_trackers ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_abort_transitions_to_aborted ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_complete_stage_advances_stage ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_all_stages_completed_transitions_to_completed ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_complete_transitions_to_completed ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_double_start_returns_error ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_invalid_transition_returns_error ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_reset_clears_state ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_failed_stages_dont_count_for_completion ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_skipped_stages_dont_count_for_completion ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_start_sets_current_stage_to_1 ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reduce_start_transitions_to_in_progress ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_session_duration_completed ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_reset_clears_everything ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_session_duration_in_progress ... ok
[INFO] [stdout] test unit::domain::services::scoring::tracker::stage::test_pause_resume ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_session_duration_not_started_is_none ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_set_current_stage_tracker ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_set_config ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_set_difficulty ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_set_event_bus_is_noop ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_set_git_repository ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_set_state ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_setup_event_subscriptions ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_skip_current_stage_not_in_progress_returns_error ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_skip_current_stage_no_skips_remaining_returns_error ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_skip_current_stage_with_tracker ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_skips_tracking ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_skip_current_stage_with_no_tracker_returns_error ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_get_sessions_with_display_data_empty ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_get_sessions_with_display_data_sort_ascending ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_get_sessions_with_display_data_sort_by_score ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_get_all_repositories ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_get_sessions_with_display_data_with_repository_filter ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_session_display_data_default ... ok
[INFO] [stdout] test unit::domain::services::session_manager_service_tests::test_session_duration_aborted ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_get_sessions_with_display_data_with_date_filter ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_get_sessions_with_display_data_with_session ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_session_service_new ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_session_display_data_has_session_result ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::capture_name_to_chunk_type_function ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::capture_name_to_chunk_type_macro ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::capture_name_to_chunk_type_struct ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::capture_name_to_chunk_type_variable ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::middle_capture_name_to_chunk_type_conditional ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::middle_capture_name_to_chunk_type_code_block ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::middle_capture_name_to_chunk_type_function_call ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_session_service_trait_get_all_repositories ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::middle_capture_name_to_chunk_type_loop ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::middle_capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::c_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_does_not_use_multiple_eq_predicates ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_matches_def ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_matches_defmacro ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_matches_defn ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_matches_defn_dash ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_matches_defprotocol ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_matches_defrecord ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_matches_ns ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_uses_match_predicates ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_class ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_destructor ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_enum ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_function ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_method ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_namespace ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_operator ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_struct ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_template_class ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_template_function ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_type_definition ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::capture_name_to_chunk_type_variable ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::middle_capture_name_to_chunk_type_code_block ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::middle_capture_name_to_chunk_type_conditional ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::middle_capture_name_to_chunk_type_function_call ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::middle_capture_name_to_chunk_type_loop ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::middle_capture_name_to_chunk_type_switch ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::middle_capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::middle_capture_name_to_chunk_type_while ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::session_service_tests::test_session_service_trait_get_sessions ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_class ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_delegate ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_enum ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_event ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_field ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::clojure_tests::query_patterns_matches_deftype ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::cpp_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_interface ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_method ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_namespace ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_property ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_struct ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::middle_capture_name_code_block ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::middle_capture_name_conditional ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::middle_capture_name_error_handling ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::middle_capture_name_lambda ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::middle_capture_name_loop_variants ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::middle_capture_name_method_call ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::middle_capture_name_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::csharp_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::dart_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::dart_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::dart_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::dart_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::capture_name_to_chunk_type_function ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::capture_name_to_chunk_type_method ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::dart_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::middle_capture_name_to_chunk_type_conditional ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::haskell_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::middle_capture_name_to_chunk_type_loop ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::haskell_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::haskell_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::haskell_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::java_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::java_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::java_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::java_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::middle_capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::java_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::javascript_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::javascript_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::javascript_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::javascript_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::javascript_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::kotlin_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::kotlin_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::kotlin_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::kotlin_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::kotlin_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::create_comment_query_unsupported_language_returns_error ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::go_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::create_middle_implementation_query_unsupported_language_returns_error ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::create_parser_for_all_supported_languages_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::create_parser_unsupported_language_returns_error ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::haskell_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::create_query_unsupported_language_returns_error ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::get_extractor_unsupported_language_returns_error ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::parse_with_thread_local_empty_content ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::parse_with_thread_local_reuses_cached_parser ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::parse_with_thread_local_unsupported_returns_none ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::parse_with_thread_local_valid_python ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::parse_with_thread_local_valid_rust ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::supported_languages_returns_all_18 ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::php_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::php_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::php_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::php_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::php_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::capture_name_to_chunk_type_class ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::capture_name_to_chunk_type_function ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::middle_capture_name_to_chunk_type_conditional ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::middle_capture_name_to_chunk_type_loop ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::middle_capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::python_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::capture_name_to_chunk_type_class ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::capture_name_to_chunk_type_method ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::middle_capture_name_to_chunk_type_conditional ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::middle_capture_name_to_chunk_type_loop ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::middle_capture_name_to_chunk_type_unknown ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::ruby_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::rust_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::rust_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::rust_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::rust_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::rust_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::scala_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::scala_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::scala_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::scala_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::scala_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::typescript_tests::comment_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::typescript_tests::create_parser_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::typescript_tests::middle_implementation_query_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::typescript_tests::query_patterns_returns_non_empty ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::typescript_tests::tree_sitter_language_returns_language ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_code_extractor_creation ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_convert_chunk_to_challenge ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_detect_from_path_defaults_to_text ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_extraction_options_default ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::challenge_generator_tests::test_progress_reporting ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_language_from_extension ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_load_challenges_from_repository ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_gitignore_respected ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_repository_not_found ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::challenge_generator_tests::verify_challenge_content_quality ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_validate_languages ... ok
[INFO] [stdout] test unit::domain::services::challenge_generator::challenge_generator_tests::snapshot_test_complex_rust_service_challenges ... ok
[INFO] [stdout] test unit::domain::services::source_file_extractor::tests::test_collect_with_progress_calls_progress_reporter ... ok
[INFO] [stdout] test unit::domain::services::source_file_extractor::tests::test_collect_with_progress_applies_gittypeignore_patterns ... ok
[INFO] [stdout] test unit::domain::services::source_file_extractor::tests::test_collect_with_progress_finds_supported_files ... ok
[INFO] [stdout] test unit::domain::services::source_file_extractor::tests::test_collect_with_progress_filters_directories ... ok
[INFO] [stdout] test unit::domain::services::source_file_extractor::tests::test_collect_with_progress_handles_empty_storage ... ok
[INFO] [stdout] test unit::domain::services::source_file_extractor::tests::test_collect_with_progress_supports_gitignore_style_root_directory_pattern ... ok
[INFO] [stdout] test unit::domain::services::source_file_extractor::tests::test_with_storage_creates_extractor ... ok
[INFO] [stdout] test unit::domain::services::source_file_extractor::tests::test_collect_with_progress_uses_relative_patterns_from_gittypeignore ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_as_any_returns_self ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_difficulty_indices_is_idempotent ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_custom_filters_by_difficulty ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_custom_returns_empty_when_no_matching_difficulty ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_custom_uses_config_max_when_none ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_normal_returns_all_when_fewer_than_max ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_normal_returns_max_stages ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_normal_with_seed_is_deterministic ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_returns_empty_when_no_challenges ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_time_attack_sorted_by_length ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_with_empty_challenge_list ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_count_challenges_by_difficulty_from_store ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_build_stages_time_attack_returns_all_challenges ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_count_challenges_by_difficulty_with_no_challenges ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_count_challenges_by_difficulty_uses_cached_indices ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_get_challenge_for_difficulty_returns_matching ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_get_challenge_for_difficulty_returns_none_when_no_match ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_get_challenge_for_difficulty_returns_none_when_no_challenges ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_get_mode_description_custom_with_time_limit ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_get_mode_description_normal ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_get_mode_description_custom_without_time_limit ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_get_mode_description_time_attack ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_set_cached_challenges_invalidates_indices ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_with_mode_changes_game_mode ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_with_seed_makes_deterministic ... ok
[INFO] [stdout] test unit::domain::services::stage_builder_service_tests::test_with_max_stages_changes_limit ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::all_themes_have_non_empty_names ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::all_themes_have_unique_ids ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::colors_instance_creation_works ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::default_theme_exists ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::ascii_theme_uses_ascii_language_colors ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_available_themes_includes_default_themes ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_available_themes_returns_consistent_count ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_color_for_language_after_init ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_color_for_language_light_mode ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_color_for_language_without_init_returns_white ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_color_for_language_unknown_returns_fallback ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_current_color_mode_default_is_dark ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_current_color_scheme_returns_dark_scheme ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_colors_returns_valid_colors ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::get_current_color_scheme_returns_light_scheme ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::init_loads_language_colors ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::init_sets_theme_from_config ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::set_current_color_mode_to_dark ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::set_current_color_mode_to_light ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::theme_manager_has_default_values ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_check_uses_cargo_pkg_version ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_multiple_calls_consistency ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_patch_version_update ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_same_major_different_minor ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_same_version_no_update ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_service_creation ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_version_newer_than_latest ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_version_up_to_date ... ok
[INFO] [stdout] test unit::domain::services::version_service_tests::version_service_tests::test_version_update_available ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_clear_on_empty_is_noop ... ok
[INFO] [stdout] test unit::domain::services::theme_manager_tests::set_current_theme_updates_theme ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_clear_removes_challenges ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_get_challenges_returns_none_by_default ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_set_and_get_challenges ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_set_challenges_overwrites_previous ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_set_empty_challenges ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_take_challenges_returns_and_removes ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_take_challenges_returns_none_when_empty ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_clear_on_empty_store_is_noop ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_clear_repository_on_empty_is_noop ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_clear_repository_removes_value ... ok
[INFO] [stdout] test unit::domain::stores::challenge_store_tests::test_take_challenges_twice_returns_none_second_time ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_get_extraction_options_returns_none_by_default ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_clear_resets_all_fields ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_get_repo_spec_returns_none_by_default ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_get_repo_path_returns_none_by_default ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_get_repository_returns_none_by_default ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_set_and_get_extraction_options ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_set_and_get_repo_path ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_set_and_get_repo_spec ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_set_and_get_repository ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_clear_error_message ... ok
[INFO] [stdout] test unit::domain::stores::repository_store_tests::test_set_repo_spec_overwrites_previous ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_clear_error_message_on_none_is_noop ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_clear_resets_all_fields ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_clear_on_default_store_is_noop ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_error_message_is_none_by_default ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_loading_failed_is_false_by_default ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_loading_completed_is_false_by_default ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_set_and_get_error_message ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_set_error_message_overwrites_previous ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_set_loading_completed_to_false ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_set_loading_completed_to_true ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_set_loading_failed_to_false ... ok
[INFO] [stdout] test unit::domain::stores::session_store_tests::test_set_loading_failed_to_true ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_eprintln ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_eprintln_multiple_messages ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_flush ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_mock_console_default ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_mock_console_new ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_print ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_print_multiple_messages ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_println ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_output_isolation ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_read_line_empty_input ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_read_line_with_input ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_read_line_with_newline_suffix ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::challenge_dao_tests::test_ensure_challenge_creates_new_challenge ... ok
[INFO] [stdout] test unit::infrastructure::console_tests::tests::test_set_input_lines_replaces ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::challenge_dao_tests::test_ensure_challenge_returns_existing_challenge ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::challenge_dao_tests::test_ensure_challenge_with_comment_ranges ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::challenge_dao_tests::test_ensure_challenge_with_different_difficulties ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::challenge_dao_tests::test_ensure_multiple_challenges_in_transaction ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_ensure_repository_creates_new_repository ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::challenge_dao_tests::test_new_creates_dao ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_ensure_repository_returns_existing_repository ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_ensure_repository_in_transaction ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_find_repository ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_get_all_repositories ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_find_repository_not_found ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_get_all_repositories_with_languages ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_get_repository_by_id_not_found ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_get_repository_by_id ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_new_creates_dao ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_repository_uniqueness_constraint ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::repository_dao_tests::test_multiple_repositories_in_transaction ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_all_time_best_session ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_repository_sessions ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_create_session_in_transaction ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_session_result ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_session_result_not_found ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_sessions_filtered_by_date ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_sessions_filtered_by_repository ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_session_stage_results ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_todays_best_session ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_sessions_filtered_sorted_by_score ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_get_weekly_best_session ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_new_creates_dao ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_save_session_result_in_transaction ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::session_dao_tests::test_save_stage_result_in_transaction ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_empty_difficulty_breakdown ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_completed_stages_ordered_by_date ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_empty_stage_statistics ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_completed_stages ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_empty_language_breakdown ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_completed_stages_by_difficulty ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_completed_stages_by_difficulty_without_repository ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_completed_stages_by_language_without_repository ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_completed_stages_by_language ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_difficulty_breakdown ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_difficulty_breakdown_without_repository ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_language_breakdown ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_language_breakdown_without_repository ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_get_stage_statistics ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_multiple_repositories_isolation ... ok
[INFO] [stdout] test unit::infrastructure::database::daos::stage_dao_tests::test_new_creates_dao ... ok
[INFO] [stdout] test unit::infrastructure::database::database_tests::test_foreign_key_constraints ... ok
[INFO] [stdout] test unit::infrastructure::database::database_tests::test_database_creation ... ok
[INFO] [stdout] test unit::infrastructure::database::database_tests::test_indexes_created ... ok
[INFO] [stdout] test unit::infrastructure::database::database_tests::test_migration_idempotency ... ok
[INFO] [stdout] test unit::infrastructure::database::database_tests::test_schema_versioning ... ok
[INFO] [stdout] test unit::infrastructure::database::database_tests::test_normalized_tables_structure ... ok
[INFO] [stdout] test unit::infrastructure::database::database_tests::test_tables_creation ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_edge_case_hyphenated_names ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_edge_case_numeric_names ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_https_format ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_https_format_custom_host ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_https_format_with_extra_path ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_domain_slash_path_as_short_format ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_https_format_with_git_suffix ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_invalid_format_empty_string ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_invalid_format_no_slash ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_invalid_format_single_word ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_invalid_format_with_spaces ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_invalid_https_format_malformed_url ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_invalid_ssh_format_malformed ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_invalid_ssh_format_no_colon ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_https_format_with_port ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_short_format ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_short_format_with_underscore ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_ssh_format ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_ssh_format_custom_host ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_ssh_format_without_git_suffix ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_ssh_url_format_with_custom_port ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_ssh_url_format_with_port ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_ssh_url_format_without_port ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_traditional_ssh_format_with_custom_port ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_traditional_ssh_format_with_port ... ok
[INFO] [stdout] test unit::infrastructure::git::local_git_repository_client_test::tests::test_is_git_repository_with_git_dir ... ok
[INFO] [stdout] test unit::infrastructure::git::local_git_repository_client_test::tests::test_is_git_repository_without_git_dir ... ok
[INFO] [stdout] test unit::infrastructure::git::remote_git_repository_client_test::tests::test_is_repository_complete_with_complete_git_structure ... ok
[INFO] [stdout] test unit::infrastructure::git::remote_git_repository_client_test::tests::test_is_repository_complete_with_git_only ... ok
[INFO] [stdout] test unit::infrastructure::git::git_repository_ref_parser_test::tests::test_parse_traditional_ssh_format_with_port_no_git_suffix ... ok
[INFO] [stdout] test unit::infrastructure::logging_tests::test_format_panic_info ... ok
[INFO] [stdout] test unit::infrastructure::git::remote_git_repository_client_test::tests::test_is_repository_complete_without_git_dir ... ok
[INFO] [stdout] test unit::infrastructure::logging_tests::test_get_environment_context ... ok
[INFO] [stdout] test unit::infrastructure::logging_tests::test_get_environment_context_contains_os ... ok
[INFO] [stdout] test unit::infrastructure::logging_tests::test_get_environment_context_contains_arch ... ok
[INFO] [stdout] test unit::infrastructure::logging_tests::test_get_log_directory ... ok
[INFO] [stdout] test unit::infrastructure::logging_tests::test_setup_console_logging ... ok
[INFO] [stdout] test unit::infrastructure::logging_tests::test_setup_console_logging_twice ... ok
[INFO] [stdout] test unit::infrastructure::storage::app_data_provider_tests::app_data_provider_get_app_data_dir ... ok
[INFO] [stdout] test unit::infrastructure::storage::app_data_provider_tests::app_data_provider_returns_valid_path ... ok
[INFO] [stdout] test unit::infrastructure::storage::app_data_provider_tests::app_data_provider_path_is_consistent ... ok
[INFO] [stdout] test unit::infrastructure::storage::app_data_provider_tests::mock_tests::app_data_provider_returns_test_path ... ok
[INFO] [stdout] test unit::infrastructure::storage::app_data_provider_tests::file_storage_implements_app_data_provider ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::compressed_file_storage_new ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::mock_tests::compressed_file_storage_clone ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::compressed_file_storage_default ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::mock_tests::compressed_file_storage_delete_file ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::mock_tests::compressed_file_storage_get_file_size ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::mock_tests::compressed_file_storage_file_exists ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::mock_tests::compressed_file_storage_load_nonexistent_file ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::mock_tests::compressed_file_storage_list_files_in_dir ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::mock_tests::compressed_file_storage_save_and_load ... ok
[INFO] [stdout] test unit::infrastructure::storage::compressed_file_storage_tests::mock_tests::compressed_file_storage_save_multiple_times ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::file_entry_clone ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::file_entry_creation ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::file_entry_directory ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::file_storage_default ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::file_storage_new ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::mock_tests::file_storage_add_directory ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::mock_tests::file_storage_delete_file_succeeds ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::mock_tests::file_storage_add_file ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::mock_tests::file_storage_file_exists_returns_false ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::mock_tests::file_storage_read_json_returns_none ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::mock_tests::file_storage_walk_directory_returns_files ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::mock_tests::file_storage_walk_nonexistent_directory_returns_error ... ok
[INFO] [stdout] test unit::infrastructure::storage::file_storage_tests::mock_tests::file_storage_write_json_succeeds ... ok
[INFO] [stdout] test unit::presentation::game::context_loader_tests::test_load_context_at_file_boundaries ... ok
[INFO] [stdout] test unit::presentation::game::context_loader_tests::test_load_context_lines ... ok
[INFO] [stdout] test unit::presentation::game::game_unit_tests::difficulty_level_texts_match_expectations ... ok
[INFO] [stdout] test unit::presentation::game::game_unit_tests::test_custom_mode_easy_prefers_short ... ignored
[INFO] [stdout] test unit::presentation::game::game_unit_tests::test_normal_mode_limits_stages ... ignored
[INFO] [stdout] test unit::presentation::game::game_unit_tests::test_seeded_randomness_is_reproducible ... ignored
[INFO] [stdout] test unit::presentation::game::game_unit_tests::test_time_attack_mode_uses_all ... ignored
[INFO] [stdout] test unit::presentation::game::game_unit_tests::difficulty_level_char_limits_are_ordered ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::all_steps_have_unique_numbers ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::all_steps_have_unique_names ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::default_creates_step_manager ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::get_all_steps_returns_seven_steps ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::get_step_by_name_finds_database_init ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::get_step_by_name_returns_none_for_unknown ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::get_step_by_number_returns_none_for_large_number ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::get_step_by_number_returns_none_for_zero ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::new_creates_step_manager ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::step_name_to_step_number_returns_valid_number ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::step_name_to_step_number_returns_zero_for_unknown ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::all_messages_end_with_ellipsis_or_period ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::all_messages_start_with_gt_symbol ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::colored_message_clone ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::colored_message_has_text_and_color ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::colored_messages_match_regular_messages ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_colored_messages_for_known_rank ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_colored_messages_for_unknown_rank ... ok
[INFO] [stdout] test unit::presentation::game::models::loading_steps::step_manager_tests::get_step_by_number_finds_first_step ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_hacking_messages_for_unknown_rank ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_messages_for_advanced_tier_ranks ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_messages_for_beginner_tier_ranks ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_hacking_messages_for_known_rank ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_messages_for_expert_tier_ranks ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_messages_for_legendary_tier_ranks ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::messages_are_not_empty ... ok
[INFO] [stdout] test unit::presentation::game::rank_messages_tests::get_messages_for_intermediate_tier_ranks ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_build_global_difficulty_indices ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_build_stages_returns_empty_when_no_challenges ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_all_difficulty_levels_in_custom_mode ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_chaining_builders ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_count_challenges_by_difficulty_empty_when_not_cached ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_custom_mode_with_default_max_stages ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_difficulty_level_enum_usage ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_game_mode_clone ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_game_mode_custom_description_with_all_fields ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_game_mode_debug ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_game_mode_normal_description_format ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_get_global_challenge_for_difficulty ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_get_global_stage_info ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_game_mode_variants ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_get_mode_description_custom ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_get_mode_description_custom_no_time_limit ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_get_mode_description_normal ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_get_next_global_challenge ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_has_next_global_challenge ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_initialize_global ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_initialize_global_with_stages ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_instance_returns_arc_mutex ... ignored, Global instance removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_seed_configuration ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_set_global_difficulty ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_stage_config_clone ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_stage_config_custom ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_get_mode_description_time_attack ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_stage_config_debug ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_stage_config_default ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_stage_repository_empty ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_stage_repository_new ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_stage_repository_with_config ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_update_global_title_screen_data ... ignored, Global methods removed - no longer applicable
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_with_challenges_returns_none_when_no_data ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_with_max_stages ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_with_mode ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_with_seed ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::calculate_line_starts_empty ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::calculate_line_starts_multiple_lines ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::calculate_line_starts_single_line ... ok
[INFO] [stdout] test unit::presentation::game::stage_repository_tests::test_stage_repository_default ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_at_end_of_line_content_at_end_of_text ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::calculate_line_starts_with_newline_at_end ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_at_end_of_line_content_at_newline ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_at_end_of_line_content_before_code ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_at_end_of_line_content_before_comment ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_at_end_of_line_content_middle_of_line ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_rest_of_line_comment_only_at_newline_boundary ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_rest_of_line_comment_only_empty ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_rest_of_line_comment_only_out_of_bounds ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_rest_of_line_comment_only_whitespace_then_comment ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_rest_of_line_comment_only_with_code ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::is_rest_of_line_comment_only_with_comment ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_empty_string ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_mixed_empty_and_content ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_only_whitespace_lines ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_preserves_leading_whitespace ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_multiple_lines ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_removes_empty_lines ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_removes_trailing_whitespace ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_single_line ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_with_comment_mapping_empty ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_with_comment_mapping_no_comments ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_with_comment_mapping_preserve_empty_true ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_challenge_text_with_comment_mapping_preserve_empty_false ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_with_comment_mapping_comment_in_removed_line ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_with_comment_mapping_maps_comments_correctly ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_with_comment_mapping_preserve_empty_with_comments ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::process_with_comment_mapping_removes_empty_lines_and_adjusts_ranges ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_character_in_comment ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_character_newline_at_end ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_character_newline_in_middle ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_character_out_of_bounds ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_character_regular_char ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_character_whitespace_before_comment ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_character_whitespace_not_before_comment ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_final_newline_at_end ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_final_newline_non_newline_char ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_final_newline_not_at_end ... ok
[INFO] [stdout] test unit::presentation::game::text_processor_tests::should_skip_final_newline_out_of_bounds ... ok
[INFO] [stdout] test unit::presentation::game::views::typing::typing_content_view_tests::test_calculate_scroll_offset ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::create_share_text_with_repo ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::create_share_text_without_repo ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::generate_share_url_facebook ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::generate_share_url_facebook_with_repo ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::generate_share_url_linkedin ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::generate_share_url_linkedin_with_repo ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::generate_share_url_reddit ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::generate_share_url_reddit_with_repo ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::generate_share_url_x ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::generate_share_url_x_with_repo ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::sharing_platform_all_lists_every_variant_once ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::sharing_platform_name_matches_variant ... ok
[INFO] [stdout] [?1049l[?25h[0m[2Jtest unit::presentation::tui::screen_manager_tests::test_cleanup_terminal_static ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_get_current_screen_type ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_get_event_bus ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_get_screen ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_get_screen_mut ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_get_screen_not_registered ... ok
[INFO] [stdout] test unit::presentation::sharing_tests::sharing_platform_clone ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_get_screen_stack ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_handle_transition_none ... ok
[INFO] [stdout] [2Jtest unit::presentation::tui::screen_manager_tests::test_handle_transition_push ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_is_terminal_initialized ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_new ... ok
[INFO] [stdout] [2Jtest unit::presentation::tui::screen_manager_tests::test_push_screen ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_handle_transition_exit ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_register_screen ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_register_multiple_screens ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_render_current_screen_with_test_backend ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_screen_transition_variants ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_screen_type_variants ... ok
[INFO] [stdout] [2Jtest unit::presentation::tui::screen_manager_tests::test_set_current_screen ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_set_current_screen_not_registered ... ok
[INFO] [stdout] test unit::presentation::tui::screen_manager_tests::test_update_strategy_variants ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_analytics_to_title ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_analytics_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_animation_to_session_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_animation_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_details_dialog_to_session_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_details_dialog_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_help_to_title ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_help_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_loading_to_typing ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_records_to_session_detail ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_records_to_title ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_records_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_same_screen_noop ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_detail_to_records ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_detail_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_failure_to_title ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_failure_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_failure_to_typing_retries ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_sharing_to_session_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_sharing_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_summary_to_analytics ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_summary_to_records ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_summary_to_session_sharing ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_summary_to_title ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_summary_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_session_summary_to_typing_retry ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_settings_to_title ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_settings_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_stage_summary_to_animation_session_completion ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_stage_summary_to_session_failure_no_tracker ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_stage_summary_to_total_summary ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_scala_extractor_basic ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_title_to_analytics ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_stage_summary_to_typing ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_title_to_loading ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_title_to_records ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_title_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_title_to_version_check ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_total_summary_share_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_total_summary_to_total_summary_share ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_title_to_typing_starts_game ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_typing_to_animation_session_completion ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_typing_to_session_failure_game_failure ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_typing_to_stage_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_typing_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_version_check_to_title ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_typing_to_session_failure_no_tracker ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::countdown_colors_use_status_colors ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::default_static_colors_are_rgb ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_version_check_to_total_summary ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::from_crossterm_all_named_variants ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::from_crossterm_ansi ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::from_crossterm_rgb ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::tier_colors_are_rgb ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::instance_color_accessors ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::to_crossterm_indexed ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::to_crossterm_all_named_variants ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::to_crossterm_maps_named_colors ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_ansi256_basic_black ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_ansi256_basic_colors_0_to_7 ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_ansi256_basic_colors_8_to_15 ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_ansi256_grayscale ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_ansi256_grayscale_mid_range ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_ansi256_to_rgb ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_ascii_art_length_smooth ... ok
[INFO] [stdout] test unit::presentation::ui::colors_tests::to_crossterm_preserves_rgb_values ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_blue ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_ascii_art_length_stepped ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_cyan ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_gray_no_saturation ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_green ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_lightness_clamp_high ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_lightness_clamp_low ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_magenta ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_negative_hue_wraps ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_orange ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_purple ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_red ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_teal ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_boost_vibrance_yellow ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_color_segments_smooth ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_color_segments_stepped ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_compiler_colors_ascii ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_empty_text ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_gradation_text_render_widget ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_gradation_text_render_widget_rgb ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::create_middle_implementation_query_for_all_supported_languages_succeeds ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_empty_colors ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_kernel_hacker_colors ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_legendary_colors_ascii ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_multiple_colors_smooth ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_multiple_colors_stepped ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_rgb_lerp_at_one ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_rgb_direct ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_rgb_lerp ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_rgb_lerp_clamped_above ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_rgb_lerp_clamped_below ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_rgb_lerp_at_zero ... ok
[INFO] [stdout] test unit::presentation::ui::gradation_text_tests::test_single_color ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::create_comment_query_for_all_supported_languages_succeeds ... ok
[INFO] [stdout] test unit::presentation::tui::screen_transition_manager_tests::tests::test_invalid_transition_panics - should panic ... ok
[INFO] [stdout] test unit::domain::services::scoring::calculator::stage::test_calculate_basic_correct ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::parsers::parser_registry_tests::create_query_for_all_supported_languages_succeeds ... ok
[INFO] [stdout] test unit::domain::services::source_code_parser::source_code_parser_tests::test_parallel_ast_parsing_performance ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1938 passed; 0 failed; 14 ignored; 0 measured; 0 filtered out; finished in 37.66s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests gittype
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/presentation/tui/screen_manager.rs - presentation::tui::screen_manager (line 17) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "00ae8acdd2dec9d15cd6d1c50970d7db1c13ab6253443e27ef1cee2967f92d43", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00ae8acdd2dec9d15cd6d1c50970d7db1c13ab6253443e27ef1cee2967f92d43", kill_on_drop: false }`
[INFO] [stdout] 00ae8acdd2dec9d15cd6d1c50970d7db1c13ab6253443e27ef1cee2967f92d43
