[INFO] cloning repository https://github.com/claylo/bito-lint [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/claylo/bito-lint" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclaylo%2Fbito-lint", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclaylo%2Fbito-lint'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fc9ddb4baeef0108ebafed037688265c74b987b3 [INFO] testing claylo/bito-lint against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fclaylo%2Fbito-lint" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml [INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/claylo/bito-lint [INFO] finished tweaking git repo https://github.com/claylo/bito-lint [INFO] tweaked toml for git repo https://github.com/claylo/bito-lint written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/claylo/bito-lint on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/claylo/bito-lint 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 245b04b059ad5d9a4fc6e7b63bb90d5d1a4cbd0821b45c75d2e6fddc72161fcb [INFO] running `Command { std: "docker" "start" "-a" "245b04b059ad5d9a4fc6e7b63bb90d5d1a4cbd0821b45c75d2e6fddc72161fcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "245b04b059ad5d9a4fc6e7b63bb90d5d1a4cbd0821b45c75d2e6fddc72161fcb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "245b04b059ad5d9a4fc6e7b63bb90d5d1a4cbd0821b45c75d2e6fddc72161fcb", kill_on_drop: false }` [INFO] [stdout] 245b04b059ad5d9a4fc6e7b63bb90d5d1a4cbd0821b45c75d2e6fddc72161fcb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3432b57b69f0619c26f96321661037b06160eee0f1ad5da8f57b7df98c0151b1 [INFO] running `Command { std: "docker" "start" "-a" "3432b57b69f0619c26f96321661037b06160eee0f1ad5da8f57b7df98c0151b1", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling zmij v1.0.20 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling rmp v0.8.15 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling aneubeck-daachorse v1.1.1 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling anstyle v1.0.13 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling tinyvec v1.10.0 [INFO] [stderr] Compiling figment v0.10.19 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling clap_lex v0.7.7 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling camino v1.2.2 [INFO] [stderr] Compiling ryu v1.0.22 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling pulldown-cmark v0.13.0 [INFO] [stderr] Compiling unsafe-libyaml v0.2.11 [INFO] [stderr] Compiling is_ci v1.2.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling inlinable_string v0.1.15 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling clap_builder v4.5.57 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling is-terminal v0.4.17 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling rmcp v0.17.0 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling owo-colors v4.3.0 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling console v0.16.2 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling supports-color v2.1.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling directories v6.0.0 [INFO] [stderr] Compiling supports-color v3.0.2 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling unit-prefix v0.5.2 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling indicatif v0.18.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling pear_codegen v0.2.9 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling pear v0.2.9 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling rmcp-macros v0.17.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling clap v4.5.57 [INFO] [stderr] Compiling tracing-appender v0.2.4 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling bpe v0.2.1 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling bpe-openai v0.3.0 [INFO] [stderr] Compiling bito-lint-core v0.4.0 (/opt/rustwide/workdir/crates/bito-lint-core) [INFO] [stderr] Compiling bito-lint v0.4.0 (/opt/rustwide/workdir/crates/bito-lint) [INFO] [stderr] Finished `dev` profile [optimized + debuginfo] target(s) in 7m 56s [INFO] running `Command { std: "docker" "inspect" "3432b57b69f0619c26f96321661037b06160eee0f1ad5da8f57b7df98c0151b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3432b57b69f0619c26f96321661037b06160eee0f1ad5da8f57b7df98c0151b1", kill_on_drop: false }` [INFO] [stdout] 3432b57b69f0619c26f96321661037b06160eee0f1ad5da8f57b7df98c0151b1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e4d82705a525dae8370ea393a360313454fd051572acd430500e46b568de6d3d [INFO] running `Command { std: "docker" "start" "-a" "e4d82705a525dae8370ea393a360313454fd051572acd430500e46b568de6d3d", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.10.0 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling predicates-core v1.0.9 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling pulldown-cmark v0.13.0 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling predicates-tree v1.0.12 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates v3.1.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling bito-lint-core v0.4.0 (/opt/rustwide/workdir/crates/bito-lint-core) [INFO] [stderr] Compiling tempfile v3.26.0 [INFO] [stderr] Compiling bito-lint v0.4.0 (/opt/rustwide/workdir/crates/bito-lint) [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 3m 34s [INFO] running `Command { std: "docker" "inspect" "e4d82705a525dae8370ea393a360313454fd051572acd430500e46b568de6d3d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e4d82705a525dae8370ea393a360313454fd051572acd430500e46b568de6d3d", kill_on_drop: false }` [INFO] [stdout] e4d82705a525dae8370ea393a360313454fd051572acd430500e46b568de6d3d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] dd2cb13bd8d2f77cb4f05e827aaece2f902637c25eb07dcedd58eec18093abf7 [INFO] running `Command { std: "docker" "start" "-a" "dd2cb13bd8d2f77cb4f05e827aaece2f902637c25eb07dcedd58eec18093abf7", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [optimized + debuginfo] target(s) in 0.33s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bito_lint-c21a68897d7e04e2) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test commands::analyze::tests::resolve_both_none_returns_none ... ok [INFO] [stdout] test commands::analyze::tests::resolve_checks_passes_through ... ok [INFO] [stdout] test commands::analyze::tests::resolve_exclude_unknown_errors ... ok [INFO] [stdout] test commands::info::tests::test_config_info_no_file ... ok [INFO] [stdout] test commands::analyze::tests::resolve_exclude_removes_named ... ok [INFO] [stdout] test server::tests::analyze_writing_invalid_dialect_returns_error ... ok [INFO] [stdout] test server::tests::analyze_writing_with_dialect ... ok [INFO] [stdout] test server::tests::check_completeness_tool_detects_failure ... ok [INFO] [stdout] test server::tests::check_completeness_tool_works ... ok [INFO] [stdout] test server::tests::check_readability_tool_works ... ok [INFO] [stdout] test commands::info::tests::test_cmd_info_text_succeeds ... ok [INFO] [stdout] test server::tests::get_custom_not_found_returns_error ... ok [INFO] [stdout] test server::tests::get_custom_returns_inline_content ... ok [INFO] [stdout] test server::tests::get_info_tool_returns_json_when_requested ... ok [INFO] [stdout] test server::tests::get_info_tool_returns_text_by_default ... ok [INFO] [stdout] test server::tests::lint_file_no_rules_returns_no_match ... ok [INFO] [stdout] test server::tests::lint_file_with_rules_runs_checks ... ok [INFO] [stdout] test server::tests::check_grammar_tool_works ... ok [INFO] [stdout] test server::tests::server_has_instructions ... ok [INFO] [stdout] test server::tests::server_has_tools_capability ... ok [INFO] [stdout] test server::tests::server_info_has_correct_name ... ok [INFO] [stdout] test commands::info::tests::test_cmd_info_json_via_global ... ok [INFO] [stdout] test server::tests::analyze_writing_tool_works ... ok [INFO] [stdout] test server::tests::count_tokens_tool_works ... ok [INFO] [stdout] test commands::doctor::tests::test_doctor_report_gathers ... ok [INFO] [stdout] test server::tests::mcp_tool_schemas_fit_token_budget ... ok [INFO] [stdout] test commands::doctor::tests::test_cmd_doctor_text_succeeds ... ok [INFO] [stdout] test commands::doctor::tests::test_cmd_doctor_json_succeeds ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bito_lint-4a93d1b89ab2eb6f) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test observability::tests::format_timestamp_produces_valid_rfc3339 ... ok [INFO] [stdout] test observability::tests::days_to_ymd_known_dates ... ok [INFO] [stdout] test observability::tests::env_filter_quiet_overrides ... ok [INFO] [stdout] test observability::tests::env_filter_verbose_maps_to_debug_and_trace ... ok [INFO] [stdout] test observability::tests::log_target_from_dir_appends_file_name ... ok [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-b2c60b2c9abfb3e3) [INFO] [stdout] test observability::tests::resolve_log_target_with_uses_config_dir ... ok [INFO] [stdout] test observability::tests::resolve_log_target_with_falls_back_to_dir_override ... ok [INFO] [stdout] test observability::tests::resolve_log_target_with_prefers_path_override ... ok [INFO] [stdout] test observability::tests::log_target_from_path_uses_parent_dir ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 34 tests [INFO] [stdout] test color_auto_accepted ... ok [INFO] [stdout] test checks_and_exclude_conflict ... ok [INFO] [stdout] test color_never_accepted ... ok [INFO] [stdout] test color_always_accepted ... ok [INFO] [stdout] test analyze_max_grade_accepted ... ok [INFO] [stdout] test chdir_flag_changes_directory ... ok [INFO] [stdout] test info_help_shows_command_options ... ok [INFO] [stdout] test exclude_skips_named_checks ... ok [INFO] [stdout] test help_flag_shows_usage ... ok [INFO] [stdout] test chdir_nonexistent_fails ... ok [INFO] [stdout] test analyze_passive_max_accepted ... ok [INFO] [stdout] test lint_help_shows_usage ... ok [INFO] [stdout] test info_json_outputs_valid_json ... ok [INFO] [stdout] test invalid_subcommand_shows_error ... ok [INFO] [stdout] test invalid_flag_shows_error ... ok [INFO] [stdout] test info_json_contains_expected_fields ... ok [INFO] [stdout] test info_shows_package_name_and_version ... ok [INFO] [stdout] test lint_no_match_skips_cleanly ... ok [INFO] [stdout] test exclude_unknown_name_fails ... ok [INFO] [stdout] test short_help_flag_shows_usage ... ok [INFO] [stdout] test lint_json_output_has_pass_field ... ok [INFO] [stdout] test lint_no_rules_skips ... ok [INFO] [stdout] test quiet_flag_accepted ... ok [INFO] [stdout] test short_quiet_flag_accepted ... ok [INFO] [stdout] test short_version_flag_shows_version ... ok [INFO] [stdout] test lint_with_config_rules_runs_checks ... ok [INFO] [stdout] test short_verbose_flag_accepted ... ok [INFO] [stdout] test version_flag_shows_version ... ok [INFO] [stdout] test version_only_prints_bare_version ... ok [INFO] [stdout] test verbose_flag_accepted ... ok [INFO] [stdout] test multiple_verbose_flags_accepted ... ok [INFO] [stdout] test no_subcommand_shows_help ... ok [INFO] [stdout] test unknown_check_name_fails ... ok [INFO] [stdout] test lint_with_tokens_budget ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 34 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s [INFO] [stdout] [INFO] [stderr] Running tests/config_integration.rs (/opt/rustwide/target/debug/deps/config_integration-e79155fd48d1c55a) [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test closer_config_takes_precedence ... ok [INFO] [stdout] test explicit_config_overrides_discovered ... ok [INFO] [stdout] test discovers_config_in_parent_directory ... ok [INFO] [stdout] test discovers_dotfile_config_in_current_dir ... ok [INFO] [stdout] test config_in_same_dir_as_git_is_found ... ok [INFO] [stdout] test git_boundary_stops_config_search ... ok [INFO] [stdout] test later_extension_overrides_earlier_in_same_directory ... ok [INFO] [stdout] test discovers_regular_config_in_current_dir ... ok [INFO] [stdout] test invalid_toml_config_shows_error ... ok [INFO] [stdout] test parses_json_config ... ok [INFO] [stdout] test parses_toml_config ... ok [INFO] [stdout] test parses_yaml_config ... ok [INFO] [stdout] test parses_yml_config ... ok [INFO] [stdout] test runs_without_config_file ... ok [INFO] [stdout] test invalid_yaml_config_shows_error ... ok [INFO] [stdout] test invalid_json_config_shows_error ... ok [INFO] [stdout] test unknown_config_field_is_ignored ... ok [INFO] [stdout] test regular_name_overrides_dotfile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bito_lint_core-0ab23ea688b4beb8) [INFO] [stdout] [INFO] [stdout] running 193 tests [INFO] [stdout] test analysis::cliches::tests::counts_repeated_cliche ... ok [INFO] [stdout] test analysis::cliches::tests::detects_multiple_cliches ... ok [INFO] [stdout] test analysis::cliches::tests::case_insensitive ... ok [INFO] [stdout] test analysis::complex_paragraphs::tests::empty_input ... ok [INFO] [stdout] test analysis::complex_paragraphs::tests::complex_paragraph_flagged ... ok [INFO] [stdout] test analysis::cliches::tests::detects_single_cliche ... ok [INFO] [stdout] test analysis::cliches::tests::no_cliches ... ok [INFO] [stdout] test analysis::complex_paragraphs::tests::mixed_paragraphs ... ok [INFO] [stdout] test analysis::consistency::tests::detects_hyphenation_inconsistency ... ok [INFO] [stdout] test analysis::consistency::tests::detects_us_uk_mixing ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_ca_flags_organise ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_ca_hybrid_behavior ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_gb_flags_us_spelling ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_ca_flags_color ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_au_follows_gb ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_mode_detects_mixing_too ... ok [INFO] [stdout] test analysis::consistency::tests::no_dialect_backward_compat ... ok [INFO] [stdout] test analysis::consistency::tests::word_boundary_matches_standalone_words ... ok [INFO] [stdout] test analysis::consistency::tests::no_issues_consistent_text ... ok [INFO] [stdout] test analysis::consistency::tests::word_present_basic ... ok [INFO] [stdout] test analysis::echoes::tests::detects_close_repetition ... ok [INFO] [stdout] test analysis::consistency::tests::word_boundary_prevents_false_positives ... ok [INFO] [stdout] test analysis::echoes::tests::multiple_paragraphs ... ok [INFO] [stdout] test analysis::echoes::tests::no_echoes_in_varied_text ... ok [INFO] [stdout] test analysis::consistency::tests::case_insensitive ... ok [INFO] [stdout] test analysis::consistency::tests::detects_both_issue_types ... ok [INFO] [stdout] test analysis::echoes::tests::sorted_by_distance ... ok [INFO] [stdout] test analysis::pacing::tests::mixed_pacing ... ok [INFO] [stdout] test analysis::pacing::tests::all_slow ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_us_flags_uk_spelling ... ok [INFO] [stdout] test analysis::echoes::tests::empty_paragraphs ... ok [INFO] [stdout] test analysis::pacing::tests::all_fast ... ok [INFO] [stdout] test analysis::repeated::tests::detects_trigram ... ok [INFO] [stdout] test analysis::repeated::tests::detects_repeated_bigram ... ok [INFO] [stdout] test analysis::repeated::tests::no_repetition ... ok [INFO] [stdout] test analysis::repeated::tests::single_word ... ok [INFO] [stdout] test analysis::sensory::tests::detects_sight_words ... ok [INFO] [stdout] test analysis::sensory::tests::empty_input ... ok [INFO] [stdout] test analysis::sensory::tests::detects_multiple_senses ... ok [INFO] [stdout] test analysis::complex_paragraphs::tests::simple_paragraph_not_flagged ... ok [INFO] [stdout] test analysis::pacing::tests::empty_input ... ok [INFO] [stdout] test analysis::repeated::tests::sorted_by_count_descending ... ok [INFO] [stdout] test analysis::sensory::tests::percentage_calculation ... ok [INFO] [stdout] test analysis::sensory::tests::no_sensory_words ... ok [INFO] [stdout] test analysis::repeated::tests::empty_input ... ok [INFO] [stdout] test analysis::tests::empty_input_errors ... ok [INFO] [stdout] test analysis::sensory::tests::sense_percentage_within_sensory ... ok [INFO] [stdout] test analysis::tests::mixed_known_unknown_checks_returns_error ... ok [INFO] [stdout] test completeness::tests::available_templates_includes_custom ... ok [INFO] [stdout] test analysis::tests::full_analysis_with_dialect ... ok [INFO] [stdout] test analysis::tests::selective_checks ... ok [INFO] [stdout] test completeness::tests::complete_handoff_passes ... ok [INFO] [stdout] test completeness::tests::adr_template_sections ... ok [INFO] [stdout] test completeness::tests::custom_template_works ... ok [INFO] [stdout] test completeness::tests::empty_section_detected ... ok [INFO] [stdout] test completeness::tests::missing_section_detected ... ok [INFO] [stdout] test completeness::tests::unknown_template_errors ... ok [INFO] [stdout] test analysis::tests::unknown_check_returns_error ... ok [INFO] [stdout] test config::tests::bito_config_discovered ... ok [INFO] [stdout] test config::tests::bito_and_bito_lint_merge ... ok [INFO] [stdout] test completeness::tests::complete_adr_passes ... ok [INFO] [stdout] test completeness::tests::custom_template_overrides_builtin ... ok [INFO] [stdout] test config::tests::disable_input_limit_defaults_to_false ... ok [INFO] [stdout] test config::tests::custom_entries_deserialize_from_yaml ... ok [INFO] [stdout] test config::tests::custom_entries_default_to_none ... ok [INFO] [stdout] test config::tests::empty_config_still_works_with_rules_field ... ok [INFO] [stdout] test config::tests::bito_lint_overrides_bito_config ... ok [INFO] [stdout] test config::tests::resolve_custom_entry_empty_errors ... ok [INFO] [stdout] test config::tests::disable_input_limit_overrides_max_bytes ... ok [INFO] [stdout] test config::tests::resolve_custom_entry_file ... ok [INFO] [stdout] test config::tests::dotfile_before_regular_same_app_name ... ok [INFO] [stdout] test config::tests::resolve_custom_entry_file_wins_over_inline ... ok [INFO] [stdout] test config::tests::only_closest_directory_contributes ... ok [INFO] [stdout] test config::tests::resolve_custom_entry_inline ... ok [INFO] [stdout] test config::tests::rules_default_to_none ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test config::tests::bito_yaml_discovered ... ok [INFO] [stdout] test config::tests::test_dialect_default_is_none ... ok [INFO] [stdout] test config::tests::test_dialect_as_str ... ok [INFO] [stdout] test config::tests::test_boundary_marker_stops_search ... ok [INFO] [stdout] test config::tests::rules_deserialize_from_yaml ... ok [INFO] [stdout] test config::tests::test_env_var_override_dialect ... ok [INFO] [stdout] test config::tests::test_env_var_overrides_file_config ... ok [INFO] [stdout] test config::tests::test_dialect_deserialization_toml ... ok [INFO] [stdout] test config::tests::test_dialect_deserialization_all_variants ... ok [INFO] [stdout] test config::tests::test_loader_builds_with_defaults ... ok [INFO] [stdout] test analysis::tests::full_analysis_runs ... ok [INFO] [stdout] test config::tests::test_explicit_file_overrides_project_config ... ok [INFO] [stdout] test analysis::tests::markdown_stripping_works ... ok [INFO] [stdout] test analysis::tests::valid_checks_accepted ... ok [INFO] [stdout] test config::tests::test_load_or_error_fails_when_no_config ... ok [INFO] [stdout] test config::tests::test_project_config_discovery ... ok [INFO] [stdout] test config::tests::test_user_config_dir ... ok [INFO] [stdout] test config::tests::test_single_file_overrides_default ... ok [INFO] [stdout] test dictionaries::abbreviations::tests::common_abbreviations ... ok [INFO] [stdout] test dictionaries::abbreviations::tests::ends_with_abbreviation_works ... ok [INFO] [stdout] test dictionaries::irregular_verbs::tests::adjective_exceptions ... ok [INFO] [stdout] test config::tests::test_load_or_error_succeeds_with_explicit_file ... ok [INFO] [stdout] test dictionaries::irregular_verbs::tests::linking_verbs ... ok [INFO] [stdout] test dictionaries::syllable_dict::tests::count_uses_dict_then_fallback ... ok [INFO] [stdout] test dictionaries::abbreviations::tests::not_abbreviations ... ok [INFO] [stdout] test dictionaries::irregular_verbs::tests::irregular_participles ... ok [INFO] [stdout] test dictionaries::syllable_dict::tests::dictionary_lookup ... ok [INFO] [stdout] test dictionaries::syllable_dict::tests::edge_cases ... ok [INFO] [stdout] test dictionaries::syllable_dict::tests::syllable_estimation ... ok [INFO] [stdout] test directives::tests::disable_enable_block ... ok [INFO] [stdout] test config::tests::test_later_file_overrides_earlier ... ok [INFO] [stdout] test directives::tests::disable_next_line ... ok [INFO] [stdout] test directives::tests::multiple_regions_for_same_check ... ok [INFO] [stdout] test directives::tests::no_directives_returns_empty ... ok [INFO] [stdout] test grammar::checker::tests::clean_sentence_no_issues ... ok [INFO] [stdout] test directives::tests::unclosed_disable_is_file_level ... ok [INFO] [stdout] test grammar::checker::tests::detects_double_negative ... ok [INFO] [stdout] test grammar::checker::tests::detects_double_space ... ok [INFO] [stdout] test grammar::checker::tests::detects_missing_punctuation ... ok [INFO] [stdout] test grammar::passive_voice::tests::detects_simple_passive ... ok [INFO] [stdout] test grammar::passive_voice::tests::empty_text_returns_empty ... ok [INFO] [stdout] test grammar::checker::tests::detects_subject_verb_agreement ... ok [INFO] [stdout] test grammar::passive_voice::tests::skips_adjective_exceptions ... ok [INFO] [stdout] test grammar::tests::empty_input_errors ... ok [INFO] [stdout] test grammar::tests::markdown_stripping ... ok [INFO] [stdout] test lint::tests::analyze_check_runs ... ok [INFO] [stdout] test grammar::tests::full_grammar_report ... ok [INFO] [stdout] test grammar::passive_voice::tests::detects_multiple_passive ... ok [INFO] [stdout] test lint::tests::analyze_checks_and_exclude_conflict_errors ... ok [INFO] [stdout] test grammar::passive_voice::tests::percentage_calculation ... ok [INFO] [stdout] test lint::tests::completeness_missing_sections_fails ... ok [INFO] [stdout] test lint::tests::file_level_suppression_skips_check ... ok [INFO] [stdout] test grammar::tests::over_max_passive ... ok [INFO] [stdout] test lint::tests::region_suppression_filters_grammar_findings ... ok [INFO] [stdout] test lint::tests::config_defaults_cascade_to_analyze ... ok [INFO] [stdout] test lint::tests::disable_next_line_filters_single_finding ... ok [INFO] [stdout] test lint::tests::empty_resolved_checks_produces_empty_report ... ok [INFO] [stdout] test lint::tests::rule_settings_override_config ... ok [INFO] [stdout] test lint::tests::suppression_does_not_affect_unsuppressed_findings ... ok [INFO] [stdout] test markdown::tests::extract_headings_finds_all_levels ... ok [INFO] [stdout] test markdown::tests::extract_headings_skips_frontmatter ... ok [INFO] [stdout] test markdown::tests::strip_preserves_blockquote_text ... ok [INFO] [stdout] test markdown::tests::strip_preserves_link_text ... ok [INFO] [stdout] test markdown::tests::strip_removes_code_blocks ... ok [INFO] [stdout] test markdown::tests::strip_removes_emphasis_markers ... ok [INFO] [stdout] test markdown::tests::strip_removes_frontmatter ... ok [INFO] [stdout] test markdown::tests::strip_removes_headings ... ok [INFO] [stdout] test markdown::tests::empty_input_returns_empty ... ok [INFO] [stdout] test markdown::tests::strip_removes_inline_code ... ok [INFO] [stdout] test markdown::tests::strip_removes_tables ... ok [INFO] [stdout] test readability::tests::basic_readability ... ok [INFO] [stdout] test readability::tests::dictionary_backed_syllables ... ok [INFO] [stdout] test readability::tests::empty_input_errors ... ok [INFO] [stdout] test readability::tests::markdown_stripping ... ok [INFO] [stdout] test readability::tests::over_max_grade ... ok [INFO] [stdout] test rules::tests::accumulates_different_checks_from_multiple_rules ... ok [INFO] [stdout] test rules::tests::equal_specificity_earlier_rule_wins ... ok [INFO] [stdout] test rules::tests::invalid_glob_skipped_gracefully ... ok [INFO] [stdout] test rules::tests::multiple_paths_in_single_rule ... ok [INFO] [stdout] test rules::tests::no_match_returns_empty ... ok [INFO] [stdout] test directives::tests::multiple_checks_comma_separated ... ok [INFO] [stdout] test rules::tests::no_rules_returns_empty ... ok [INFO] [stdout] test directives::tests::unrelated_check_not_affected ... ok [INFO] [stdout] test rules::tests::single_match_returns_checks ... ok [INFO] [stdout] test rules::tests::specific_rule_overrides_general_for_same_check ... ok [INFO] [stdout] test rules::tests::specificity_counts_literal_segments ... ok [INFO] [stdout] test text::tests::basic_sentences ... ok [INFO] [stdout] test text::tests::abbreviations_not_split ... ok [INFO] [stdout] test text::tests::empty_input ... ok [INFO] [stdout] test text::tests::decimal_numbers_not_split ... ok [INFO] [stdout] test text::tests::empty_text_empty_maps ... ok [INFO] [stdout] test text::tests::extract_words_basic ... ok [INFO] [stdout] test text::tests::paragraph_line_map_basic ... ok [INFO] [stdout] test text::tests::paragraph_line_map_multiline_paragraphs ... ok [INFO] [stdout] test text::tests::sentence_line_map_with_blank_lines ... ok [INFO] [stdout] test text::tests::split_paragraphs_basic ... ok [INFO] [stdout] test tokens::tests::backend_default_is_claude ... ok [INFO] [stdout] test tokens::tests::backend_display_and_as_str ... ok [INFO] [stdout] test tokens::tests::backend_serde_roundtrip ... ok [INFO] [stdout] test text::tests::question_and_exclamation ... ok [INFO] [stdout] test text::tests::sentence_line_map_basic ... ok [INFO] [stdout] test text::tests::sentence_line_map_multiple_sentences_one_line ... ok [INFO] [stdout] test tokens::tests::empty_text_returns_zero ... ok [INFO] [stdout] test tokens::tests::find_table_ranges_finds_one_table ... ok [INFO] [stdout] test tokens::tests::claude_backend_counts_tokens ... ok [INFO] [stdout] test tokens::tests::empty_table_cells ... ok [INFO] [stdout] test tokens::tests::detects_over_budget ... ok [INFO] [stdout] test tokens::tests::mixed_table_and_prose ... ok [INFO] [stdout] test lint::tests::tokens_over_budget_fails ... ok [INFO] [stdout] test tokens::tests::claude_overcounts_vs_openai ... ok [INFO] [stdout] test lint::tests::suppression_does_not_affect_other_checks ... ok [INFO] [stdout] test tokens::tests::no_table_matches_raw ... ok [INFO] [stdout] test tokens::tests::openai_backend_counts_tokens ... ok [INFO] [stdout] test tokens::tests::within_budget ... ok [INFO] [stdout] test tokens::tests::claude_overcounts_vs_openai_with_tables ... ok [INFO] [stdout] test tokens::tests::table_counts_at_least_raw ... ok [INFO] [stdout] test tokens::tests::pipe_in_non_table_unchanged ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 193 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s [INFO] [stdout] [INFO] [stderr] Doc-tests bito_lint [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] Doc-tests bito_lint_core [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test crates/bito-lint-core/src/config.rs - config (line 28) - compile ... ok [INFO] [stdout] test crates/bito-lint-core/src/lib.rs - (line 19) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.69s; merged doctests compilation took 0.65s [INFO] running `Command { std: "docker" "inspect" "dd2cb13bd8d2f77cb4f05e827aaece2f902637c25eb07dcedd58eec18093abf7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dd2cb13bd8d2f77cb4f05e827aaece2f902637c25eb07dcedd58eec18093abf7", kill_on_drop: false }` [INFO] [stdout] dd2cb13bd8d2f77cb4f05e827aaece2f902637c25eb07dcedd58eec18093abf7