[INFO] cloning repository https://github.com/soyMolty/tarscli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/soyMolty/tarscli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsoyMolty%2Ftarscli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsoyMolty%2Ftarscli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] df82cfaf76982c9db3eb1dd203ed367d2fa8290c
[INFO] testing soyMolty/tarscli against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FsoyMolty%2Ftarscli" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/soyMolty/tarscli
[INFO] finished tweaking git repo https://github.com/soyMolty/tarscli
[INFO] tweaked toml for git repo https://github.com/soyMolty/tarscli written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/soyMolty/tarscli on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/soyMolty/tarscli 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 754ae3c02575e5dcdef2f6430a80c1a86b478947fc6050c1c27b6a8b801d65f6
[INFO] running `Command { std: "docker" "start" "-a" "754ae3c02575e5dcdef2f6430a80c1a86b478947fc6050c1c27b6a8b801d65f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "754ae3c02575e5dcdef2f6430a80c1a86b478947fc6050c1c27b6a8b801d65f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "754ae3c02575e5dcdef2f6430a80c1a86b478947fc6050c1c27b6a8b801d65f6", kill_on_drop: false }`
[INFO] [stdout] 754ae3c02575e5dcdef2f6430a80c1a86b478947fc6050c1c27b6a8b801d65f6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6388e5e8b96714cf301ebc99bb74877b41d9d1c2c54ba53f1df58766568f5bc5
[INFO] running `Command { std: "docker" "start" "-a" "6388e5e8b96714cf301ebc99bb74877b41d9d1c2c54ba53f1df58766568f5bc5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling web_atoms v0.1.3
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling grep-matcher v0.1.8
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling encoding_rs_io v0.1.7
[INFO] [stderr]    Compiling memmap2 v0.9.10
[INFO] [stderr]    Compiling match_token v0.35.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling markup5ever v0.35.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling xml5ever v0.35.0
[INFO] [stderr]    Compiling html5ever v0.35.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling ureq-proto v0.5.3
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling markup5ever_rcdom v0.35.0+unofficial
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling grep-searcher v0.1.16
[INFO] [stderr]    Compiling grep-regex v0.1.14
[INFO] [stderr]    Compiling grep-cli v0.1.12
[INFO] [stderr]    Compiling grep-printer v0.2.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling grep v0.3.2
[INFO] [stderr]    Compiling htmd v0.5.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling ureq v3.2.0
[INFO] [stderr]    Compiling tars-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/reducer.rs:628:25
[INFO] [stdout]     |
[INFO] [stdout] 628 |             if let Some(first) = self.items.first() {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `args`, `partial_stdout`, and `partial_stderr` are never read
[INFO] [stdout]   --> src/process.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Timeout {
[INFO] [stdout]    |     ------- fields in this variant
[INFO] [stdout] 62 |         command: String,
[INFO] [stdout] 63 |         args: Vec<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 64 |         duration: Duration,
[INFO] [stdout] 65 |         partial_stdout: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 66 |         partial_stderr: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NonZeroExit` is never constructed
[INFO] [stdout]   --> src/process.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum ProcessError {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 69 |     NonZeroExit { output: ProcessOutput },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `exit_code`, `is_timeout`, `is_command_not_found`, and `is_permission_denied` are never used
[INFO] [stdout]    --> src/process.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl ProcessError {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 116 |     /// Returns the exit code if this is a NonZeroExit error.
[INFO] [stdout] 117 |     pub fn exit_code(&self) -> Option<i32> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn is_timeout(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn is_command_not_found(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn is_permission_denied(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `arg`, `current_dir`, `env`, `envs`, `env_clear`, and `run_checked` are never used
[INFO] [stdout]    --> src/process.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl ProcessBuilder {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn arg(mut self, arg: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn current_dir(mut self, dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn env(mut self, key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn envs<I, K, V>(mut self, vars: I) -> Self
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn env_clear(mut self, clear: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn run_checked(&self) -> Result<ProcessOutput, ProcessError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/process.rs:498:8
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub fn run(command: &str, args: &[&str]) -> Result<ProcessOutput, ProcessError> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_checked` is never used
[INFO] [stdout]    --> src/process.rs:505:8
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub fn run_checked(command: &str, args: &[&str]) -> Result<ProcessOutput, ProcessError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_with_timeout` is never used
[INFO] [stdout]    --> src/process.rs:512:8
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub fn run_with_timeout(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TruncationInfo` is never constructed
[INFO] [stdout]   --> src/reducer.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct TruncationInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/reducer.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl TruncationInfo {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  95 |     /// Create a new truncation info indicating no truncation.
[INFO] [stdout]  96 |     pub fn none() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn limited(total: usize, shown: usize, limit: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn size_threshold(total_bytes: usize, shown_bytes: usize, threshold_bytes: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn detected(pattern: &str, original_size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn detect_from_output(output: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn detect_incomplete_json(output: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn detect_cutoff_line(output: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn is_truncated(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn summary(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TruncationConfig` is never constructed
[INFO] [stdout]    --> src/reducer.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub struct TruncationConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_max_items`, `with_max_bytes`, `truncate_items`, and `truncate_output` are never used
[INFO] [stdout]    --> src/reducer.rs:300:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl TruncationConfig {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 299 |     /// Create a new truncation config with item limit.
[INFO] [stdout] 300 |     pub fn with_max_items(max_items: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn with_max_bytes(max_bytes: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn truncate_items<T>(&self, items: Vec<T>) -> (Vec<T>, TruncationInfo) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub fn truncate_output(&self, output: String) -> (String, TruncationInfo) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerContext` is never constructed
[INFO] [stdout]    --> src/reducer.rs:354:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct ReducerContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_cli` and `has_conflicting_formats` are never used
[INFO] [stdout]    --> src/reducer.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 363 | impl ReducerContext {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 364 |     /// Create a new reducer context from CLI options.
[INFO] [stdout] 365 |     pub fn from_cli(cli: &crate::Cli) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn has_conflicting_formats(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ReducerResult` is never used
[INFO] [stdout]    --> src/reducer.rs:380:10
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub type ReducerResult<T = ()> = Result<T, ReducerError>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReducerError` is never used
[INFO] [stdout]    --> src/reducer.rs:384:10
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub enum ReducerError {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_not_implemented`, `is_invalid_input`, `is_io_error`, and `is_processing_error` are never used
[INFO] [stdout]    --> src/reducer.rs:399:12
[INFO] [stdout]     |
[INFO] [stdout] 397 | impl ReducerError {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 398 |     /// Returns true if this is a NotImplemented error.
[INFO] [stdout] 399 |     pub fn is_not_implemented(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn is_invalid_input(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn is_io_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn is_processing_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerMetadata` is never constructed
[INFO] [stdout]    --> src/reducer.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub struct ReducerMetadata {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_tokens` is never used
[INFO] [stdout]    --> src/reducer.rs:454:4
[INFO] [stdout]     |
[INFO] [stdout] 454 | fn estimate_tokens(bytes: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerStats` is never constructed
[INFO] [stdout]    --> src/reducer.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct ReducerStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/reducer.rs:483:12
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl ReducerStats {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 482 |     /// Create new stats with automatic token estimation.
[INFO] [stdout] 483 |     pub fn new(input_bytes: usize, output_bytes: usize, input_lines: usize, output_lines: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerOutput` is never constructed
[INFO] [stdout]    --> src/reducer.rs:514:12
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct ReducerOutput {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/reducer.rs:541:12
[INFO] [stdout]     |
[INFO] [stdout] 539 | impl ReducerOutput {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 540 |     /// Create a new reducer output with the given data.
[INFO] [stdout] 541 |     pub fn new<T: Serialize>(data: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 570 |     pub fn with_metadata(mut self, metadata: ReducerMetadata) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 576 |     pub fn with_stats(mut self, stats: ReducerStats) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 582 |     pub fn with_summary(mut self, summary: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |     pub fn with_items(mut self, items: Vec<ReducerItem>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     pub fn with_sections(mut self, sections: Vec<ReducerSection>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 600 |     pub fn format(&self, context: &ReducerContext) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     pub fn format_json(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     pub fn format_csv(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 648 |     pub fn format_tsv(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 671 |     pub fn format_agent(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 718 |     pub fn format_compact(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 763 |     pub fn format_raw(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerItem` is never constructed
[INFO] [stdout]    --> src/reducer.rs:786:12
[INFO] [stdout]     |
[INFO] [stdout] 786 | pub struct ReducerItem {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_label`, and `with_data` are never used
[INFO] [stdout]    --> src/reducer.rs:801:12
[INFO] [stdout]     |
[INFO] [stdout] 799 | impl ReducerItem {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 800 |     /// Create a new reducer item.
[INFO] [stdout] 801 |     pub fn new(key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 811 |     pub fn with_label(mut self, label: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 817 |     pub fn with_data(mut self, data: serde_json::Value) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerSection` is never constructed
[INFO] [stdout]    --> src/reducer.rs:825:12
[INFO] [stdout]     |
[INFO] [stdout] 825 | pub struct ReducerSection {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_count`, `with_items`, and `add_item` are never used
[INFO] [stdout]    --> src/reducer.rs:837:12
[INFO] [stdout]     |
[INFO] [stdout] 835 | impl ReducerSection {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 836 |     /// Create a new section with the given name.
[INFO] [stdout] 837 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 846 |     pub fn with_count(mut self, count: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 852 |     pub fn with_items(mut self, items: Vec<ReducerItem>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 858 |     pub fn add_item(&mut self, item: ReducerItem) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_csv` is never used
[INFO] [stdout]    --> src/reducer.rs:868:4
[INFO] [stdout]     |
[INFO] [stdout] 868 | fn escape_csv(value: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reducer` is never used
[INFO] [stdout]    --> src/reducer.rs:884:11
[INFO] [stdout]     |
[INFO] [stdout] 884 | pub trait Reducer {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BaseReducer` is never constructed
[INFO] [stdout]    --> src/reducer.rs:916:12
[INFO] [stdout]     |
[INFO] [stdout] 916 | pub struct BaseReducer<T: Serialize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `format_json`, `format_compact`, and `format_raw` are never used
[INFO] [stdout]    --> src/reducer.rs:925:12
[INFO] [stdout]     |
[INFO] [stdout] 923 | impl<T: Serialize + std::fmt::Debug> BaseReducer<T> {
[INFO] [stdout]     | --------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 924 |     /// Create a new base reducer with the given name.
[INFO] [stdout] 925 |     pub fn new(name: &'static str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 933 |     pub fn format_json(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 940 |     pub fn format_compact(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 945 |     pub fn format_raw(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ReducerFn` is never used
[INFO] [stdout]    --> src/reducer.rs:976:6
[INFO] [stdout]     |
[INFO] [stdout] 976 | type ReducerFn = Box<dyn Fn(&str, &ReducerContext) -> ReducerResult<ReducerOutput>>;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerRegistry` is never constructed
[INFO] [stdout]    --> src/reducer.rs:983:12
[INFO] [stdout]     |
[INFO] [stdout] 983 | pub struct ReducerRegistry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register`, `execute`, and `reducer_names` are never used
[INFO] [stdout]     --> src/reducer.rs:989:12
[INFO] [stdout]      |
[INFO] [stdout]  987 | impl ReducerRegistry {
[INFO] [stdout]      | -------------------- associated items in this implementation
[INFO] [stdout]  988 |     /// Create a new empty registry.
[INFO] [stdout]  989 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1004 |     pub fn register<R>(&mut self, reducer: R)
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1028 |     pub fn execute(
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1046 |     pub fn reducer_names(&self) -> Vec<&'static str> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `enabled_formats` is never read
[INFO] [stdout]    --> src/router.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct CommandContext {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub enabled_formats: Vec<OutputFormat>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CommandContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_conflicting_formats` is never used
[INFO] [stdout]    --> src/router.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl CommandContext {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn has_conflicting_formats(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotImplemented` is never constructed
[INFO] [stdout]    --> src/router.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub enum CommandError {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] 160 |     /// The command is not yet implemented.
[INFO] [stdout] 161 |     NotImplemented(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CommandError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `permissions` are never read
[INFO] [stdout]    --> src/router.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 524 | struct LsEntry {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 532 |     size: Option<u64>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 533 |     /// File permissions (if available).
[INFO] [stdout] 534 |     permissions: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LsEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]     --> src/router.rs:1234:5
[INFO] [stdout]      |
[INFO] [stdout] 1226 | struct LogEntry {
[INFO] [stdout]      |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1234 |     source: Option<String>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LogEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `format_error` is never used
[INFO] [stdout]     --> src/router.rs:1502:8
[INFO] [stdout]      |
[INFO] [stdout] 1401 | impl RunHandler {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1502 |     fn format_error(error: &ProcessError, format: OutputFormat) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_detached` and `branch` are never read
[INFO] [stdout]     --> src/router.rs:4712:5
[INFO] [stdout]      |
[INFO] [stdout] 4708 | struct RepositoryState {
[INFO] [stdout]      |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 4712 |     is_detached: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 4713 |     /// The current branch name (or commit hash if detached).
[INFO] [stdout] 4714 |     branch: Option<String>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `RepositoryState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `DEFAULT_MAX_DIFF_FILES` and `truncate_diff` are never used
[INFO] [stdout]     --> src/router.rs:5601:11
[INFO] [stdout]      |
[INFO] [stdout] 4738 | impl ParseHandler {
[INFO] [stdout]      | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5601 |     const DEFAULT_MAX_DIFF_FILES: usize = 50;
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5604 |     fn truncate_diff(diff: &mut GitDiff, max_files: usize) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl GitStatusSchema {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 123 |     /// Create a new git status schema.
[INFO] [stdout] 124 |     pub fn new(branch: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `renamed` are never used
[INFO] [stdout]    --> src/schema.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl GitFileEntry {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] 153 |     /// Create a new file entry.
[INFO] [stdout] 154 |     pub fn new(status: &str, path: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn renamed(status: &str, old_path: &str, new_path: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 282 | impl GitDiffEntry {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 283 |     /// Create a new diff entry.
[INFO] [stdout] 284 |     pub fn new(path: &str, change_type: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:515:12
[INFO] [stdout]     |
[INFO] [stdout] 513 | impl LsEntry {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 514 |     /// Create a new ls entry.
[INFO] [stdout] 515 |     pub fn new(name: &str, entry_type: LsEntryType) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:656:12
[INFO] [stdout]     |
[INFO] [stdout] 654 | impl FindEntry {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 655 |     /// Create a new find entry.
[INFO] [stdout] 656 |     pub fn new(path: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:769:12
[INFO] [stdout]     |
[INFO] [stdout] 767 | impl GrepFile {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 768 |     /// Create a new grep file entry.
[INFO] [stdout] 769 |     pub fn new(path: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:798:12
[INFO] [stdout]     |
[INFO] [stdout] 796 | impl GrepMatch {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 797 |     /// Create a new grep match.
[INFO] [stdout] 798 |     pub fn new(line: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:913:12
[INFO] [stdout]     |
[INFO] [stdout] 911 | impl ReplaceFile {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 912 |     /// Create a new replace file entry.
[INFO] [stdout] 913 |     pub fn new(path: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1015:12
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl TestOutputSchema {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 1014 |     /// Create a new test output schema.
[INFO] [stdout] 1015 |     pub fn new(runner: TestRunnerType) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1081:12
[INFO] [stdout]      |
[INFO] [stdout] 1079 | impl TestSuite {
[INFO] [stdout]      | -------------- associated function in this implementation
[INFO] [stdout] 1080 |     /// Create a new test suite.
[INFO] [stdout] 1081 |     pub fn new(file: &str) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1121:12
[INFO] [stdout]      |
[INFO] [stdout] 1119 | impl TestResult {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] 1120 |     /// Create a new test result.
[INFO] [stdout] 1121 |     pub fn new(name: &str, status: TestStatus) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1307:12
[INFO] [stdout]      |
[INFO] [stdout] 1305 | impl LogEntry {
[INFO] [stdout]      | ------------- associated function in this implementation
[INFO] [stdout] 1306 |     /// Create a new log entry.
[INFO] [stdout] 1307 |     pub fn new(line: &str, line_number: usize) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1409:12
[INFO] [stdout]      |
[INFO] [stdout] 1407 | impl ProcessOutputSchema {
[INFO] [stdout]      | ------------------------ associated function in this implementation
[INFO] [stdout] 1408 |     /// Create a new process output schema.
[INFO] [stdout] 1409 |     pub fn new(command: &str) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_type` are never used
[INFO] [stdout]     --> src/schema.rs:1462:12
[INFO] [stdout]      |
[INFO] [stdout] 1460 | impl ErrorSchema {
[INFO] [stdout]      | ---------------- associated functions in this implementation
[INFO] [stdout] 1461 |     /// Create a new error schema.
[INFO] [stdout] 1462 |     pub fn new(message: &str) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1474 |     pub fn with_type(message: &str, error_type: &str) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "6388e5e8b96714cf301ebc99bb74877b41d9d1c2c54ba53f1df58766568f5bc5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6388e5e8b96714cf301ebc99bb74877b41d9d1c2c54ba53f1df58766568f5bc5", kill_on_drop: false }`
[INFO] [stdout] 6388e5e8b96714cf301ebc99bb74877b41d9d1c2c54ba53f1df58766568f5bc5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 43b5086e72720879179e96d54740b343c4ad2ba1ab15bd071c8e245c2e8a8f33
[INFO] running `Command { std: "docker" "start" "-a" "43b5086e72720879179e96d54740b343c4ad2ba1ab15bd071c8e245c2e8a8f33", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling assert_cmd v2.2.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/reducer.rs:628:25
[INFO] [stdout]     |
[INFO] [stdout] 628 |             if let Some(first) = self.items.first() {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `args`, `partial_stdout`, and `partial_stderr` are never read
[INFO] [stdout]   --> src/process.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Timeout {
[INFO] [stdout]    |     ------- fields in this variant
[INFO] [stdout] 62 |         command: String,
[INFO] [stdout] 63 |         args: Vec<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 64 |         duration: Duration,
[INFO] [stdout] 65 |         partial_stdout: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 66 |         partial_stderr: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NonZeroExit` is never constructed
[INFO] [stdout]   --> src/process.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum ProcessError {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 69 |     NonZeroExit { output: ProcessOutput },
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `exit_code`, `is_timeout`, `is_command_not_found`, and `is_permission_denied` are never used
[INFO] [stdout]    --> src/process.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl ProcessError {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 116 |     /// Returns the exit code if this is a NonZeroExit error.
[INFO] [stdout] 117 |     pub fn exit_code(&self) -> Option<i32> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn is_timeout(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn is_command_not_found(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn is_permission_denied(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `arg`, `current_dir`, `env`, `envs`, `env_clear`, and `run_checked` are never used
[INFO] [stdout]    --> src/process.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | impl ProcessBuilder {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn arg(mut self, arg: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn current_dir(mut self, dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn env(mut self, key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn envs<I, K, V>(mut self, vars: I) -> Self
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn env_clear(mut self, clear: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     pub fn run_checked(&self) -> Result<ProcessOutput, ProcessError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/process.rs:498:8
[INFO] [stdout]     |
[INFO] [stdout] 498 | pub fn run(command: &str, args: &[&str]) -> Result<ProcessOutput, ProcessError> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_checked` is never used
[INFO] [stdout]    --> src/process.rs:505:8
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub fn run_checked(command: &str, args: &[&str]) -> Result<ProcessOutput, ProcessError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_with_timeout` is never used
[INFO] [stdout]    --> src/process.rs:512:8
[INFO] [stdout]     |
[INFO] [stdout] 512 | pub fn run_with_timeout(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TruncationInfo` is never constructed
[INFO] [stdout]   --> src/reducer.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct TruncationInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/reducer.rs:96:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl TruncationInfo {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  95 |     /// Create a new truncation info indicating no truncation.
[INFO] [stdout]  96 |     pub fn none() -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn limited(total: usize, shown: usize, limit: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn size_threshold(total_bytes: usize, shown_bytes: usize, threshold_bytes: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn detected(pattern: &str, original_size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn detect_from_output(output: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn detect_incomplete_json(output: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn detect_cutoff_line(output: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn is_truncated(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn summary(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TruncationConfig` is never constructed
[INFO] [stdout]    --> src/reducer.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub struct TruncationConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `with_max_items`, `with_max_bytes`, `truncate_items`, and `truncate_output` are never used
[INFO] [stdout]    --> src/reducer.rs:300:12
[INFO] [stdout]     |
[INFO] [stdout] 298 | impl TruncationConfig {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 299 |     /// Create a new truncation config with item limit.
[INFO] [stdout] 300 |     pub fn with_max_items(max_items: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn with_max_bytes(max_bytes: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 316 |     pub fn truncate_items<T>(&self, items: Vec<T>) -> (Vec<T>, TruncationInfo) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub fn truncate_output(&self, output: String) -> (String, TruncationInfo) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerContext` is never constructed
[INFO] [stdout]    --> src/reducer.rs:354:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct ReducerContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_cli` and `has_conflicting_formats` are never used
[INFO] [stdout]    --> src/reducer.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 363 | impl ReducerContext {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 364 |     /// Create a new reducer context from CLI options.
[INFO] [stdout] 365 |     pub fn from_cli(cli: &crate::Cli) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     pub fn has_conflicting_formats(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ReducerResult` is never used
[INFO] [stdout]    --> src/reducer.rs:380:10
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub type ReducerResult<T = ()> = Result<T, ReducerError>;
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReducerError` is never used
[INFO] [stdout]    --> src/reducer.rs:384:10
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub enum ReducerError {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_not_implemented`, `is_invalid_input`, `is_io_error`, and `is_processing_error` are never used
[INFO] [stdout]    --> src/reducer.rs:399:12
[INFO] [stdout]     |
[INFO] [stdout] 397 | impl ReducerError {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 398 |     /// Returns true if this is a NotImplemented error.
[INFO] [stdout] 399 |     pub fn is_not_implemented(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     pub fn is_invalid_input(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |     pub fn is_io_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn is_processing_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerMetadata` is never constructed
[INFO] [stdout]    --> src/reducer.rs:438:12
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub struct ReducerMetadata {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_tokens` is never used
[INFO] [stdout]    --> src/reducer.rs:454:4
[INFO] [stdout]     |
[INFO] [stdout] 454 | fn estimate_tokens(bytes: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerStats` is never constructed
[INFO] [stdout]    --> src/reducer.rs:462:12
[INFO] [stdout]     |
[INFO] [stdout] 462 | pub struct ReducerStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/reducer.rs:483:12
[INFO] [stdout]     |
[INFO] [stdout] 481 | impl ReducerStats {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 482 |     /// Create new stats with automatic token estimation.
[INFO] [stdout] 483 |     pub fn new(input_bytes: usize, output_bytes: usize, input_lines: usize, output_lines: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerOutput` is never constructed
[INFO] [stdout]    --> src/reducer.rs:514:12
[INFO] [stdout]     |
[INFO] [stdout] 514 | pub struct ReducerOutput {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/reducer.rs:541:12
[INFO] [stdout]     |
[INFO] [stdout] 539 | impl ReducerOutput {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 540 |     /// Create a new reducer output with the given data.
[INFO] [stdout] 541 |     pub fn new<T: Serialize>(data: T) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     pub fn empty() -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 570 |     pub fn with_metadata(mut self, metadata: ReducerMetadata) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 576 |     pub fn with_stats(mut self, stats: ReducerStats) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 582 |     pub fn with_summary(mut self, summary: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |     pub fn with_items(mut self, items: Vec<ReducerItem>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 594 |     pub fn with_sections(mut self, sections: Vec<ReducerSection>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 600 |     pub fn format(&self, context: &ReducerContext) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 612 |     pub fn format_json(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 623 |     pub fn format_csv(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 648 |     pub fn format_tsv(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 671 |     pub fn format_agent(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 718 |     pub fn format_compact(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 763 |     pub fn format_raw(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerItem` is never constructed
[INFO] [stdout]    --> src/reducer.rs:786:12
[INFO] [stdout]     |
[INFO] [stdout] 786 | pub struct ReducerItem {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_label`, and `with_data` are never used
[INFO] [stdout]    --> src/reducer.rs:801:12
[INFO] [stdout]     |
[INFO] [stdout] 799 | impl ReducerItem {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 800 |     /// Create a new reducer item.
[INFO] [stdout] 801 |     pub fn new(key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 811 |     pub fn with_label(mut self, label: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 817 |     pub fn with_data(mut self, data: serde_json::Value) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerSection` is never constructed
[INFO] [stdout]    --> src/reducer.rs:825:12
[INFO] [stdout]     |
[INFO] [stdout] 825 | pub struct ReducerSection {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_count`, `with_items`, and `add_item` are never used
[INFO] [stdout]    --> src/reducer.rs:837:12
[INFO] [stdout]     |
[INFO] [stdout] 835 | impl ReducerSection {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 836 |     /// Create a new section with the given name.
[INFO] [stdout] 837 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 846 |     pub fn with_count(mut self, count: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 852 |     pub fn with_items(mut self, items: Vec<ReducerItem>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 858 |     pub fn add_item(&mut self, item: ReducerItem) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `escape_csv` is never used
[INFO] [stdout]    --> src/reducer.rs:868:4
[INFO] [stdout]     |
[INFO] [stdout] 868 | fn escape_csv(value: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Reducer` is never used
[INFO] [stdout]    --> src/reducer.rs:884:11
[INFO] [stdout]     |
[INFO] [stdout] 884 | pub trait Reducer {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BaseReducer` is never constructed
[INFO] [stdout]    --> src/reducer.rs:916:12
[INFO] [stdout]     |
[INFO] [stdout] 916 | pub struct BaseReducer<T: Serialize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new`, `format_json`, `format_compact`, and `format_raw` are never used
[INFO] [stdout]    --> src/reducer.rs:925:12
[INFO] [stdout]     |
[INFO] [stdout] 923 | impl<T: Serialize + std::fmt::Debug> BaseReducer<T> {
[INFO] [stdout]     | --------------------------------------------------- associated functions in this implementation
[INFO] [stdout] 924 |     /// Create a new base reducer with the given name.
[INFO] [stdout] 925 |     pub fn new(name: &'static str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 933 |     pub fn format_json(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 940 |     pub fn format_compact(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 945 |     pub fn format_raw(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ReducerFn` is never used
[INFO] [stdout]    --> src/reducer.rs:976:6
[INFO] [stdout]     |
[INFO] [stdout] 976 | type ReducerFn = Box<dyn Fn(&str, &ReducerContext) -> ReducerResult<ReducerOutput>>;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReducerRegistry` is never constructed
[INFO] [stdout]    --> src/reducer.rs:983:12
[INFO] [stdout]     |
[INFO] [stdout] 983 | pub struct ReducerRegistry {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register`, `execute`, and `reducer_names` are never used
[INFO] [stdout]     --> src/reducer.rs:989:12
[INFO] [stdout]      |
[INFO] [stdout]  987 | impl ReducerRegistry {
[INFO] [stdout]      | -------------------- associated items in this implementation
[INFO] [stdout]  988 |     /// Create a new empty registry.
[INFO] [stdout]  989 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1004 |     pub fn register<R>(&mut self, reducer: R)
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1028 |     pub fn execute(
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1046 |     pub fn reducer_names(&self) -> Vec<&'static str> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `enabled_formats` is never read
[INFO] [stdout]    --> src/router.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct CommandContext {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub enabled_formats: Vec<OutputFormat>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CommandContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_conflicting_formats` is never used
[INFO] [stdout]    --> src/router.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl CommandContext {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn has_conflicting_formats(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NotImplemented` is never constructed
[INFO] [stdout]    --> src/router.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub enum CommandError {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] 160 |     /// The command is not yet implemented.
[INFO] [stdout] 161 |     NotImplemented(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CommandError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `permissions` are never read
[INFO] [stdout]    --> src/router.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 524 | struct LsEntry {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 532 |     size: Option<u64>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 533 |     /// File permissions (if available).
[INFO] [stdout] 534 |     permissions: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LsEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]     --> src/router.rs:1234:5
[INFO] [stdout]      |
[INFO] [stdout] 1226 | struct LogEntry {
[INFO] [stdout]      |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1234 |     source: Option<String>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LogEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `format_error` is never used
[INFO] [stdout]     --> src/router.rs:1502:8
[INFO] [stdout]      |
[INFO] [stdout] 1401 | impl RunHandler {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1502 |     fn format_error(error: &ProcessError, format: OutputFormat) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_detached` and `branch` are never read
[INFO] [stdout]     --> src/router.rs:4712:5
[INFO] [stdout]      |
[INFO] [stdout] 4708 | struct RepositoryState {
[INFO] [stdout]      |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 4712 |     is_detached: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 4713 |     /// The current branch name (or commit hash if detached).
[INFO] [stdout] 4714 |     branch: Option<String>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `RepositoryState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `DEFAULT_MAX_DIFF_FILES` and `truncate_diff` are never used
[INFO] [stdout]     --> src/router.rs:5601:11
[INFO] [stdout]      |
[INFO] [stdout] 4738 | impl ParseHandler {
[INFO] [stdout]      | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5601 |     const DEFAULT_MAX_DIFF_FILES: usize = 50;
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5604 |     fn truncate_diff(diff: &mut GitDiff, max_files: usize) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl GitStatusSchema {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 123 |     /// Create a new git status schema.
[INFO] [stdout] 124 |     pub fn new(branch: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `renamed` are never used
[INFO] [stdout]    --> src/schema.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl GitFileEntry {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] 153 |     /// Create a new file entry.
[INFO] [stdout] 154 |     pub fn new(status: &str, path: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn renamed(status: &str, old_path: &str, new_path: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 282 | impl GitDiffEntry {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 283 |     /// Create a new diff entry.
[INFO] [stdout] 284 |     pub fn new(path: &str, change_type: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:515:12
[INFO] [stdout]     |
[INFO] [stdout] 513 | impl LsEntry {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 514 |     /// Create a new ls entry.
[INFO] [stdout] 515 |     pub fn new(name: &str, entry_type: LsEntryType) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:656:12
[INFO] [stdout]     |
[INFO] [stdout] 654 | impl FindEntry {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 655 |     /// Create a new find entry.
[INFO] [stdout] 656 |     pub fn new(path: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:769:12
[INFO] [stdout]     |
[INFO] [stdout] 767 | impl GrepFile {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 768 |     /// Create a new grep file entry.
[INFO] [stdout] 769 |     pub fn new(path: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:798:12
[INFO] [stdout]     |
[INFO] [stdout] 796 | impl GrepMatch {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 797 |     /// Create a new grep match.
[INFO] [stdout] 798 |     pub fn new(line: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/schema.rs:913:12
[INFO] [stdout]     |
[INFO] [stdout] 911 | impl ReplaceFile {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 912 |     /// Create a new replace file entry.
[INFO] [stdout] 913 |     pub fn new(path: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1015:12
[INFO] [stdout]      |
[INFO] [stdout] 1013 | impl TestOutputSchema {
[INFO] [stdout]      | --------------------- associated function in this implementation
[INFO] [stdout] 1014 |     /// Create a new test output schema.
[INFO] [stdout] 1015 |     pub fn new(runner: TestRunnerType) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1081:12
[INFO] [stdout]      |
[INFO] [stdout] 1079 | impl TestSuite {
[INFO] [stdout]      | -------------- associated function in this implementation
[INFO] [stdout] 1080 |     /// Create a new test suite.
[INFO] [stdout] 1081 |     pub fn new(file: &str) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1121:12
[INFO] [stdout]      |
[INFO] [stdout] 1119 | impl TestResult {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] 1120 |     /// Create a new test result.
[INFO] [stdout] 1121 |     pub fn new(name: &str, status: TestStatus) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1307:12
[INFO] [stdout]      |
[INFO] [stdout] 1305 | impl LogEntry {
[INFO] [stdout]      | ------------- associated function in this implementation
[INFO] [stdout] 1306 |     /// Create a new log entry.
[INFO] [stdout] 1307 |     pub fn new(line: &str, line_number: usize) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]     --> src/schema.rs:1409:12
[INFO] [stdout]      |
[INFO] [stdout] 1407 | impl ProcessOutputSchema {
[INFO] [stdout]      | ------------------------ associated function in this implementation
[INFO] [stdout] 1408 |     /// Create a new process output schema.
[INFO] [stdout] 1409 |     pub fn new(command: &str) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `with_type` are never used
[INFO] [stdout]     --> src/schema.rs:1462:12
[INFO] [stdout]      |
[INFO] [stdout] 1460 | impl ErrorSchema {
[INFO] [stdout]      | ---------------- associated functions in this implementation
[INFO] [stdout] 1461 |     /// Create a new error schema.
[INFO] [stdout] 1462 |     pub fn new(message: &str) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1474 |     pub fn with_type(message: &str, error_type: &str) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tars-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `git_status_spanish_staged` is never used
[INFO] [stdout]    --> tests/fixtures.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn git_status_spanish_staged() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]     --> tests/cli.rs:4315:9
[INFO] [stdout]      |
[INFO] [stdout] 4315 |     use std::io::Write;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]     --> tests/cli.rs:4369:9
[INFO] [stdout]      |
[INFO] [stdout] 4369 |     use std::io::Write;
[INFO] [stdout]      |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `git_status_spanish_staged` is never used
[INFO] [stdout]    --> tests/fixtures.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn git_status_spanish_staged() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]     --> tests/cli.rs:8090:9
[INFO] [stdout]      |
[INFO] [stdout] 8090 |     let output = cmd
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `git_status_spanish_staged` is never used
[INFO] [stdout]    --> tests/fixtures.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn git_status_spanish_staged() -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/formatter.rs:7563:13
[INFO] [stdout]      |
[INFO] [stdout] 7563 |         let mut entry = LsEntry::new("src", LsEntryType::Directory);
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/formatter.rs:7565:13
[INFO] [stdout]      |
[INFO] [stdout] 7565 |         let mut entry = LsEntry::new("main.rs", LsEntryType::File);
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/formatter.rs:8186:13
[INFO] [stdout]      |
[INFO] [stdout] 8186 |         let mut entry = LsEntry::new("src", LsEntryType::Directory);
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/formatter.rs:8188:13
[INFO] [stdout]      |
[INFO] [stdout] 8188 |         let mut entry = LsEntry::new("main.rs", LsEntryType::File);
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first`
[INFO] [stdout]    --> src/reducer.rs:628:25
[INFO] [stdout]     |
[INFO] [stdout] 628 |             if let Some(first) = self.items.first() {
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `args`, `partial_stdout`, and `partial_stderr` are never read
[INFO] [stdout]   --> src/process.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Timeout {
[INFO] [stdout]    |     ------- fields in this variant
[INFO] [stdout] 62 |         command: String,
[INFO] [stdout] 63 |         args: Vec<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 64 |         duration: Duration,
[INFO] [stdout] 65 |         partial_stdout: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 66 |         partial_stderr: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProcessError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_cli` is never used
[INFO] [stdout]    --> src/reducer.rs:365:12
[INFO] [stdout]     |
[INFO] [stdout] 363 | impl ReducerContext {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 364 |     /// Create a new reducer context from CLI options.
[INFO] [stdout] 365 |     pub fn from_cli(cli: &crate::Cli) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `format_json`, `format_compact`, and `format_raw` are never used
[INFO] [stdout]    --> src/reducer.rs:933:12
[INFO] [stdout]     |
[INFO] [stdout] 923 | impl<T: Serialize + std::fmt::Debug> BaseReducer<T> {
[INFO] [stdout]     | --------------------------------------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 933 |     pub fn format_json(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 940 |     pub fn format_compact(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 945 |     pub fn format_raw(output: &T) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `permissions` are never read
[INFO] [stdout]    --> src/router.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 524 | struct LsEntry {
[INFO] [stdout]     |        ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 532 |     size: Option<u64>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 533 |     /// File permissions (if available).
[INFO] [stdout] 534 |     permissions: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LsEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source` is never read
[INFO] [stdout]     --> src/router.rs:1234:5
[INFO] [stdout]      |
[INFO] [stdout] 1226 | struct LogEntry {
[INFO] [stdout]      |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1234 |     source: Option<String>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LogEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `format_error` is never used
[INFO] [stdout]     --> src/router.rs:1502:8
[INFO] [stdout]      |
[INFO] [stdout] 1401 | impl RunHandler {
[INFO] [stdout]      | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1502 |     fn format_error(error: &ProcessError, format: OutputFormat) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_detached` and `branch` are never read
[INFO] [stdout]     --> src/router.rs:4712:5
[INFO] [stdout]      |
[INFO] [stdout] 4708 | struct RepositoryState {
[INFO] [stdout]      |        --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 4712 |     is_detached: bool,
[INFO] [stdout]      |     ^^^^^^^^^^^
[INFO] [stdout] 4713 |     /// The current branch name (or commit hash if detached).
[INFO] [stdout] 4714 |     branch: Option<String>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `RepositoryState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `DEFAULT_MAX_DIFF_FILES` and `truncate_diff` are never used
[INFO] [stdout]     --> src/router.rs:5601:11
[INFO] [stdout]      |
[INFO] [stdout] 4738 | impl ParseHandler {
[INFO] [stdout]      | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 5601 |     const DEFAULT_MAX_DIFF_FILES: usize = 50;
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5604 |     fn truncate_diff(diff: &mut GitDiff, max_files: usize) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 36.08s
[INFO] running `Command { std: "docker" "inspect" "43b5086e72720879179e96d54740b343c4ad2ba1ab15bd071c8e245c2e8a8f33", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43b5086e72720879179e96d54740b343c4ad2ba1ab15bd071c8e245c2e8a8f33", kill_on_drop: false }`
[INFO] [stdout] 43b5086e72720879179e96d54740b343c4ad2ba1ab15bd071c8e245c2e8a8f33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f3dee508676c03742db87492dd58599386916a0c978db77aad5ba1b1c3971df0
[INFO] running `Command { std: "docker" "start" "-a" "f3dee508676c03742db87492dd58599386916a0c978db77aad5ba1b1c3971df0", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `first`
[INFO] [stderr]    --> src/reducer.rs:628:25
[INFO] [stderr]     |
[INFO] [stderr] 628 |             if let Some(first) = self.items.first() {
[INFO] [stderr]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_first`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `args`, `partial_stdout`, and `partial_stderr` are never read
[INFO] [stderr]   --> src/process.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 61 |     Timeout {
[INFO] [stderr]    |     ------- fields in this variant
[INFO] [stderr] 62 |         command: String,
[INFO] [stderr] 63 |         args: Vec<String>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 64 |         duration: Duration,
[INFO] [stderr] 65 |         partial_stdout: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 66 |         partial_stderr: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ProcessError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `NonZeroExit` is never constructed
[INFO] [stderr]   --> src/process.rs:69:5
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub enum ProcessError {
[INFO] [stderr]    |          ------------ variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 69 |     NonZeroExit { output: ProcessOutput },
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ProcessError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `exit_code`, `is_timeout`, `is_command_not_found`, and `is_permission_denied` are never used
[INFO] [stderr]    --> src/process.rs:117:12
[INFO] [stderr]     |
[INFO] [stderr] 115 | impl ProcessError {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] 116 |     /// Returns the exit code if this is a NonZeroExit error.
[INFO] [stderr] 117 |     pub fn exit_code(&self) -> Option<i32> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn is_timeout(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 130 |     pub fn is_command_not_found(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 135 |     pub fn is_permission_denied(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `arg`, `current_dir`, `env`, `envs`, `env_clear`, and `run_checked` are never used
[INFO] [stderr]    --> src/process.rs:173:12
[INFO] [stderr]     |
[INFO] [stderr] 155 | impl ProcessBuilder {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 173 |     pub fn arg(mut self, arg: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 191 |     pub fn current_dir(mut self, dir: impl Into<PathBuf>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |     pub fn env(mut self, key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 203 |     pub fn envs<I, K, V>(mut self, vars: I) -> Self
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 216 |     pub fn env_clear(mut self, clear: bool) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 367 |     pub fn run_checked(&self) -> Result<ProcessOutput, ProcessError> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run` is never used
[INFO] [stderr]    --> src/process.rs:498:8
[INFO] [stderr]     |
[INFO] [stderr] 498 | pub fn run(command: &str, args: &[&str]) -> Result<ProcessOutput, ProcessError> {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_checked` is never used
[INFO] [stderr]    --> src/process.rs:505:8
[INFO] [stderr]     |
[INFO] [stderr] 505 | pub fn run_checked(command: &str, args: &[&str]) -> Result<ProcessOutput, ProcessError> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_with_timeout` is never used
[INFO] [stderr]    --> src/process.rs:512:8
[INFO] [stderr]     |
[INFO] [stderr] 512 | pub fn run_with_timeout(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TruncationInfo` is never constructed
[INFO] [stderr]   --> src/reducer.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct TruncationInfo {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/reducer.rs:96:12
[INFO] [stderr]     |
[INFO] [stderr]  94 | impl TruncationInfo {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr]  95 |     /// Create a new truncation info indicating no truncation.
[INFO] [stderr]  96 |     pub fn none() -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 104 |     pub fn limited(total: usize, shown: usize, limit: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 125 |     pub fn size_threshold(total_bytes: usize, shown_bytes: usize, threshold_bytes: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 141 |     pub fn detected(pattern: &str, original_size: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 157 |     pub fn detect_from_output(output: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 202 |     fn detect_incomplete_json(output: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 227 |     fn detect_cutoff_line(output: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     pub fn is_truncated(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 259 |     pub fn summary(&self) -> Option<String> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TruncationConfig` is never constructed
[INFO] [stderr]    --> src/reducer.rs:276:12
[INFO] [stderr]     |
[INFO] [stderr] 276 | pub struct TruncationConfig {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `with_max_items`, `with_max_bytes`, `truncate_items`, and `truncate_output` are never used
[INFO] [stderr]    --> src/reducer.rs:300:12
[INFO] [stderr]     |
[INFO] [stderr] 298 | impl TruncationConfig {
[INFO] [stderr]     | --------------------- associated items in this implementation
[INFO] [stderr] 299 |     /// Create a new truncation config with item limit.
[INFO] [stderr] 300 |     pub fn with_max_items(max_items: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 308 |     pub fn with_max_bytes(max_bytes: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 316 |     pub fn truncate_items<T>(&self, items: Vec<T>) -> (Vec<T>, TruncationInfo) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 330 |     pub fn truncate_output(&self, output: String) -> (String, TruncationInfo) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReducerContext` is never constructed
[INFO] [stderr]    --> src/reducer.rs:354:12
[INFO] [stderr]     |
[INFO] [stderr] 354 | pub struct ReducerContext {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_cli` and `has_conflicting_formats` are never used
[INFO] [stderr]    --> src/reducer.rs:365:12
[INFO] [stderr]     |
[INFO] [stderr] 363 | impl ReducerContext {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr] 364 |     /// Create a new reducer context from CLI options.
[INFO] [stderr] 365 |     pub fn from_cli(cli: &crate::Cli) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 374 |     pub fn has_conflicting_formats(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `ReducerResult` is never used
[INFO] [stderr]    --> src/reducer.rs:380:10
[INFO] [stderr]     |
[INFO] [stderr] 380 | pub type ReducerResult<T = ()> = Result<T, ReducerError>;
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ReducerError` is never used
[INFO] [stderr]    --> src/reducer.rs:384:10
[INFO] [stderr]     |
[INFO] [stderr] 384 | pub enum ReducerError {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_not_implemented`, `is_invalid_input`, `is_io_error`, and `is_processing_error` are never used
[INFO] [stderr]    --> src/reducer.rs:399:12
[INFO] [stderr]     |
[INFO] [stderr] 397 | impl ReducerError {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] 398 |     /// Returns true if this is a NotImplemented error.
[INFO] [stderr] 399 |     pub fn is_not_implemented(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 404 |     pub fn is_invalid_input(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 409 |     pub fn is_io_error(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 414 |     pub fn is_processing_error(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReducerMetadata` is never constructed
[INFO] [stderr]    --> src/reducer.rs:438:12
[INFO] [stderr]     |
[INFO] [stderr] 438 | pub struct ReducerMetadata {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `estimate_tokens` is never used
[INFO] [stderr]    --> src/reducer.rs:454:4
[INFO] [stderr]     |
[INFO] [stderr] 454 | fn estimate_tokens(bytes: usize) -> usize {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReducerStats` is never constructed
[INFO] [stderr]    --> src/reducer.rs:462:12
[INFO] [stderr]     |
[INFO] [stderr] 462 | pub struct ReducerStats {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/reducer.rs:483:12
[INFO] [stderr]     |
[INFO] [stderr] 481 | impl ReducerStats {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] 482 |     /// Create new stats with automatic token estimation.
[INFO] [stderr] 483 |     pub fn new(input_bytes: usize, output_bytes: usize, input_lines: usize, output_lines: usize) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReducerOutput` is never constructed
[INFO] [stderr]    --> src/reducer.rs:514:12
[INFO] [stderr]     |
[INFO] [stderr] 514 | pub struct ReducerOutput {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/reducer.rs:541:12
[INFO] [stderr]     |
[INFO] [stderr] 539 | impl ReducerOutput {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr] 540 |     /// Create a new reducer output with the given data.
[INFO] [stderr] 541 |     pub fn new<T: Serialize>(data: T) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 556 |     pub fn empty() -> Self {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 570 |     pub fn with_metadata(mut self, metadata: ReducerMetadata) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 576 |     pub fn with_stats(mut self, stats: ReducerStats) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 582 |     pub fn with_summary(mut self, summary: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 588 |     pub fn with_items(mut self, items: Vec<ReducerItem>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 594 |     pub fn with_sections(mut self, sections: Vec<ReducerSection>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 600 |     pub fn format(&self, context: &ReducerContext) -> String {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 612 |     pub fn format_json(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 623 |     pub fn format_csv(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 648 |     pub fn format_tsv(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 671 |     pub fn format_agent(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 718 |     pub fn format_compact(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 763 |     pub fn format_raw(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReducerItem` is never constructed
[INFO] [stderr]    --> src/reducer.rs:786:12
[INFO] [stderr]     |
[INFO] [stderr] 786 | pub struct ReducerItem {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `with_label`, and `with_data` are never used
[INFO] [stderr]    --> src/reducer.rs:801:12
[INFO] [stderr]     |
[INFO] [stderr] 799 | impl ReducerItem {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr] 800 |     /// Create a new reducer item.
[INFO] [stderr] 801 |     pub fn new(key: impl Into<String>, value: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 811 |     pub fn with_label(mut self, label: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 817 |     pub fn with_data(mut self, data: serde_json::Value) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReducerSection` is never constructed
[INFO] [stderr]    --> src/reducer.rs:825:12
[INFO] [stderr]     |
[INFO] [stderr] 825 | pub struct ReducerSection {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `with_count`, `with_items`, and `add_item` are never used
[INFO] [stderr]    --> src/reducer.rs:837:12
[INFO] [stderr]     |
[INFO] [stderr] 835 | impl ReducerSection {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr] 836 |     /// Create a new section with the given name.
[INFO] [stderr] 837 |     pub fn new(name: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 846 |     pub fn with_count(mut self, count: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 852 |     pub fn with_items(mut self, items: Vec<ReducerItem>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 858 |     pub fn add_item(&mut self, item: ReducerItem) {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `escape_csv` is never used
[INFO] [stderr]    --> src/reducer.rs:868:4
[INFO] [stderr]     |
[INFO] [stderr] 868 | fn escape_csv(value: &str) -> String {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `Reducer` is never used
[INFO] [stderr]    --> src/reducer.rs:884:11
[INFO] [stderr]     |
[INFO] [stderr] 884 | pub trait Reducer {
[INFO] [stderr]     |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BaseReducer` is never constructed
[INFO] [stderr]    --> src/reducer.rs:916:12
[INFO] [stderr]     |
[INFO] [stderr] 916 | pub struct BaseReducer<T: Serialize> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new`, `format_json`, `format_compact`, and `format_raw` are never used
[INFO] [stderr]    --> src/reducer.rs:925:12
[INFO] [stderr]     |
[INFO] [stderr] 923 | impl<T: Serialize + std::fmt::Debug> BaseReducer<T> {
[INFO] [stderr]     | --------------------------------------------------- associated functions in this implementation
[INFO] [stderr] 924 |     /// Create a new base reducer with the given name.
[INFO] [stderr] 925 |     pub fn new(name: &'static str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 933 |     pub fn format_json(output: &T) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 940 |     pub fn format_compact(output: &T) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 945 |     pub fn format_raw(output: &T) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `ReducerFn` is never used
[INFO] [stderr]    --> src/reducer.rs:976:6
[INFO] [stderr]     |
[INFO] [stderr] 976 | type ReducerFn = Box<dyn Fn(&str, &ReducerContext) -> ReducerResult<ReducerOutput>>;
[INFO] [stderr]     |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReducerRegistry` is never constructed
[INFO] [stderr]    --> src/reducer.rs:983:12
[INFO] [stderr]     |
[INFO] [stderr] 983 | pub struct ReducerRegistry {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `register`, `execute`, and `reducer_names` are never used
[INFO] [stderr]     --> src/reducer.rs:989:12
[INFO] [stderr]      |
[INFO] [stderr]  987 | impl ReducerRegistry {
[INFO] [stderr]      | -------------------- associated items in this implementation
[INFO] [stderr]  988 |     /// Create a new empty registry.
[INFO] [stderr]  989 |     pub fn new() -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1004 |     pub fn register<R>(&mut self, reducer: R)
[INFO] [stderr]      |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1028 |     pub fn execute(
[INFO] [stderr]      |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1046 |     pub fn reducer_names(&self) -> Vec<&'static str> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `enabled_formats` is never read
[INFO] [stderr]    --> src/router.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 129 | pub struct CommandContext {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 135 |     pub enabled_formats: Vec<OutputFormat>,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CommandContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `has_conflicting_formats` is never used
[INFO] [stderr]    --> src/router.rs:149:12
[INFO] [stderr]     |
[INFO] [stderr] 138 | impl CommandContext {
[INFO] [stderr]     | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 149 |     pub fn has_conflicting_formats(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `NotImplemented` is never constructed
[INFO] [stderr]    --> src/router.rs:161:5
[INFO] [stderr]     |
[INFO] [stderr] 159 | pub enum CommandError {
[INFO] [stderr]     |          ------------ variant in this enum
[INFO] [stderr] 160 |     /// The command is not yet implemented.
[INFO] [stderr] 161 |     NotImplemented(String),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CommandError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `size` and `permissions` are never read
[INFO] [stderr]    --> src/router.rs:532:5
[INFO] [stderr]     |
[INFO] [stderr] 524 | struct LsEntry {
[INFO] [stderr]     |        ------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 532 |     size: Option<u64>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 533 |     /// File permissions (if available).
[INFO] [stderr] 534 |     permissions: Option<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `LsEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `source` is never read
[INFO] [stderr]     --> src/router.rs:1234:5
[INFO] [stderr]      |
[INFO] [stderr] 1226 | struct LogEntry {
[INFO] [stderr]      |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 1234 |     source: Option<String>,
[INFO] [stderr]      |     ^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `LogEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `format_error` is never used
[INFO] [stderr]     --> src/router.rs:1502:8
[INFO] [stderr]      |
[INFO] [stderr] 1401 | impl RunHandler {
[INFO] [stderr]      | --------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 1502 |     fn format_error(error: &ProcessError, format: OutputFormat) -> String {
[INFO] [stderr]      |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `is_detached` and `branch` are never read
[INFO] [stderr]     --> src/router.rs:4712:5
[INFO] [stderr]      |
[INFO] [stderr] 4708 | struct RepositoryState {
[INFO] [stderr]      |        --------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 4712 |     is_detached: bool,
[INFO] [stderr]      |     ^^^^^^^^^^^
[INFO] [stderr] 4713 |     /// The current branch name (or commit hash if detached).
[INFO] [stderr] 4714 |     branch: Option<String>,
[INFO] [stderr]      |     ^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `RepositoryState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `DEFAULT_MAX_DIFF_FILES` and `truncate_diff` are never used
[INFO] [stderr]     --> src/router.rs:5601:11
[INFO] [stderr]      |
[INFO] [stderr] 4738 | impl ParseHandler {
[INFO] [stderr]      | ----------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 5601 |     const DEFAULT_MAX_DIFF_FILES: usize = 50;
[INFO] [stderr]      |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 5604 |     fn truncate_diff(diff: &mut GitDiff, max_files: usize) {
[INFO] [stderr]      |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/schema.rs:124:12
[INFO] [stderr]     |
[INFO] [stderr] 122 | impl GitStatusSchema {
[INFO] [stderr]     | -------------------- associated function in this implementation
[INFO] [stderr] 123 |     /// Create a new git status schema.
[INFO] [stderr] 124 |     pub fn new(branch: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new` and `renamed` are never used
[INFO] [stderr]    --> src/schema.rs:154:12
[INFO] [stderr]     |
[INFO] [stderr] 152 | impl GitFileEntry {
[INFO] [stderr]     | ----------------- associated functions in this implementation
[INFO] [stderr] 153 |     /// Create a new file entry.
[INFO] [stderr] 154 |     pub fn new(status: &str, path: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 163 |     pub fn renamed(status: &str, old_path: &str, new_path: &str) -> Self {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/schema.rs:284:12
[INFO] [stderr]     |
[INFO] [stderr] 282 | impl GitDiffEntry {
[INFO] [stderr]     | ----------------- associated function in this implementation
[INFO] [stderr] 283 |     /// Create a new diff entry.
[INFO] [stderr] 284 |     pub fn new(path: &str, change_type: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/schema.rs:515:12
[INFO] [stderr]     |
[INFO] [stderr] 513 | impl LsEntry {
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] 514 |     /// Create a new ls entry.
[INFO] [stderr] 515 |     pub fn new(name: &str, entry_type: LsEntryType) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/schema.rs:656:12
[INFO] [stderr]     |
[INFO] [stderr] 654 | impl FindEntry {
[INFO] [stderr]     | -------------- associated function in this implementation
[INFO] [stderr] 655 |     /// Create a new find entry.
[INFO] [stderr] 656 |     pub fn new(path: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/schema.rs:769:12
[INFO] [stderr]     |
[INFO] [stderr] 767 | impl GrepFile {
[INFO] [stderr]     | ------------- associated function in this implementation
[INFO] [stderr] 768 |     /// Create a new grep file entry.
[INFO] [stderr] 769 |     pub fn new(path: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/schema.rs:798:12
[INFO] [stderr]     |
[INFO] [stderr] 796 | impl GrepMatch {
[INFO] [stderr]     | -------------- associated function in this implementation
[INFO] [stderr] 797 |     /// Create a new grep match.
[INFO] [stderr] 798 |     pub fn new(line: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/schema.rs:913:12
[INFO] [stderr]     |
[INFO] [stderr] 911 | impl ReplaceFile {
[INFO] [stderr]     | ---------------- associated function in this implementation
[INFO] [stderr] 912 |     /// Create a new replace file entry.
[INFO] [stderr] 913 |     pub fn new(path: &str) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/schema.rs:1015:12
[INFO] [stderr]      |
[INFO] [stderr] 1013 | impl TestOutputSchema {
[INFO] [stderr]      | --------------------- associated function in this implementation
[INFO] [stderr] 1014 |     /// Create a new test output schema.
[INFO] [stderr] 1015 |     pub fn new(runner: TestRunnerType) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/schema.rs:1081:12
[INFO] [stderr]      |
[INFO] [stderr] 1079 | impl TestSuite {
[INFO] [stderr]      | -------------- associated function in this implementation
[INFO] [stderr] 1080 |     /// Create a new test suite.
[INFO] [stderr] 1081 |     pub fn new(file: &str) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/schema.rs:1121:12
[INFO] [stderr]      |
[INFO] [stderr] 1119 | impl TestResult {
[INFO] [stderr]      | --------------- associated function in this implementation
[INFO] [stderr] 1120 |     /// Create a new test result.
[INFO] [stderr] 1121 |     pub fn new(name: &str, status: TestStatus) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/schema.rs:1307:12
[INFO] [stderr]      |
[INFO] [stderr] 1305 | impl LogEntry {
[INFO] [stderr]      | ------------- associated function in this implementation
[INFO] [stderr] 1306 |     /// Create a new log entry.
[INFO] [stderr] 1307 |     pub fn new(line: &str, line_number: usize) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]     --> src/schema.rs:1409:12
[INFO] [stderr]      |
[INFO] [stderr] 1407 | impl ProcessOutputSchema {
[INFO] [stderr]      | ------------------------ associated function in this implementation
[INFO] [stderr] 1408 |     /// Create a new process output schema.
[INFO] [stderr] 1409 |     pub fn new(command: &str) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new` and `with_type` are never used
[INFO] [stderr]     --> src/schema.rs:1462:12
[INFO] [stderr]      |
[INFO] [stderr] 1460 | impl ErrorSchema {
[INFO] [stderr]      | ---------------- associated functions in this implementation
[INFO] [stderr] 1461 |     /// Create a new error schema.
[INFO] [stderr] 1462 |     pub fn new(message: &str) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 1474 |     pub fn with_type(message: &str, error_type: &str) -> Self {
[INFO] [stderr]      |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tars-cli` (bin "trs") generated 56 warnings (run `cargo fix --bin "trs" -p tars-cli` to apply 1 suggestion)
[INFO] [stderr] warning: function `git_status_spanish_staged` is never used
[INFO] [stderr]    --> tests/fixtures.rs:163:8
[INFO] [stderr]     |
[INFO] [stderr] 163 | pub fn git_status_spanish_staged() -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/formatter.rs:7563:13
[INFO] [stderr]      |
[INFO] [stderr] 7563 |         let mut entry = LsEntry::new("src", LsEntryType::Directory);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/formatter.rs:7565:13
[INFO] [stderr]      |
[INFO] [stderr] 7565 |         let mut entry = LsEntry::new("main.rs", LsEntryType::File);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/formatter.rs:8186:13
[INFO] [stderr]      |
[INFO] [stderr] 8186 |         let mut entry = LsEntry::new("src", LsEntryType::Directory);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/formatter.rs:8188:13
[INFO] [stderr]      |
[INFO] [stderr] 8188 |         let mut entry = LsEntry::new("main.rs", LsEntryType::File);
[INFO] [stderr]      |             ----^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_cli` is never used
[INFO] [stderr]    --> src/reducer.rs:365:12
[INFO] [stderr]     |
[INFO] [stderr] 363 | impl ReducerContext {
[INFO] [stderr]     | ------------------- associated function in this implementation
[INFO] [stderr] 364 |     /// Create a new reducer context from CLI options.
[INFO] [stderr] 365 |     pub fn from_cli(cli: &crate::Cli) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `format_json`, `format_compact`, and `format_raw` are never used
[INFO] [stderr]    --> src/reducer.rs:933:12
[INFO] [stderr]     |
[INFO] [stderr] 923 | impl<T: Serialize + std::fmt::Debug> BaseReducer<T> {
[INFO] [stderr]     | --------------------------------------------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 933 |     pub fn format_json(output: &T) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 940 |     pub fn format_compact(output: &T) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 945 |     pub fn format_raw(output: &T) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]     --> tests/cli.rs:4315:9
[INFO] [stderr]      |
[INFO] [stderr] 4315 |     use std::io::Write;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]     --> tests/cli.rs:4369:9
[INFO] [stderr]      |
[INFO] [stderr] 4369 |     use std::io::Write;
[INFO] [stderr]      |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]     --> tests/cli.rs:8090:9
[INFO] [stderr]      |
[INFO] [stderr] 8090 |     let output = cmd
[INFO] [stderr]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `tars-cli` (test "test_signal_preservation") generated 1 warning
[INFO] [stderr] warning: `tars-cli` (test "test_parser") generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `tars-cli` (bin "trs" test) generated 13 warnings (7 duplicates) (run `cargo fix --bin "trs" -p tars-cli --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `tars-cli` (test "cli") generated 4 warnings (1 duplicate) (run `cargo fix --test "cli" -p tars-cli` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/trs-a56c011500bf594c)
[INFO] [stdout] 
[INFO] [stdout] running 824 tests
[INFO] [stdout] test formatter::tests::test_agent_format_code_block ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_code_block_no_language ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_command_result_no_args ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_count ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_command_result_with_stderr ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_counts ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_diff_summary ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_branch_with_tracking ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_array ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_clean ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_dirty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_error ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_error_schema ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_bold ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_diff_file ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_code_inline ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_divider ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_command_result ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_error_schema_with_exit_code ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_error_schema_with_context ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_error_with_code ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_error_schema_with_type ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_git_diff_truncated ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_git_diff_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_failures_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_find_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_find_with_extensions ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_find_with_results ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_git_status_renamed ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_git_status_dirty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_flag ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_grep_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_failures ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_git_status_clean ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_grep_file ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_git_diff_with_changes ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_grep_truncated ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_grep_with_matches ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_italic ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_item ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_item_renamed ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_grep_match ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_link ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_list ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_log_levels_with_zeros ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_list_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_grep_match_no_line ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_log_levels ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_logs_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_logs_with_critical ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_logs_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_ls_with_broken_symlink ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_ls_with_symlinks ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_ls_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_message ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_not_implemented ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_metadata ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_key_value ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_process_success ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_process_failed ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_process_timeout ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_ls_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_repository_state_clean ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_repository_state_not_git ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_section_header ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_status ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_table_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_test_output_empty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_table ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_repository_state_dirty ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_test_output_passed ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_test_summary_only_passed ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_truncated ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_repository_state_detached ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_test_output_failed ... ok
[INFO] [stdout] test formatter::tests::test_agent_list_item ... ok
[INFO] [stdout] test formatter::tests::test_agent_format_test_summary ... ok
[INFO] [stdout] test formatter::tests::test_agent_key_value_item ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_clean ... ok
[INFO] [stdout] test formatter::tests::test_agent_section_header ... ok
[INFO] [stdout] test formatter::tests::test_agent_start_document ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_counts ... ok
[INFO] [stdout] test formatter::tests::test_agent_subsection_header ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_branch_with_tracking ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_diff_file ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_diff_summary ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_dirty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_error_schema ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_error_schema_with_code ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_failures ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_find_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_failures_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_git_diff_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_find_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_git_status_clean ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_git_status_renamed ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_git_diff_truncated ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_grep_file ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_grep_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_grep_match ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_git_diff_with_files ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_grep_with_matches ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_item_renamed ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_grep_truncated ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_item ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_grep_match_no_line ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_git_status_dirty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_logs_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_ls_broken_symlink ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_log_levels ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_ls_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_log_levels_partial ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_log_levels_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_ls_with_symlinks ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_logs_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_ls_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_process_failure ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_repository_state_detached ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_repository_state_clean ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_logs_with_critical ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_repository_state_not_git ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_process_success ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_message ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_test_output_empty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_section_header ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_repository_state_dirty ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_test_output_failing ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_status ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_test_output_passing ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_truncated ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_test_summary ... ok
[INFO] [stdout] test formatter::tests::test_compact_format_test_summary_only_passed ... ok
[INFO] [stdout] test formatter::tests::test_csv_escape_field ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_branch_with_tracking ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_command_result ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_clean ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_dirty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_diff_file ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_diff_summary ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_error ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_error_with_code ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_failures ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_error_schema_with_code ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_error_schema ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_flag ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_find_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_git_diff_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_find_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_failures_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_git_status_clean ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_git_status_dirty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_git_diff_with_files ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_git_status_with_tracking ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_grep_file ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_counts_with_zeros ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_grep_match_no_line ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_grep_with_matches ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_header ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_grep_match ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_item ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_header_with_special_chars ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_grep_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_item_renamed ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_key_value ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_list ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_count ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_counts ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_list_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_log_levels ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_log_levels_with_zeros ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_ls_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_object ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_process_failure ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_repository_state_clean ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_process_success ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_repository_state_dirty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_repository_state_not_git ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_row ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_row_with_special_chars ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_logs_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_section ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_table_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_table ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_ls_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_status ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_logs_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_table_with_special_chars ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_test_output_empty ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_test_output_with_tests ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_test_summary_only_passed ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_test_summary ... ok
[INFO] [stdout] test formatter::tests::test_format_bytes ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_truncated ... ok
[INFO] [stdout] test formatter::tests::test_format_count_if_positive ... ok
[INFO] [stdout] test formatter::tests::test_format_duration ... ok
[INFO] [stdout] test formatter::tests::test_format_key_value ... ok
[INFO] [stdout] test formatter::tests::test_format_line ... ok
[INFO] [stdout] test formatter::tests::test_format_list_with_count ... ok
[INFO] [stdout] test formatter::tests::test_format_list_with_count_empty ... ok
[INFO] [stdout] test formatter::tests::test_formatter_names ... ok
[INFO] [stdout] test formatter::tests::test_formatter_output_formats ... ok
[INFO] [stdout] test formatter::tests::test_json_format_array ... ok
[INFO] [stdout] test formatter::tests::test_json_format_branch_with_tracking ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_message ... ok
[INFO] [stdout] test formatter::tests::test_csv_format_not_implemented ... ok
[INFO] [stdout] test formatter::tests::test_json_format_counts ... ok
[INFO] [stdout] test formatter::tests::test_json_format_counts_with_zeros ... ok
[INFO] [stdout] test formatter::tests::test_json_format_diff_file ... ok
[INFO] [stdout] test formatter::tests::test_json_format_command_result ... ok
[INFO] [stdout] test formatter::tests::test_json_format_diff_summary ... ok
[INFO] [stdout] test formatter::tests::test_json_format_count ... ok
[INFO] [stdout] test formatter::tests::test_json_format_dirty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_empty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_clean ... ok
[INFO] [stdout] test formatter::tests::test_json_format_error_schema ... ok
[INFO] [stdout] test formatter::tests::test_json_format_find_empty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_error_schema_with_code ... ok
[INFO] [stdout] test formatter::tests::test_json_format_error_with_code ... ok
[INFO] [stdout] test formatter::tests::test_json_format_failures ... ok
[INFO] [stdout] test formatter::tests::test_json_format_failures_empty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_find_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_json_format_git_diff_with_files ... ok
[INFO] [stdout] test formatter::tests::test_json_format_git_diff_truncated ... ok
[INFO] [stdout] test formatter::tests::test_json_format_git_status_clean ... ok
[INFO] [stdout] test formatter::tests::test_json_format_error ... ok
[INFO] [stdout] test formatter::tests::test_json_format_grep_file ... ok
[INFO] [stdout] test formatter::tests::test_json_format_git_status_renamed ... ok
[INFO] [stdout] test formatter::tests::test_json_format_flag ... ok
[INFO] [stdout] test formatter::tests::test_json_format_grep_match ... ok
[INFO] [stdout] test formatter::tests::test_json_format_git_diff_empty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_grep_match_no_line ... ok
[INFO] [stdout] test formatter::tests::test_json_format_git_status_dirty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_grep_truncated ... ok
[INFO] [stdout] test formatter::tests::test_json_format_grep_with_matches ... ok
[INFO] [stdout] test formatter::tests::test_json_format_list ... ok
[INFO] [stdout] test formatter::tests::test_json_format_item ... ok
[INFO] [stdout] test formatter::tests::test_json_format_item_renamed ... ok
[INFO] [stdout] test formatter::tests::test_json_format_grep_empty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_key_value ... ok
[INFO] [stdout] test formatter::tests::test_json_format_log_levels_with_zeros ... ok
[INFO] [stdout] test formatter::tests::test_json_format_log_levels ... ok
[INFO] [stdout] test formatter::tests::test_json_format_logs_empty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_logs_with_critical ... ok
[INFO] [stdout] test formatter::tests::test_json_format_ls_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_json_format_ls_with_symlinks ... ok
[INFO] [stdout] test formatter::tests::test_json_format_logs_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_json_format_ls_broken_symlink ... ok
[INFO] [stdout] test formatter::tests::test_json_format_ls_empty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_message ... ok
[INFO] [stdout] test formatter::tests::test_json_format_not_implemented ... ok
[INFO] [stdout] test formatter::tests::test_json_format_process_success ... ok
[INFO] [stdout] test formatter::tests::test_json_format_process_failure ... ok
[INFO] [stdout] test formatter::tests::test_json_format_repository_state_clean ... ok
[INFO] [stdout] test formatter::tests::test_json_format_object ... ok
[INFO] [stdout] test formatter::tests::test_json_format_repository_state_detached ... ok
[INFO] [stdout] test formatter::tests::test_json_format_repository_state_not_git ... ok
[INFO] [stdout] test formatter::tests::test_json_format_status ... ok
[INFO] [stdout] test formatter::tests::test_json_format_section ... ok
[INFO] [stdout] test formatter::tests::test_json_format_test_output_empty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_test_output_failing ... ok
[INFO] [stdout] test formatter::tests::test_json_format_repository_state_dirty ... ok
[INFO] [stdout] test formatter::tests::test_json_format_test_output_passing ... ok
[INFO] [stdout] test formatter::tests::test_json_format_test_summary ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_branch_with_tracking ... ok
[INFO] [stdout] test formatter::tests::test_json_format_truncated ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_clean ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_diff_summary ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_empty ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_dirty ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_counts ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_failures ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_grep_file ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_grep_match ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_failures_empty ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_grep_match_no_line ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_diff_file ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_log_levels_empty ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_item ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_item_renamed ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_key_value ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_list ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_log_levels ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_message ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_section_header ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_raw ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_test_summary_only_passed ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_truncated ... ok
[INFO] [stdout] test formatter::tests::test_truncate ... ok
[INFO] [stdout] test formatter::tests::test_tsv_escape_field ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_branch_with_tracking ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_clean ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_count ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_command_result ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_counts ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_counts_with_zeros ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_diff_file ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_diff_summary ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_dirty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_error ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_error_schema ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_error_schema_with_code ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_error_with_code ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_failures_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_find_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_find_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_flag ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_failures ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_git_diff_with_files ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_git_diff_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_git_status_clean ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_git_status_dirty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_grep_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_git_status_with_tracking ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_grep_file ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_grep_match ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_grep_match_no_line ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_grep_with_matches ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_header_with_special_chars ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_header ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_item ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_item_renamed ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_key_value ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_list ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_list_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_log_levels_with_zeros ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_log_levels ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_test_summary ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_status ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_logs_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_logs_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_ls_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_ls_with_entries ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_message ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_not_implemented ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_process_failure ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_repository_state_dirty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_object ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_repository_state_clean ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_repository_state_not_git ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_process_success ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_row ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_row_with_special_chars ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_status ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_table ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_section ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_table_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_table_with_special_chars ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_test_output_with_tests ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_test_output_empty ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_truncated ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_test_summary_only_passed ... ok
[INFO] [stdout] test help::tests::test_get_command_help_clean ... ok
[INFO] [stdout] test help::tests::test_format_precedence_help ... ok
[INFO] [stdout] test help::tests::test_get_command_help_html2md ... ok
[INFO] [stdout] test formatter::tests::test_tsv_format_test_summary ... ok
[INFO] [stdout] test help::tests::test_get_command_help_parse ... ok
[INFO] [stdout] test help::tests::test_get_command_help_replace ... ok
[INFO] [stdout] test help::tests::test_get_command_help_search ... ok
[INFO] [stdout] test help::tests::test_get_command_help_run ... ok
[INFO] [stdout] test help::tests::test_get_command_help_tail ... ok
[INFO] [stdout] test help::tests::test_get_command_help_trim ... ok
[INFO] [stdout] test help::tests::test_get_command_help_txt2md ... ok
[INFO] [stdout] test help::tests::test_get_command_help_unknown ... ok
[INFO] [stdout] test help::tests::test_long_about_not_empty ... ok
[INFO] [stdout] test process::tests::test_process_builder_args_iter ... ok
[INFO] [stdout] test process::tests::test_process_builder_basic ... ok
[INFO] [stdout] test process::tests::test_process_builder_capture ... ok
[INFO] [stdout] test process::tests::test_process_builder_env ... ok
[INFO] [stdout] test process::tests::test_process_error_helpers ... ok
[INFO] [stdout] test process::tests::test_process_output_failure ... ok
[INFO] [stdout] test process::tests::test_process_builder_envs ... ok
[INFO] [stdout] test process::tests::test_process_builder_timeout ... ok
[INFO] [stdout] test process::tests::test_process_builder_env_clear ... ok
[INFO] [stdout] test process::tests::test_process_output_has_output ... ok
[INFO] [stdout] test process::tests::test_process_error_display ... ok
[INFO] [stdout] test process::tests::test_process_output_no_exit_code ... ok
[INFO] [stdout] test process::tests::test_process_output_success ... ok
[INFO] [stdout] test formatter::tests::test_raw_format_log_levels_partial ... ok
[INFO] [stdout] test formatter::tests::test_select_formatter ... ok
[INFO] [stdout] test process::tests::test_run_command_not_found ... ok
[INFO] [stderr] stderr
[INFO] [stdout] test process::tests::test_run_capture_exit_code_default ... ok
[INFO] [stdout] test process::tests::test_run_capture_duration_default ... ok
[INFO] [stdout] test process::tests::test_run_checked_success ... ok
[INFO] [stdout] test process::tests::test_run_checked_non_zero_exit ... ok
[INFO] [stdout] test process::tests::test_run_capture_exit_code_non_zero ... ok
[INFO] [stdout] test process::tests::test_run_no_capture_exit_code ... ok
[INFO] [stdout] hello
[INFO] [stdout] test process::tests::test_run_capture_stderr ... ok
[INFO] [stdout] test process::tests::test_run_no_capture_stderr ... ok
[INFO] [stdout] test process::tests::test_run_no_capture_stdout ... ok
[INFO] [stdout] test process::tests::test_run_echo ... ok
[INFO] [stdout] test process::tests::test_run_no_capture_duration ... ok
[INFO] [stdout] test process::tests::test_run_non_zero_exit ... ok
[INFO] [stdout] test reducer::tests::test_base_reducer_creation ... ok
[INFO] [stdout] test reducer::tests::test_base_reducer_valid_json_input ... ok
[INFO] [stdout] test reducer::tests::test_base_reducer_invalid_json_input ... ok
[INFO] [stdout] test reducer::tests::test_escape_csv_simple ... ok
[INFO] [stdout] test reducer::tests::test_escape_csv_with_comma ... ok
[INFO] [stdout] test reducer::tests::test_escape_csv_with_newline ... ok
[INFO] [stdout] test reducer::tests::test_escape_csv_with_quotes ... ok
[INFO] [stdout] test reducer::tests::test_format_agent_items_without_sections ... ok
[INFO] [stdout] test reducer::tests::test_format_compact_items_without_label ... ok
[INFO] [stdout] test reducer::tests::test_format_compact_section_without_count ... ok
[INFO] [stdout] test reducer::tests::test_format_raw_with_sections ... ok
[INFO] [stdout] test reducer::tests::test_format_csv_fallback_to_json ... ok
[INFO] [stdout] test reducer::tests::test_format_tsv_fallback_to_json ... ok
[INFO] [stdout] test reducer::tests::test_reducer_context_has_conflicting_formats ... ok
[INFO] [stdout] test reducer::tests::test_reducer_error_display ... ok
[INFO] [stdout] test reducer::tests::test_reducer_context_creation ... ok
[INFO] [stdout] test reducer::tests::test_reducer_error_helpers ... ok
[INFO] [stdout] test process::tests::test_run_with_timeout_success ... ok
[INFO] [stdout] test reducer::tests::test_reducer_error_from_processing ... ok
[INFO] [stdout] test reducer::tests::test_reducer_item_new ... ok
[INFO] [stdout] test reducer::tests::test_reducer_item_serialization ... ok
[INFO] [stdout] test reducer::tests::test_reducer_item_serialization_skip_none ... ok
[INFO] [stdout] test reducer::tests::test_reducer_item_with_label ... ok
[INFO] [stdout] test reducer::tests::test_reducer_metadata_default ... ok
[INFO] [stdout] test reducer::tests::test_reducer_metadata_skip_none_custom ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_empty ... ok
[INFO] [stdout] test reducer::tests::test_reducer_item_with_data ... ok
[INFO] [stdout] test reducer::tests::test_reducer_metadata_serialization ... ok
[INFO] [stdout] test process::tests::test_run_with_args ... ok
[INFO] [stdout] test process::tests::test_run_with_working_dir ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_format_agent_with_metadata ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_format_agent ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_format_json ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_format_raw ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_empty_format ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_format_tsv ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_format_csv ... ok
[INFO] [stdout] test process::tests::test_run_with_env ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_format_compact ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_serialization ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_with_metadata ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_new ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_with_exit_code ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_with_items ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_with_sections ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_with_stats ... ok
[INFO] [stdout] test reducer::tests::test_reducer_output_with_summary ... ok
[INFO] [stdout] test reducer::tests::test_reducer_registry_default ... ok
[INFO] [stdout] test reducer::tests::test_reducer_registry_execute_not_found ... ok
[INFO] [stdout] test reducer::tests::test_reducer_registry_execute ... ok
[INFO] [stdout] test reducer::tests::test_reducer_registry_register ... ok
[INFO] [stdout] test reducer::tests::test_reducer_registry_new ... ok
[INFO] [stdout] test reducer::tests::test_reducer_section_new ... ok
[INFO] [stdout] test reducer::tests::test_reducer_section_add_item ... ok
[INFO] [stdout] test reducer::tests::test_reducer_section_with_count ... ok
[INFO] [stdout] test reducer::tests::test_reducer_section_with_items ... ok
[INFO] [stdout] test reducer::tests::test_reducer_stats_default ... ok
[INFO] [stdout] test reducer::tests::test_reducer_section_serialization ... ok
[INFO] [stdout] test reducer::tests::test_reducer_stats_serialization ... ok
[INFO] [stdout] test reducer::tests::test_reducer_stats_new ... ok
[INFO] [stdout] test reducer::tests::test_reducer_stats_zero_input ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_default ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_truncate_items_no_limit ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_truncate_items_with_limit ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_truncate_items_within_limit ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_truncate_output_no_limit ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_truncate_output_no_detect_patterns ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_truncate_output_with_byte_limit ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_with_max_items ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_truncate_output_detect_patterns ... ok
[INFO] [stdout] test reducer::tests::test_truncation_config_with_max_bytes ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_case_insensitive ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_complete_array ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_more_results ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_complete_json ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_cutoff_and ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_cutoff_line_ellipsis ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_incomplete_json_array ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_no_truncation ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_incomplete_json_object ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_showing_first ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_truncated_brackets ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detect_from_output_truncated_marker ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_limited_no_hidden ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_detected ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_limited_saturating_sub ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_none ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_serialization_skip_none ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_size_threshold ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_serialization ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_limited_with_hidden ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_size_threshold_saturating_sub ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_is_truncated_method ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_summary ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_summary_minimal ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_summary_none ... ok
[INFO] [stdout] test router::tests::test_command_error_display ... ok
[INFO] [stdout] test reducer::tests::test_truncation_info_summary_with_counts ... ok
[INFO] [stdout] test router::tests::test_command_stats_default ... ok
[INFO] [stdout] test router::tests::test_clean_handler ... ok
[INFO] [stdout] test router::tests::test_command_context_creation ... ok
[INFO] [stdout] test router::tests::test_command_stats_format_output_mode ... ok
[INFO] [stdout] test router::tests::test_command_context_no_conflict ... ok
[INFO] [stdout] test router::tests::test_command_stats_no_reduction_when_output_larger ... ok
[INFO] [stdout] test router::tests::test_command_stats_with_output_mode ... ok
[INFO] [stdout] test router::tests::test_command_stats_with_reducer ... ok
[INFO] [stdout] test router::tests::test_command_stats_with_all_fields ... ok
[INFO] [stdout] test router::tests::test_command_stats_reduction_percent ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_brackets ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_connection_errors ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_deprecated ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_exception ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_colon ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_failed ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_case_insensitive ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_caution ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_case_variations ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_notice ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_pipes ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_negation_patterns ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_panic_crash ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_segfault ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_slow_queries ... ok
[INFO] [stdout] test router::tests::test_extract_message_removes_level ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_timeout ... ok
[INFO] [stdout] test router::tests::test_extract_message_removes_timestamp ... ok
[INFO] [stdout] test router::tests::test_detect_log_level_stack_trace ... ok
[INFO] [stdout] test router::tests::test_format_bun_test_compact ... ok
[INFO] [stdout] test router::tests::test_format_bun_test_agent ... ok
[INFO] [stdout] test router::tests::test_format_bun_test_raw ... ok
[INFO] [stdout] test router::tests::test_format_bun_test_json ... ok
[INFO] [stdout] test router::tests::test_format_grep_compact_context_before_and_after ... ok
[INFO] [stdout] test router::tests::test_format_grep_compact_collapse_context_lines ... ok
[INFO] [stdout] test router::tests::test_format_grep_compact_count_excludes_context ... ok
[INFO] [stdout] test router::tests::test_format_grep_compact_single_context_line ... ok
[INFO] [stdout] test router::tests::test_format_grep_compact_trailing_context ... ok
[INFO] [stdout] test router::tests::test_format_grep_json_includes_is_context ... ok
[INFO] [stdout] test router::tests::test_format_grep_json_no_truncation_when_within_limits ... ok
[INFO] [stdout] test router::tests::test_format_grep_raw_match_uses_colon ... ok
[INFO] [stdout] test router::tests::test_format_grep_compact_truncation_info ... ok
[INFO] [stdout] test router::tests::test_format_grep_raw_truncation_info ... ok
[INFO] [stdout] test router::tests::test_format_jest_agent ... ok
[INFO] [stdout] test router::tests::test_format_grep_raw_context_uses_dash ... ok
[INFO] [stdout] test router::tests::test_format_jest_compact ... ok
[INFO] [stdout] test router::tests::test_format_logs_compact_empty ... ok
[INFO] [stdout] test router::tests::test_format_jest_raw ... ok
[INFO] [stdout] test router::tests::test_format_logs_compact_no_collapse_non_consecutive ... ok
[INFO] [stdout] test router::tests::test_format_logs_compact_collapses_consecutive_entries_with_levels ... ok
[INFO] [stdout] test router::tests::test_format_jest_json ... ok
[INFO] [stdout] test router::tests::test_format_logs_compact ... ok
[INFO] [stdout] test router::tests::test_format_logs_compact_recent_critical_count ... ok
[INFO] [stdout] test router::tests::test_format_logs_compact_shows_recent_critical ... ok
[INFO] [stdout] test router::tests::test_format_logs_compact_collapses_consecutive_entries_no_levels ... ok
[INFO] [stdout] test router::tests::test_format_logs_compact_with_repeated ... ok
[INFO] [stdout] test router::tests::test_format_logs_tsv ... ok
[INFO] [stdout] test router::tests::test_format_logs_json ... ok
[INFO] [stdout] test router::tests::test_format_logs_csv ... ok
[INFO] [stdout] test router::tests::test_format_logs_raw ... ok
[INFO] [stdout] test router::tests::test_format_npm_test_compact ... ok
[INFO] [stdout] test router::tests::test_format_logs_json_includes_recent_critical ... ok
[INFO] [stdout] test router::tests::test_format_pnpm_test_agent ... ok
[INFO] [stdout] test router::tests::test_format_pnpm_test_compact ... ok
[INFO] [stdout] test router::tests::test_format_npm_test_raw ... ok
[INFO] [stdout] test router::tests::test_format_pnpm_test_json ... ok
[INFO] [stdout] test router::tests::test_format_npm_test_json ... ok
[INFO] [stdout] test router::tests::test_format_npm_test_agent ... ok
[INFO] [stdout] test router::tests::test_format_pnpm_test_raw ... ok
[INFO] [stdout] test router::tests::test_format_pytest_raw ... ok
[INFO] [stdout] test router::tests::test_format_pytest_agent ... ok
[INFO] [stdout] test router::tests::test_format_pytest_compact ... ok
[INFO] [stdout] test router::tests::test_format_pytest_json ... ok
[INFO] [stdout] test router::tests::test_html2md_file_not_found ... ok
[INFO] [stdout] test router::tests::test_format_grep_json_truncation_info ... ok
[INFO] [stdout] test router::tests::test_html2md_is_url ... ok
[INFO] [stdout] test router::tests::test_html2md_heading_conversion ... ok
[INFO] [stdout] test router::tests::test_html2md_handler_json_includes_metadata_automatically ... ok
[INFO] [stdout] test router::tests::test_html2md_handler ... ok
[INFO] [stdout] test router::tests::test_html2md_handler_with_metadata ... ok
[INFO] [stdout] test router::tests::test_html2md_heading_with_inline_elements ... ok
[INFO] [stdout] test router::tests::test_is_pytest_summary_line ... ok
[INFO] [stdout] test router::tests::test_parse_bun_duration ... ok
[INFO] [stdout] test router::tests::test_html2md_mixed_nested_list_conversion ... ok
[INFO] [stdout] test router::tests::test_parse_bun_ran_line ... ok
[INFO] [stdout] test router::tests::test_html2md_combined_elements ... ok
[INFO] [stdout] test router::tests::test_parse_bun_summary_line ... ok
[INFO] [stdout] test router::tests::test_html2md_nested_list_conversion ... ok
[INFO] [stdout] test router::tests::test_html2md_list_conversion ... ok
[INFO] [stdout] test router::tests::test_html2md_noise_removal ... ok
[INFO] [stdout] test router::tests::test_html2md_link_conversion ... ok
[INFO] [stdout] test router::tests::test_parse_bun_test_empty ... ok
[INFO] [stdout] test router::tests::test_parse_bun_test_non_tty_format ... ok
[INFO] [stdout] test router::tests::test_parse_bun_test_line ... ok
[INFO] [stdout] test router::tests::test_parse_grep_binary_file ... ok
[INFO] [stdout] test router::tests::test_parse_grep_context_is_context_flag_false_for_matches ... ok
[INFO] [stdout] test router::tests::test_parse_bun_test_multiple_suites ... ok
[INFO] [stdout] test router::tests::test_parse_bun_test_with_ancestors ... ok
[INFO] [stdout] test router::tests::test_parse_grep_context_line ... ok
[INFO] [stdout] test router::tests::test_parse_bun_test_single_suite_passed ... ok
[INFO] [stdout] test router::tests::test_parse_bun_test_single_suite_failed ... ok
[INFO] [stdout] test router::tests::test_parse_grep_format_csv ... ok
[INFO] [stdout] test router::tests::test_parse_grep_context_line_with_column ... ok
[INFO] [stdout] test router::tests::test_parse_grep_format_compact ... ok
[INFO] [stdout] test router::tests::test_parse_grep_empty ... ok
[INFO] [stdout] test router::tests::test_parse_grep_format_json ... ok
[INFO] [stdout] test router::tests::test_parse_grep_multiple_files ... ok
[INFO] [stdout] test router::tests::test_parse_grep_single_file_multiple_matches ... ok
[INFO] [stdout] test router::tests::test_parse_grep_empty_compact ... ok
[INFO] [stdout] test router::tests::test_parse_grep_format_raw ... ok
[INFO] [stdout] test router::tests::test_parse_grep_format_tsv ... ok
[INFO] [stdout] test router::tests::test_parse_grep_truncation_fields_not_truncated ... ok
[INFO] [stdout] test router::tests::test_parse_grep_with_column ... ok
[INFO] [stdout] test router::tests::test_parse_grep_without_line_number ... ok
[INFO] [stdout] test router::tests::test_parse_handler_git_status ... ok
[INFO] [stdout] test router::tests::test_parse_grep_groups_interleaved_files ... ok
[INFO] [stdout] test router::tests::test_parse_grep_line_with_colon_in_content ... ok
[INFO] [stdout] test router::tests::test_parse_handler_test ... ok
[INFO] [stdout] test router::tests::test_parse_grep_single_file_single_match ... ok
[INFO] [stdout] test router::tests::test_parse_jest_duration ... ok
[INFO] [stdout] test router::tests::test_parse_jest_empty ... ok
[INFO] [stdout] test router::tests::test_parse_grep_mixed_match_and_context ... ok
[INFO] [stdout] test router::tests::test_parse_jest_multiple_suites ... ok
[INFO] [stdout] test router::tests::test_parse_jest_single_suite_failed ... ok
[INFO] [stdout] test router::tests::test_parse_jest_single_suite_passed ... ok
[INFO] [stdout] test router::tests::test_parse_jest_summary ... ok
[INFO] [stdout] test router::tests::test_parse_jest_test_line ... ok
[INFO] [stdout] test router::tests::test_parse_jest_tests_summary ... ok
[INFO] [stdout] test router::tests::test_parse_jest_time_summary ... ok
[INFO] [stdout] test router::tests::test_parse_jest_with_ancestors ... ok
[INFO] [stdout] test router::tests::test_parse_jest_test_with_skipped ... ok
[INFO] [stdout] test router::tests::test_parse_logs_counts_levels_correctly ... ok
[INFO] [stdout] test router::tests::test_parse_logs_empty ... ok
[INFO] [stdout] test router::tests::test_parse_logs_no_critical_lines ... ok
[INFO] [stdout] test router::tests::test_parse_logs_single_line ... ok
[INFO] [stdout] test router::tests::test_parse_logs_recent_critical_order ... ok
[INFO] [stdout] test router::tests::test_parse_logs_multiple_errors ... ok
[INFO] [stdout] test router::tests::test_parse_logs_mixed_levels ... ok
[INFO] [stdout] test router::tests::test_parse_logs_recent_critical_limit ... ok
[INFO] [stdout] test router::tests::test_parse_logs_recent_critical_only_errors_and_fatals ... ok
[INFO] [stdout] test router::tests::test_parse_logs_timestamp_iso8601_space ... ok
[INFO] [stdout] test router::tests::test_parse_logs_timestamp_iso8601 ... ok
[INFO] [stdout] test router::tests::test_parse_npm_duration ... ok
[INFO] [stdout] test router::tests::test_parse_logs_with_fatal ... ok
[INFO] [stdout] test router::tests::test_parse_logs_tracks_recent_critical ... ok
[INFO] [stdout] test router::tests::test_parse_logs_timestamp_syslog ... ok
[INFO] [stdout] test router::tests::test_parse_logs_with_levels ... ok
[INFO] [stdout] test router::tests::test_parse_logs_with_repeated_lines ... ok
[INFO] [stdout] test router::tests::test_parse_logs_timestamp_time_only ... ok
[INFO] [stdout] test router::tests::test_parse_npm_test_empty ... ok
[INFO] [stdout] test router::tests::test_parse_npm_test_line ... ok
[INFO] [stdout] test router::tests::test_parse_npm_test_with_ancestors ... ok
[INFO] [stdout] test router::tests::test_parse_npm_test_single_suite_passed ... ok
[INFO] [stdout] test router::tests::test_parse_npm_test_multiple_suites ... ok
[INFO] [stdout] test router::tests::test_parse_npm_test_single_suite_failed ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_duration ... ok
[INFO] [stdout] test router::tests::test_parse_npm_test_with_skipped ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_test_empty ... ok
[INFO] [stdout] test router::tests::test_parse_npm_test_with_todo ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_test_line ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_test_multiple_suites ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_test_single_suite_failed ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_test_single_suite_passed ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_test_with_ancestors ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_test_with_skipped ... ok
[INFO] [stdout] test router::tests::test_parse_pytest_mixed_results ... ok
[INFO] [stdout] test router::tests::test_parse_pnpm_test_with_todo ... ok
[INFO] [stdout] test router::tests::test_parse_pytest_single_passed ... ok
[INFO] [stdout] test router::tests::test_parse_pytest_summary_line ... ok
[INFO] [stdout] test router::tests::test_parse_pytest_with_header_info ... ok
[INFO] [stdout] test router::tests::test_parse_pytest_with_xfail ... ok
[INFO] [stdout] test router::tests::test_parse_pytest_single_failed ... ok
[INFO] [stdout] test router::tests::test_process_stdin_with_ansi_and_control ... ok
[INFO] [stdout] test router::tests::test_parse_pytest_empty ... ok
[INFO] [stdout] test router::tests::test_process_stdin_with_control_chars ... ok
[INFO] [stdout] test router::tests::test_parse_pytest_test_line ... ok
[INFO] [stdout] test router::tests::test_process_stdin_json_format ... ok
[INFO] [stdout] test router::tests::test_process_stdin_with_null_bytes ... ok
[INFO] [stdout] test router::tests::test_replace_escape_csv_field ... ok
[INFO] [stdout] test router::tests::test_replace_escape_tsv_field ... ok
[INFO] [stdout] test router::tests::test_replace_truncate_line ... ok
[INFO] [stdout] test router::tests::test_router_run_command_failure ... ok
[INFO] [stdout] test router::tests::test_router_run_command_success ... ok
[INFO] [stdout] test router::tests::test_run_handler_no_capture_exit_code ... ok
[INFO] [stdout] test
[INFO] [stdout] test router::tests::test_run_handler_no_capture_stdout ... ok
[INFO] [stdout] test router::tests::test_run_handler_command_not_found ... ok
[INFO] [stdout] test router::tests::test_run_handler_json_format ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_empty ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_mixed ... ok
[INFO] [stdout] test router::tests::test_run_handler_success ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_normalizes_spaces ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_only_control ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_preserves_tabs ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_preserves_newlines ... ok
[INFO] [stdout] test router::tests::test_run_handler_non_zero_exit ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_preserves_unicode ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_removes_nulls ... ok
[INFO] [stdout] test router::tests::test_split_bun_test_name_and_duration ... ok
[INFO] [stdout] test router::tests::test_sanitize_control_chars_replaces_control_chars ... ok
[INFO] [stdout] test router::tests::test_split_npm_test_name_and_duration ... ok
[INFO] [stdout] test router::tests::test_strip_ansi_codes_multiple ... ok
[INFO] [stdout] test router::tests::test_tail_handler_file_not_found ... ok
[INFO] [stdout] test router::tests::test_tail_is_error_line ... ok
[INFO] [stdout] test router::tests::test_strip_ansi_codes_basic ... ok
[INFO] [stdout] test router::tests::test_split_pnpm_test_name_and_duration ... ok
[INFO] [stdout] test router::tests::test_truncate_grep_files ... ok
[INFO] [stdout] test router::tests::test_truncate_grep_matches_per_file ... ok
[INFO] [stdout] test router::tests::test_txt2md_handler ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_collapses_blank_lines ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_complex ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_empty_input ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_only_whitespace ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_preserves_internal_spacing ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_removes_leading_blank_lines ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_removes_trailing_blank_lines ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_single_line ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_trims_trailing_whitespace ... ok
[INFO] [stdout] test router::tests::test_truncate_grep_both_limits ... ok
[INFO] [stdout] test router::tests::test_txt2md_normalize_spacing_with_code_block ... ok
[INFO] [stdout] test schema::tests::test_error_schema_new ... ok
[INFO] [stdout] test router::tests::test_txt2md_handler_with_spacing_issues ... ok
[INFO] [stdout] test schema::tests::test_find_entry_hidden_detection ... ok
[INFO] [stdout] test schema::tests::test_find_entry_new ... ok
[INFO] [stdout] test schema::tests::test_find_output_schema_new ... ok
[INFO] [stdout] test schema::tests::test_git_diff_entry_new ... ok
[INFO] [stdout] test schema::tests::test_git_diff_schema_new ... ok
[INFO] [stdout] test schema::tests::test_git_file_entry_new ... ok
[INFO] [stdout] test schema::tests::test_git_file_entry_renamed ... ok
[INFO] [stdout] test schema::tests::test_git_status_counts_default ... ok
[INFO] [stdout] test schema::tests::test_git_status_round_trip ... ok
[INFO] [stdout] test schema::tests::test_git_status_schema_deserialization ... ok
[INFO] [stdout] test schema::tests::test_git_status_schema_new ... ok
[INFO] [stdout] test schema::tests::test_git_status_schema_serialization ... ok
[INFO] [stdout] test schema::tests::test_grep_file_new ... ok
[INFO] [stdout] test schema::tests::test_grep_match_new ... ok
[INFO] [stdout] test schema::tests::test_error_schema_serialization ... ok
[INFO] [stdout] test schema::tests::test_error_schema_with_type ... ok
[INFO] [stdout] test schema::tests::test_log_entry_new ... ok
[INFO] [stdout] test schema::tests::test_log_level_serialization ... ok
[INFO] [stdout] test schema::tests::test_ls_entry_hidden ... ok
[INFO] [stdout] test schema::tests::test_ls_entry_new ... ok
[INFO] [stdout] test schema::tests::test_ls_entry_type_deserialization ... ok
[INFO] [stdout] test schema::tests::test_ls_entry_type_serialization ... ok
[INFO] [stdout] test schema::tests::test_ls_output_round_trip ... ok
[INFO] [stdout] test schema::tests::test_ls_output_schema_new ... ok
[INFO] [stdout] test schema::tests::test_logs_output_schema_new ... ok
[INFO] [stdout] test schema::tests::test_process_output_schema_new ... ok
[INFO] [stdout] test schema::tests::test_replace_counts_default ... ok
[INFO] [stdout] test schema::tests::test_process_output_schema_serialization ... ok
[INFO] [stdout] test schema::tests::test_replace_file_new ... ok
[INFO] [stdout] test schema::tests::test_replace_match_new ... ok
[INFO] [stdout] test schema::tests::test_replace_output_round_trip ... ok
[INFO] [stdout] test schema::tests::test_replace_output_schema_dry_run ... ok
[INFO] [stdout] test schema::tests::test_replace_output_schema_new ... ok
[INFO] [stdout] test schema::tests::test_replace_output_schema_serialization ... ok
[INFO] [stdout] test schema::tests::test_repository_state_schema_new ... ok
[INFO] [stdout] test schema::tests::test_schema_version ... ok
[INFO] [stdout] test schema::tests::test_grep_output_schema_new ... ok
[INFO] [stdout] test schema::tests::test_test_output_round_trip ... ok
[INFO] [stdout] test schema::tests::test_schema_version_serialization ... ok
[INFO] [stdout] test schema::tests::test_test_output_schema_new ... ok
[INFO] [stdout] test schema::tests::test_test_result_new ... ok
[INFO] [stdout] test schema::tests::test_test_runner_type_display ... ok
[INFO] [stdout] test schema::tests::test_test_status_deserialization ... ok
[INFO] [stdout] test schema::tests::test_test_status_serialization ... ok
[INFO] [stdout] test schema::tests::test_test_suite_new ... ok
[INFO] [stdout] test tests::test_clean_command_parsing ... ok
[INFO] [stdout] test tests::test_enabled_format_flags_multiple ... ok
[INFO] [stdout] test tests::test_enabled_format_flags_none ... ok
[INFO] [stdout] test tests::test_enabled_format_flags_single ... ok
[INFO] [stdout] test tests::test_format_precedence_values ... ok
[INFO] [stdout] test tests::test_current_format_precedence ... ok
[INFO] [stdout] test tests::test_has_conflicting_format_flags_false_none ... ok
[INFO] [stdout] test tests::test_has_conflicting_format_flags_true ... ok
[INFO] [stdout] test tests::test_html2md_command ... ok
[INFO] [stdout] test tests::test_has_conflicting_format_flags_false_single ... ok
[INFO] [stdout] test tests::test_output_format_agent ... ok
[INFO] [stdout] test schema::tests::test_replace_output_schema_with_files ... ok
[INFO] [stdout] test tests::test_output_format_default ... ok
[INFO] [stdout] test tests::test_output_format_csv ... ok
[INFO] [stdout] test tests::test_output_format_json_precedence ... ok
[INFO] [stdout] test tests::test_output_format_precedence_agent_over_compact ... ok
[INFO] [stdout] test tests::test_output_format_precedence_json_over_csv ... ok
[INFO] [stdout] test tests::test_output_format_precedence_csv_over_tsv ... ok
[INFO] [stdout] test tests::test_output_format_precedence_tsv_over_agent ... ok
[INFO] [stdout] test tests::test_output_format_tsv ... ok
[INFO] [stdout] test tests::test_parse_git_status ... ok
[INFO] [stdout] test tests::test_parse_test_runner ... ok
[INFO] [stdout] test tests::test_precedence_agent_over_compact ... ok
[INFO] [stdout] test tests::test_output_format_compact ... ok
[INFO] [stdout] test router::tests::test_search_handler ... ok
[INFO] [stdout] test tests::test_precedence_agent_over_compact_raw ... ok
[INFO] [stdout] test tests::test_output_format_raw ... ok
[INFO] [stdout] test tests::test_precedence_csv_over_all_except_json ... ok
[INFO] [stdout] test tests::test_precedence_compact_over_raw ... ok
[INFO] [stdout] test tests::test_precedence_agent_over_raw ... ok
[INFO] [stdout] test tests::test_precedence_csv_over_compact ... ok
[INFO] [stdout] test tests::test_precedence_csv_over_tsv ... ok
[INFO] [stdout] test tests::test_precedence_json_over_agent ... ok
[INFO] [stdout] test tests::test_precedence_csv_over_agent ... ok
[INFO] [stdout] test tests::test_precedence_json_over_compact ... ok
[INFO] [stdout] test tests::test_precedence_csv_over_raw ... ok
[INFO] [stdout] test tests::test_precedence_json_over_all ... ok
[INFO] [stdout] test tests::test_precedence_order ... ok
[INFO] [stdout] test tests::test_precedence_json_over_raw ... ok
[INFO] [stdout] test process::tests::test_run_with_timeout_exceeded ... ok
[INFO] [stdout] test tests::test_precedence_json_over_csv ... ok
[INFO] [stdout] test tests::test_precedence_tsv_over_agent ... ok
[INFO] [stdout] test tests::test_precedence_tsv_over_raw ... ok
[INFO] [stdout] test tests::test_precedence_tsv_over_all_except_json_csv ... ok
[INFO] [stdout] test tests::test_precedence_tsv_over_compact ... ok
[INFO] [stdout] test tests::test_precedence_with_clean_command ... ok
[INFO] [stdout] test tests::test_precedence_with_parse_command ... ok
[INFO] [stdout] test tests::test_precedence_with_html2md_command ... ok
[INFO] [stdout] test tests::test_precedence_json_over_tsv ... ok
[INFO] [stdout] test tests::test_precedence_with_run_command ... ok
[INFO] [stdout] test tests::test_precedence_with_replace_command ... ok
[INFO] [stdout] test tests::test_precedence_with_txt2md_command ... ok
[INFO] [stdout] test tests::test_replace_command_parsing_with_count ... ok
[INFO] [stdout] test tests::test_replace_command_parsing ... ok
[INFO] [stdout] test tests::test_search_command_parsing ... ok
[INFO] [stdout] test tests::test_stats_flag ... ok
[INFO] [stdout] test tests::test_stdin_no_command ... ok
[INFO] [stdout] test tests::test_tail_command_parsing ... ok
[INFO] [stdout] test tests::test_txt2md_command ... ok
[INFO] [stdout] test tests::test_precedence_with_tail_command ... ok
[INFO] [stdout] test tests::test_stdin_with_format_flags ... ok
[INFO] [stdout] test router::tests::test_router_default ... ok
[INFO] [stdout] test router::tests::test_replace_handler_json_format ... ok
[INFO] [stdout] test router::tests::test_replace_handler ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 824 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-dfc391a6cff6fdda)
[INFO] [stdout] 
[INFO] [stdout] running 685 tests
[INFO] [stdout] test fixtures::tests::test_fixtures_dir_exists ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_all_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_multiple_suites ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_non_tty ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_all_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_single_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_single_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_with_todo ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_all_status_codes ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_behind ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_clean ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_conflict ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_copied ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_detached ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_diverged ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_long_paths ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_no_branch ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_porcelain ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_porcelain_v2 ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_renamed ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_spanish_clean ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_staged ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_typechange ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_unstaged ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_untracked ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_whitespace_only ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_added ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_binary ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_copied ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_deleted ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_long_paths ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_modified ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_multiple ... ok
[INFO] [stdout] test fixtures::tests::test_load_git_diff_renamed ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_binary_file ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_ahead ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_context_lines ... ok
[INFO] [stdout] test fixtures::tests::test_load_fixture_german_clean ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_context_before ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_bun_test_with_skipped ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_context_after ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_long_paths ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_special_chars ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_with_colon_in_content ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_with_column ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_without_line_numbers ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_all_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_all_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_multiple_files ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_ripgrep_heading ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_single_file_multiple_matches ... ok
[INFO] [stdout] test fixtures::tests::test_load_grep_simple ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_single_suite_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_multiple_suites ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_single_suite_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_with_nested_describe ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_access ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_all_levels ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_application ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_with_todo ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_colon_format ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_json_format ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_iso8601_timestamp ... ok
[INFO] [stdout] test fixtures::tests::test_load_jest_with_skipped ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_multiline_error ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_pipe_format ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_errors_only ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_mixed_format ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_simple ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_repeated_lines ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_with_exceptions ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_with_source ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_broken_symlink ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_generated_dirs ... ok
[INFO] [stdout] test fixtures::tests::test_load_logs_syslog_format ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_long_format ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_long_format_with_symlinks ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_long_paths ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_simple ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_permission_denied ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_with_directories ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_with_hidden ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_all_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_ls_special_chars ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_multiple_suites ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_all_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_single_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_with_skipped ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_single_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_with_header ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_all_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_all_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_npm_test_with_todo ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_single_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_single_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_with_header ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_with_skipped ... ok
[INFO] [stdout] test fixtures::tests::test_load_pnpm_test_with_todo ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_all_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_all_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_long_paths ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_single_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_with_error ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_all_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_large ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_with_header ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_with_xfail ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_mixed_skipped ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_single_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_single_failed ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_empty ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_all_passed ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_with_skipped ... ok
[INFO] [stdout] test fixtures::tests::test_load_vitest_with_todo ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_mixed ... ok
[INFO] [stdout] test fixtures::tests::test_load_pytest_single_failed ... ok
[INFO] [stdout] test test_clean_basic ... ok
[INFO] [stdout] test test_clean_collapse_repeats ... ok
[INFO] [stdout] test test_clean_collapse_blanks_many_consecutive ... ok
[INFO] [stdout] test test_clean_collapse_blanks_whitespace_lines ... ok
[INFO] [stdout] test test_clean_compact_output ... ok
[INFO] [stdout] test test_clean_agent_output ... ok
[INFO] [stdout] test test_clean_collapse_blanks ... ok
[INFO] [stdout] test test_clean_file_not_found ... ok
[INFO] [stdout] test test_clean_file_input ... ok
[INFO] [stdout] test test_clean_help ... ok
[INFO] [stdout] test test_clean_csv_output ... ok
[INFO] [stdout] test test_clean_no_ansi_cursor_movement ... ok
[INFO] [stdout] test test_clean_no_ansi_character_sets ... ok
[INFO] [stdout] test test_clean_no_ansi ... ok
[INFO] [stdout] test test_clean_no_ansi_osc_sequences ... ok
[INFO] [stdout] test test_clean_no_ansi_csi_sequences ... ok
[INFO] [stdout] test test_clean_no_ansi_multiple_params ... ok
[INFO] [stdout] test test_clean_no_ansi_osc_with_st ... ok
[INFO] [stdout] test test_clean_no_ansi_hyperlinks ... ok
[INFO] [stdout] test test_clean_no_ansi_simple_escapes ... ok
[INFO] [stdout] test test_clean_no_ansi_real_world ... ok
[INFO] [stdout] test test_clean_no_ansi_mixed ... ok
[INFO] [stdout] test test_clean_stats_shows_input_bytes ... ok
[INFO] [stdout] test test_clean_raw_output ... ok
[INFO] [stdout] test test_clean_stats_shows_output_bytes ... ok
[INFO] [stdout] test test_clean_stats_shows_reduction ... ok
[INFO] [stdout] test test_clean_json_output ... ok
[INFO] [stdout] test test_clean_tsv_output ... ok
[INFO] [stdout] test test_clean_with_options ... ok
[INFO] [stdout] test test_command_not_found_json_output ... ok
[INFO] [stdout] test test_clean_trim ... ok
[INFO] [stdout] test test_exit_code_255_propagated ... ok
[INFO] [stdout] test test_context_combined_flags_routing ... ok
[INFO] [stdout] test test_exit_code_no_capture_still_propagates ... ok
[INFO] [stdout] test test_exit_code_command_not_found_is_127 ... ok
[INFO] [stdout] test test_exit_code_42_propagated ... ok
[INFO] [stdout] test test_exit_code_permission_denied_is_126 ... ok
[INFO] [stdout] test test_fixture_git_diff_added ... ok
[INFO] [stdout] test test_exit_code_zero_success ... ok
[INFO] [stdout] test test_fixture_git_diff_added_json ... ok
[INFO] [stdout] test test_fixture_git_diff_deleted ... ok
[INFO] [stdout] test test_fixture_git_diff_binary_json ... ok
[INFO] [stdout] test test_fixture_git_diff_copied ... ok
[INFO] [stdout] test test_fixture_git_diff_binary ... ok
[INFO] [stdout] test test_fixture_git_diff_large ... ok
[INFO] [stdout] test test_context_json_format_routing ... ok
[INFO] [stdout] test test_fixture_git_diff_mixed ... ok
[INFO] [stdout] test test_fixture_git_diff_modified_json ... ok
[INFO] [stdout] test test_fixture_git_diff_modified ... ok
[INFO] [stdout] test test_fixture_git_diff_multiple ... ok
[INFO] [stdout] test test_fixture_git_diff_modified_raw ... ok
[INFO] [stdout] test test_fixture_git_diff_multiple_raw ... ok
[INFO] [stdout] test test_fixture_git_diff_renamed ... ok
[INFO] [stdout] test test_fixture_git_diff_renamed_json ... ok
[INFO] [stdout] test test_fixture_git_diff_empty ... ok
[INFO] [stdout] test test_fixture_git_diff_renamed_raw ... ok
[INFO] [stdout] test test_exit_code_one_propagated ... ok
[INFO] [stdout] test test_fixture_git_status_ahead ... ok
[INFO] [stdout] test test_fixture_git_diff_deleted_json ... ok
[INFO] [stdout] test test_fixture_git_diff_long_paths ... ok
[INFO] [stdout] test test_fixture_git_diff_multiple_json ... ok
[INFO] [stdout] test test_fixture_git_status_behind ... ok
[INFO] [stdout] test test_fixture_git_status_ahead_json ... ok
[INFO] [stdout] test test_fixture_git_status_all_status_codes ... ok
[INFO] [stdout] test test_fixture_git_status_conflict ... ok
[INFO] [stdout] test test_fixture_git_status_clean ... ok
[INFO] [stdout] test test_fixture_git_status_behind_json ... ok
[INFO] [stdout] test test_fixture_git_status_clean_json ... ok
[INFO] [stdout] test test_fixture_git_status_diverged_json ... ok
[INFO] [stdout] test test_fixture_git_status_detached ... ok
[INFO] [stdout] test test_fixture_git_status_diverged ... ok
[INFO] [stdout] test test_fixture_git_status_empty ... ok
[INFO] [stdout] test test_fixture_git_status_german_clean ... ok
[INFO] [stdout] test test_fixture_git_status_copied ... ok
[INFO] [stdout] test test_context_agent_format_routing ... ok
[INFO] [stdout] test test_fixture_git_status_long_paths ... ok
[INFO] [stdout] test test_fixture_git_status_porcelain ... ok
[INFO] [stdout] test test_fixture_git_status_renamed ... ok
[INFO] [stdout] test test_fixture_git_status_staged_json ... ok
[INFO] [stdout] test test_fixture_git_status_staged_csv ... ok
[INFO] [stdout] test test_fixture_git_status_spanish_clean ... ok
[INFO] [stdout] test test_fixture_git_status_staged ... ok
[INFO] [stdout] test test_fixture_git_status_staged_tsv ... ok
[INFO] [stdout] test test_fixture_git_status_staged_raw ... ok
[INFO] [stdout] test test_fixture_git_status_whitespace_only ... ok
[INFO] [stdout] test test_fixture_git_status_typechange ... ok
[INFO] [stdout] test test_fixture_git_status_untracked ... ok
[INFO] [stdout] test test_fixture_git_status_mixed ... ok
[INFO] [stdout] test test_fixture_git_status_no_branch ... ok
[INFO] [stdout] test test_fixture_git_status_porcelain_v2 ... ok
[INFO] [stdout] test test_global_csv_flag ... ok
[INFO] [stdout] test test_fixture_git_status_unstaged ... ok
[INFO] [stdout] test test_help_shows_all_commands ... ok
[INFO] [stdout] test test_global_flags_help ... ok
[INFO] [stdout] test test_help_shows_documentation_link ... ok
[INFO] [stdout] test test_help_shows_output_format_flags ... ok
[INFO] [stdout] test test_help ... ok
[INFO] [stdout] test test_html2md_basic ... ok
[INFO] [stdout] test test_help_shows_global_flags ... ok
[INFO] [stdout] test test_help_shows_examples ... ok
[INFO] [stdout] test test_global_json_flag ... ok
[INFO] [stdout] test test_html2md_help ... ok
[INFO] [stdout] test test_html2md_stats_shows_output_bytes ... ok
[INFO] [stdout] test test_html2md_json_output ... ok
[INFO] [stdout] test test_html2md_json_output_includes_metadata ... ok
[INFO] [stdout] test test_html2md_stats_shows_input_bytes ... ok
[INFO] [stdout] test test_context_stats_routing ... ok
[INFO] [stdout] test test_is_clean_compact_format ... ok
[INFO] [stdout] test test_is_clean_json_format ... ok
[INFO] [stdout] test test_is_clean_in_git_repo ... ok
[INFO] [stdout] test test_is_clean_raw_format ... ok
[INFO] [stdout] test test_parse_bun_test_all_passed ... ok
[INFO] [stdout] test test_html2md_url_with_json_output ... FAILED
[INFO] [stdout] test test_html2md_url_input ... FAILED
[INFO] [stdout] test test_html2md_url_with_metadata ... FAILED
[INFO] [stdout] test test_parse_bun_test_duration_in_ms ... ok
[INFO] [stdout] test test_parse_bun_test_compact_success_summary ... ok
[INFO] [stdout] test test_parse_bun_test_failed_tests_identifiers ... ok
[INFO] [stdout] test test_parse_bun_test_compact_failure_summary ... ok
[INFO] [stdout] test test_parse_bun_test_failing_json ... ok
[INFO] [stdout] test test_parse_bun_test_failing_compact_output ... ok
[INFO] [stdout] test test_parse_find_empty ... ok
[INFO] [stdout] test test_parse_bun_test_non_tty_format ... ok
[INFO] [stdout] test test_parse_bun_test_failed_tests_empty_when_all_pass ... ok
[INFO] [stdout] test test_parse_find_multiple_errors ... ok
[INFO] [stdout] test test_global_stats_flag ... ok
[INFO] [stdout] test test_parse_bun_test_duration_extraction ... ok
[INFO] [stdout] test test_parse_bun_test_json_output ... ok
[INFO] [stdout] test test_parse_find_permission_denied ... ok
[INFO] [stdout] test test_parse_find_cannot_open_directory ... ok
[INFO] [stdout] test test_parse_find_permission_denied_json ... ok
[INFO] [stdout] test test_parse_find_with_errors ... ok
[INFO] [stdout] test test_parse_find_raw_format ... ok
[INFO] [stdout] test test_parse_git_diff_help ... ok
[INFO] [stdout] test test_parse_git_diff ... ok
[INFO] [stdout] test test_parse_git_diff_malformed ... ok
[INFO] [stdout] test test_parse_git_diff_raw_format ... ok
[INFO] [stdout] test test_parse_git_status_handles_malformed_input ... ok
[INFO] [stdout] test test_parse_find_only_errors ... ok
[INFO] [stdout] test test_parse_git_status_only_garbage ... ok
[INFO] [stdout] test test_parse_git_status_empty ... ok
[INFO] [stdout] test test_parse_git_diff_empty ... ok
[INFO] [stdout] test test_parse_git_status_help ... ok
[INFO] [stdout] test test_parse_git_status_invalid_utf8 ... ok
[INFO] [stdout] test test_parse_git_status ... ok
[INFO] [stdout] test test_parse_git_status_with_null_bytes ... ok
[INFO] [stdout] test test_parse_grep ... ok
[INFO] [stdout] test test_parse_git_status_with_up_to_date_json ... ok
[INFO] [stdout] test test_parse_grep_compact_line_numbers_multiple_files ... ok
[INFO] [stdout] test test_parse_grep_all_malformed ... ok
[INFO] [stdout] test test_parse_grep_compact_preserves_line_numbers ... ok
[INFO] [stdout] test test_parse_find_no_such_file ... ok
[INFO] [stdout] test test_parse_grep_csv ... ok
[INFO] [stdout] test test_parse_git_status_truncated_input ... ok
[INFO] [stdout] test test_parse_grep_compact ... ok
[INFO] [stdout] test test_parse_grep_groups_interleaved_files ... ok
[INFO] [stdout] test test_parse_grep_groups_interleaved_files_json ... ok
[INFO] [stdout] test test_parse_git_status_raw_format ... ok
[INFO] [stdout] test test_parse_git_status_with_up_to_date ... ok
[INFO] [stdout] test test_parse_grep_empty_input ... ok
[INFO] [stdout] test test_parse_grep_json ... ok
[INFO] [stdout] test test_parse_grep_truncation_json_many_files ... ok
[INFO] [stdout] test test_parse_grep_truncation_json_not_truncated ... ok
[INFO] [stdout] test test_parse_grep_raw ... ok
[INFO] [stdout] test test_parse_grep_multiple_files ... ok
[INFO] [stdout] test test_parse_grep_json_output ... ok
[INFO] [stdout] test test_parse_grep_truncation_json_many_matches_per_file ... ok
[INFO] [stdout] test test_parse_grep_truncation_raw_format ... ok
[INFO] [stdout] test test_parse_grep_empty ... ok
[INFO] [stdout] test test_parse_grep_with_null_bytes ... ok
[INFO] [stdout] test test_parse_grep_truncation_compact_format ... ok
[INFO] [stdout] test test_parse_grep_tsv ... ok
[INFO] [stdout] test test_parse_grep_with_malformed_lines ... ok
[INFO] [stdout] test test_parse_jest_duration_in_ms ... ok
[INFO] [stdout] test test_parse_help ... ok
[INFO] [stdout] test test_parse_jest_failed_tests_identifiers ... ok
[INFO] [stdout] test test_parse_jest_compact_success_summary ... ok
[INFO] [stdout] test test_parse_logs ... ok
[INFO] [stdout] test test_parse_jest_compact_failure_summary ... ok
[INFO] [stdout] test test_parse_jest_duration_extraction ... ok
[INFO] [stdout] test test_parse_logs_compact_shows_recent_critical_section ... ok
[INFO] [stdout] test test_parse_logs_compact_shows_level_indicators ... ok
[INFO] [stdout] test test_parse_logs_compact_shows_truncated_count ... ok
[INFO] [stdout] test test_parse_jest_failed_tests_empty_when_all_pass ... ok
[INFO] [stdout] test test_parse_logs_compact_shows_repeated ... ok
[INFO] [stdout] test test_parse_jest_raw_format ... ok
[INFO] [stdout] test test_parse_logs_detects_exception ... ok
[INFO] [stdout] test test_parse_logs_detects_connection_errors ... ok
[INFO] [stdout] test test_parse_logs_detects_deprecated ... ok
[INFO] [stdout] test test_parse_logs_detects_error_levels ... ok
[INFO] [stdout] test test_parse_logs_detects_panic_crash ... ok
[INFO] [stdout] test test_parse_logs_detects_recent_critical ... ok
[INFO] [stdout] test test_parse_logs_negation_not_detected_as_error ... ok
[INFO] [stdout] test test_parse_logs_empty ... ok
[INFO] [stdout] test test_parse_logs_detects_warning_levels ... ok
[INFO] [stdout] test test_parse_logs_no_recent_critical_when_none ... ok
[INFO] [stdout] test test_parse_logs_raw_format ... ok
[INFO] [stdout] test test_parse_logs_recent_critical_limited ... ok
[INFO] [stdout] test test_parse_logs_json_output ... ok
[INFO] [stdout] test test_parse_logs_detects_failed_keyword ... ok
[INFO] [stdout] test test_parse_logs_detects_fatal_levels ... ok
[INFO] [stdout] test test_parse_logs_detects_repeated_lines ... ok
[INFO] [stdout] test test_parse_logs_notice_level ... ok
[INFO] [stdout] test test_parse_logs_recent_critical_only_errors_and_fatals ... ok
[INFO] [stdout] test test_parse_logs_slow_query_warning ... ok
[INFO] [stdout] test test_parse_ls ... ok
[INFO] [stdout] test test_parse_ls_broken_symlink_json ... ok
[INFO] [stdout] test test_parse_logs_detects_stack_trace ... ok
[INFO] [stdout] test test_parse_logs_only_whitespace ... ok
[INFO] [stdout] test test_parse_ls_broken_symlink_compact ... ok
[INFO] [stdout] test test_parse_logs_with_mixed_encoding ... ok
[INFO] [stdout] test test_parse_ls_circular_symlink ... ok
[INFO] [stdout] test test_parse_ls_dot_and_dotdot ... ok
[INFO] [stdout] test test_parse_ls_broken_symlink_json_has_broken_array ... ok
[INFO] [stdout] test test_parse_ls_empty_input ... ok
[INFO] [stdout] test test_parse_ls_hidden_directory ... ok
[INFO] [stdout] test test_parse_logs_with_control_chars ... ok
[INFO] [stdout] test test_parse_ls_hidden_and_generated ... ok
[INFO] [stdout] test test_parse_ls_hidden_file_with_extension ... ok
[INFO] [stdout] test test_parse_ls_hidden_symlink ... ok
[INFO] [stdout] test test_parse_ls_double_dots ... ok
[INFO] [stdout] test test_parse_ls_empty ... ok
[INFO] [stdout] test test_parse_logs_various_formats ... ok
[INFO] [stdout] test test_parse_ls_json_format ... ok
[INFO] [stdout] test test_parse_ls_circular_symlink_json ... ok
[INFO] [stdout] test test_parse_ls_json_includes_generated ... ok
[INFO] [stdout] test test_parse_ls_json_hidden_files ... ok
[INFO] [stdout] test test_parse_ls_multiple_generated_dirs ... ok
[INFO] [stdout] test test_parse_ls_generated_dirs_case_insensitive ... ok
[INFO] [stdout] test test_parse_ls_long_format_hidden_files ... ok
[INFO] [stdout] test test_parse_ls_malformed_long_format ... ok
[INFO] [stdout] test test_parse_ls_long_format ... ok
[INFO] [stdout] test test_parse_ls_long_format_generated_dirs ... ok
[INFO] [stdout] test test_parse_ls_multiple_symlinks_with_targets ... ok
[INFO] [stdout] test test_parse_ls_no_generated_dirs ... ok
[INFO] [stdout] test test_parse_ls_only_errors ... ok
[INFO] [stdout] test test_parse_ls_no_hidden_files ... ok
[INFO] [stdout] test test_parse_ls_node_modules_detected ... ok
[INFO] [stdout] test test_parse_ls_permission_denied ... ok
[INFO] [stdout] test test_parse_ls_permission_denied_json ... ok
[INFO] [stdout] test test_parse_ls_only_hidden_files ... ok
[INFO] [stdout] test test_parse_ls_raw_format ... ok
[INFO] [stdout] test test_parse_ls_pycache_detected ... ok
[INFO] [stdout] test test_parse_ls_target_detected ... ok
[INFO] [stdout] test test_parse_ls_symlink_with_target ... ok
[INFO] [stdout] test test_parse_ls_valid_symlink_not_marked_broken ... ok
[INFO] [stdout] test test_parse_ls_vendor_detected ... ok
[INFO] [stdout] test test_parse_ls_simple_files ... ok
[INFO] [stdout] test test_parse_ls_symlink_no_target ... ok
[INFO] [stdout] test test_parse_ls_with_binary_filenames ... ok
[INFO] [stdout] test test_parse_ls_venv_detected ... ok
[INFO] [stdout] test test_parse_ls_with_directories ... ok
[INFO] [stdout] test test_parse_ls_with_hidden_files ... ok
[INFO] [stdout] test test_parse_ls_with_file_from_stdin ... ok
[INFO] [stdout] test test_parse_npm_test_compact_failure_summary ... ok
[INFO] [stdout] test test_parse_npm_test_compact_success_summary ... ok
[INFO] [stdout] test test_parse_npm_test_failed_tests_empty_when_all_pass ... ok
[INFO] [stdout] test test_parse_npm_test_duration_extraction ... ok
[INFO] [stdout] test test_parse_npm_test_failed_tests_identifiers ... ok
[INFO] [stdout] test test_parse_npm_test_duration_in_seconds ... ok
[INFO] [stdout] test test_parse_ls_mixed_broken_and_valid_symlinks ... ok
[INFO] [stdout] test test_parse_ls_with_symlinks ... ok
[INFO] [stdout] test test_parse_npm_test_failing_compact_output ... ok
[INFO] [stdout] test test_parse_npm_test_json_output ... ok
[INFO] [stdout] test test_parse_npm_test_raw_format ... ok
[INFO] [stdout] test test_parse_ls_symlink_target_json ... ok
[INFO] [stdout] test test_parse_pnpm_test_compact_failure_summary ... ok
[INFO] [stdout] test test_parse_npm_test_with_skipped ... ok
[INFO] [stdout] test test_parse_pnpm_test_duration_extraction ... ok
[INFO] [stdout] test test_parse_ls_mixed_hidden_and_visible ... ok
[INFO] [stdout] test test_parse_pnpm_test_failing_compact_output ... ok
[INFO] [stdout] test test_parse_pnpm_test_failed_tests_identifiers ... ok
[INFO] [stdout] test test_parse_pnpm_test_failing_json ... ok
[INFO] [stdout] test test_parse_pnpm_test_failed_tests_empty_when_all_pass ... ok
[INFO] [stdout] test test_parse_pytest_compact_success_summary ... ok
[INFO] [stdout] test test_parse_npm_test_failing_json ... ok
[INFO] [stdout] test test_parse_pytest_compact_failure_summary ... ok
[INFO] [stdout] test test_parse_pnpm_test_compact_success_summary ... ok
[INFO] [stdout] test test_parse_pytest_duration_extraction ... ok
[INFO] [stdout] test test_parse_pytest_duration_in_milliseconds ... ok
[INFO] [stdout] test test_parse_pytest_compact_success_with_skipped ... ok
[INFO] [stdout] test test_parse_pytest_failure_with_error_message ... ok
[INFO] [stdout] test test_parse_pytest_failed_tests_empty_when_all_pass ... ok
[INFO] [stdout] test test_parse_test ... ok
[INFO] [stdout] test test_parse_pytest_raw_format ... ok
[INFO] [stdout] test test_parse_pytest_multiple_failures_with_error_messages ... ok
[INFO] [stdout] test test_parse_pnpm_test_with_skipped ... ok
[INFO] [stdout] test test_parse_test_help ... ok
[INFO] [stdout] test test_parse_test_empty ... ok
[INFO] [stdout] test test_parse_test_json_output ... ok
[INFO] [stdout] test test_parse_test_jest_compact_output ... ok
[INFO] [stdout] test test_parse_test_vitest_compact_output ... ok
[INFO] [stdout] test test_parse_test_vitest_json_output ... ok
[INFO] [stdout] test test_parse_test_vitest_with_tree_output ... ok
[INFO] [stdout] test test_parse_vitest_compact_failure_summary ... ok
[INFO] [stdout] test test_parse_test_malformed_pytest ... ok
[INFO] [stdout] test test_parse_vitest_compact_success_summary ... ok
[INFO] [stdout] test test_parse_pnpm_test_json_output ... ok
[INFO] [stdout] test test_parse_vitest_duration_extraction ... ok
[INFO] [stdout] test test_parse_pnpm_test_duration_in_seconds ... ok
[INFO] [stdout] test test_parse_pytest_failed_tests_identifiers ... ok
[INFO] [stdout] test test_parse_test_jest_json_output ... ok
[INFO] [stdout] test test_parse_vitest_duration_in_ms ... ok
[INFO] [stdout] test test_parse_vitest_failed_tests_empty_when_all_pass ... ok
[INFO] [stdout] test test_parse_test_vitest_failed_output ... ok
[INFO] [stdout] test test_parse_vitest_failed_tests_identifiers ... ok
[INFO] [stdout] test test_parse_vitest_raw_format ... ok
[INFO] [stdout] test test_parse_test_malformed_jest ... ok
[INFO] [stdout] test test_raw_format_lower_precedence_than_compact ... ok
[INFO] [stdout] test test_replace_affected_file_count ... ok
[INFO] [stdout] test test_raw_format_lower_precedence_than_json ... ok
[INFO] [stdout] test test_replace_count_flag ... ok
[INFO] [stdout] test test_raw_format_precedence_over_default ... ok
[INFO] [stdout] test test_replace_help ... ok
[INFO] [stdout] test test_replace_extension_filter_md ... ok
[INFO] [stdout] test test_replace_count_flag_json_output ... ok
[INFO] [stdout] test test_replace_basic ... ok
[INFO] [stdout] test test_replace_count_flag_no_matches ... ok
[INFO] [stdout] test test_replace_extension_filter_json_output ... ok
[INFO] [stdout] test test_router_clean_command ... ok
[INFO] [stdout] test test_replace_extension_filter_rs ... ok
[INFO] [stdout] test test_router_parse_git_status_command ... ok
[INFO] [stdout] test test_replace_preview_flag ... ok
[INFO] [stdout] test test_replace_json_output_format ... ok
[INFO] [stdout] test test_router_parse_test_command ... ok
[INFO] [stdout] test test_replace_dry_run ... ok
[INFO] [stdout] test test_replace_stats_shows_output_bytes ... ok
[INFO] [stdout] test test_router_run_command_with_stats ... ok
[INFO] [stdout] test test_router_txt2md_command ... ok
[INFO] [stdout] test test_replace_preview_json_output ... ok
[INFO] [stdout] test test_run_cat_command ... ok
[INFO] [stdout] test test_run_bash_command ... ok
[INFO] [stdout] test test_run_command_basic ... ok
[INFO] [stdout] test test_router_tail_command ... ok
[INFO] [stdout] test test_run_command_capture_duration_true ... ok
[INFO] [stdout] test test_router_html2md_command ... ok
[INFO] [stdout] test test_run_command_capture_stderr_default ... ok
[INFO] [stdout] test test_router_run_command ... ok
[INFO] [stdout] test test_run_command_capture_exit_code_default ... ok
[INFO] [stdout] test test_run_command_capture_stdout_default ... ok
[INFO] [stdout] test test_run_command_json_output ... ok
[INFO] [stdout] test test_run_command_capture_duration_default ... ok
[INFO] [stdout] test test_run_command_failure ... ok
[INFO] [stdout] test test_run_command_capture_exit_code_non_zero ... ok
[INFO] [stdout] test test_run_command_no_capture_exit_code ... ok
[INFO] [stdout] test test_run_command_no_capture_exit_code_non_zero ... ok
[INFO] [stdout] test test_run_command_no_capture_stderr ... ok
[INFO] [stdout] test test_run_command_no_capture_stdout ... ok
[INFO] [stdout] test test_run_command_raw_format ... ok
[INFO] [stdout] test test_run_command_with_args ... ok
[INFO] [stdout] test test_run_command_with_multiple_args ... ok
[INFO] [stdout] test test_run_command_not_found ... ok
[INFO] [stdout] test test_run_command_raw_format_with_stderr ... ok
[INFO] [stdout] test test_run_command_with_nonexistent_path ... ok
[INFO] [stdout] test test_run_date_command ... ok
[INFO] [stdout] test test_run_command_no_capture_both ... ok
[INFO] [stdout] test test_run_empty_args ... ok
[INFO] [stdout] test test_run_command_with_stderr ... ok
[INFO] [stdout] test test_run_help ... ok
[INFO] [stdout] test test_run_json_output_has_args ... ok
[INFO] [stdout] test test_run_exit_code_propagation ... ok
[INFO] [stdout] test test_run_command_no_capture_duration ... ok
[INFO] [stdout] test test_run_json_output_has_exit_code ... ok
[INFO] [stdout] test test_run_json_output_has_duration ... ok
[INFO] [stdout] test test_run_command_with_stdout_and_stderr ... ok
[INFO] [stdout] test test_run_json_output_has_command ... ok
[INFO] [stdout] test test_run_env_command ... ok
[INFO] [stdout] test test_run_json_output_has_stdout ... ok
[INFO] [stdout] test test_run_permission_denied ... ok
[INFO] [stdout] test test_router_replace_command ... ok
[INFO] [stdout] test test_run_json_output_timed_out ... ok
[INFO] [stdout] test test_run_ls_command ... ok
[INFO] [stdout] test test_run_json_parsable ... ok
[INFO] [stdout] test test_run_json_output_has_stderr ... ok
[INFO] [stdout] test test_run_shell_command ... ok
[INFO] [stdout] test test_run_stats_shows_output_mode_compact ... ok
[INFO] [stdout] test test_run_pwd_command ... ok
[INFO] [stdout] test test_run_stats_shows_command ... ok
[INFO] [stdout] test test_run_stats_shows_duration ... ok
[INFO] [stdout] test test_run_stats_shows_output_mode ... ok
[INFO] [stdout] test test_run_stats_shows_stdout_bytes ... ok
[INFO] [stdout] test test_run_stats_shows_output_mode_raw ... ok
[INFO] [stdout] test test_run_stats_shows_output_mode_json ... ok
[INFO] [stdout] test test_run_stats_shows_stderr_bytes ... ok
[INFO] [stdout] test test_run_whoami_command ... ok
[INFO] [stdout] test test_run_stats_shows_exit_code ... ok
[INFO] [stdout] test test_search_counts_match_groups ... ok
[INFO] [stdout] test test_run_uname_command ... ok
[INFO] [stdout] test test_search_extension_filter_md ... FAILED
[INFO] [stdout] test test_search_csv_output ... ok
[INFO] [stdout] test test_run_true_command ... ok
[INFO] [stdout] test test_search_groups_matches_by_file_compact ... ok
[INFO] [stdout] test test_router_search_command ... ok
[INFO] [stdout] test test_search_csv_maintains_file_column ... ok
[INFO] [stdout] test test_search_groups_preserve_line_numbers ... ok
[INFO] [stdout] test test_search_groups_case_insensitive ... ok
[INFO] [stdout] test test_search_groups_multiple_files_correctly ... ok
[INFO] [stdout] test test_search_extension_filter_json_output ... ok
[INFO] [stdout] test test_search_help ... ok
[INFO] [stdout] test test_search_groups_single_file_multiple_matches ... ok
[INFO] [stdout] test test_search_includes_excerpts_compact ... ok
[INFO] [stdout] test test_search_json_output ... ok
[INFO] [stdout] test test_search_no_matches ... ok
[INFO] [stdout] test test_search_groups_with_truncation ... ok
[INFO] [stdout] test test_search_nonexistent_directory ... ok
[INFO] [stdout] test test_search_basic ... ok
[INFO] [stdout] test test_search_includes_excerpts_json ... ok
[INFO] [stdout] test test_search_shows_total_files_and_match_count ... ok
[INFO] [stdout] test test_search_json_output_format ... ok
[INFO] [stdout] test test_search_raw_output ... ok
[INFO] [stdout] test test_search_total_no_matches ... ok
[INFO] [stdout] test test_replace_stats_shows_input_bytes ... ok
[INFO] [stdout] test test_search_shows_total_with_truncation ... ok
[INFO] [stdout] test test_search_with_limit ... ok
[INFO] [stdout] test test_search_stats_shows_output_bytes ... ok
[INFO] [stdout] test test_stats_shows_token_estimation ... ok
[INFO] [stdout] test test_search_stats_shows_input_bytes ... ok
[INFO] [stdout] test test_stdin_agent_format_with_malformed ... ok
[INFO] [stdout] test test_search_with_context ... ok
[INFO] [stdout] test test_search_extension_filter_rs ... ok
[INFO] [stdout] test test_stdin_basic_input ... ok
[INFO] [stdout] test test_stdin_empty_input ... ok
[INFO] [stdout] test test_stdin_collapses_blank_lines ... ok
[INFO] [stdout] test test_stdin_carriage_returns ... ok
[INFO] [stdout] test test_search_groups_matches_by_file_json ... ok
[INFO] [stdout] test test_stdin_extremely_long_line ... ok
[INFO] [stdout] test test_stdin_handles_control_characters ... ok
[INFO] [stdout] test test_stdin_handles_ansi_and_control_chars ... ok
[INFO] [stdout] test test_stdin_json_format_with_null_bytes ... ok
[INFO] [stdout] test test_stdin_json_format_with_mixed_content ... ok
[INFO] [stdout] test test_stdin_only_control_characters ... ok
[INFO] [stdout] test test_stdin_csv_format_with_special_chars ... ok
[INFO] [stdout] test test_stdin_only_whitespace ... ok
[INFO] [stdout] test test_stdin_handles_null_bytes ... ok
[INFO] [stdout] test test_stdin_strips_ansi_codes ... ok
[INFO] [stdout] test test_stdin_tsv_format_with_tabs ... ok
[INFO] [stdout] test test_stdin_unicode_edge_cases ... ok
[INFO] [stdout] test test_stdin_preserves_newlines_and_tabs ... ok
[INFO] [stdout] test test_stdin_mixed_binary_and_text ... ok
[INFO] [stdout] test test_search_tsv_output ... ok
[INFO] [stdout] test test_stdin_repeated_null_bytes ... ok
[INFO] [stdout] test test_stdin_with_csv_format ... ok
[INFO] [stdout] test test_stdin_very_large_input ... ok
[INFO] [stdout] test test_stdin_with_agent_format ... ok
[INFO] [stdout] test test_stdin_with_raw_format ... ok
[INFO] [stdout] test test_stdin_with_trailing_whitespace ... ok
[INFO] [stdout] test test_tail_compact_is_default ... ok
[INFO] [stdout] test test_tail_compact_empty_file ... ok
[INFO] [stdout] test test_tail_basic ... ok
[INFO] [stdout] test test_tail_compact_error_markers ... ok
[INFO] [stdout] test test_tail_agent_output ... ok
[INFO] [stdout] test test_tail_compact_output ... ok
[INFO] [stdout] test test_tail_compact_with_errors_flag ... ok
[INFO] [stdout] test test_search_tsv_maintains_file_column ... ok
[INFO] [stdout] test test_tail_csv_output ... ok
[INFO] [stdout] test test_tail_compact_no_error_lines_found ... ok
[INFO] [stdout] test test_tail_compact_with_line_numbers ... ok
[INFO] [stdout] test test_tail_compact_with_custom_line_count ... ok
[INFO] [stdout] test test_tail_file_not_found ... ok
[INFO] [stdout] test test_tail_follow_flag_in_help ... ok
[INFO] [stdout] test test_stdin_with_json_format ... ok
[INFO] [stdout] test test_search_with_options ... ok
[INFO] [stdout] test test_tail_follow_compact_output ... ok
[INFO] [stdout] test test_tail_follow_agent_output ... ok
[INFO] [stdout] test test_tail_follow_csv_output ... ok
[INFO] [stdout] test test_tail_follow_empty_file ... ok
[INFO] [stdout] test test_tail_follow_flag_accepted ... ok
[INFO] [stdout] test test_tail_follow_json_output ... ok
[INFO] [stdout] test test_tail_raw_output ... ok
[INFO] [stdout] test test_tail_json_output ... ok
[INFO] [stdout] test test_tail_shorthand_minus_3 ... ok
[INFO] [stdout] test test_tail_shorthand_minus_1 ... ok
[INFO] [stdout] test test_tail_shorthand_equivalence ... ok
[INFO] [stdout] test test_tail_help ... ok
[INFO] [stdout] test test_tail_follow_shorthand_f ... ok
[INFO] [stdout] test test_tail_shorthand_minus_5 ... ok
[INFO] [stdout] test test_tail_shorthand_with_errors_flag ... ok
[INFO] [stdout] test test_tail_stats_shows_output_bytes ... ok
[INFO] [stdout] test test_tail_syntax_simple ... ok
[INFO] [stdout] test test_tail_shorthand_with_global_flags ... ok
[INFO] [stdout] test test_tail_stats_shows_input_bytes ... ok
[INFO] [stdout] test test_tail_with_errors_flag ... ok
[INFO] [stdout] test test_tail_tsv_output ... ok
[INFO] [stdout] test test_tail_with_lines ... ok
[INFO] [stdout] test test_trim_agent_output ... ok
[INFO] [stdout] test test_tail_syntax_with_global_flags ... ok
[INFO] [stdout] test test_tail_syntax_with_flags ... ok
[INFO] [stdout] test test_trim_default_mode ... ok
[INFO] [stdout] test test_trim_basic ... ok
[INFO] [stdout] test test_trim_empty_input ... ok
[INFO] [stdout] test test_trim_csv_output ... ok
[INFO] [stdout] test test_trim_both_flags ... ok
[INFO] [stdout] test test_trim_json_output ... ok
[INFO] [stdout] test test_trim_file_input ... ok
[INFO] [stdout] test test_trim_file_not_found ... ok
[INFO] [stdout] test test_trim_json_with_leading_flag ... ok
[INFO] [stdout] test test_trim_help ... ok
[INFO] [stdout] test test_trim_leading_only ... ok
[INFO] [stdout] test test_trim_json_with_trailing_flag ... ok
[INFO] [stdout] test test_trim_mixed_whitespace ... ok
[INFO] [stdout] test test_trim_preserves_empty_lines ... ok
[INFO] [stdout] test test_trim_no_reduction ... ok
[INFO] [stdout] test test_trim_raw_output ... ok
[INFO] [stdout] test test_trim_stats_shows_input_bytes ... ok
[INFO] [stdout] test test_trim_trailing_only ... ok
[INFO] [stdout] test test_trim_tsv_output ... ok
[INFO] [stdout] test test_trim_stats_shows_output_bytes ... ok
[INFO] [stdout] test test_trim_whitespace_only ... ok
[INFO] [stdout] test test_tail_traditional_syntax_still_works ... ok
[INFO] [stdout] test test_txt2md_basic ... ok
[INFO] [stdout] test test_txt2md_blockquote ... ok
[INFO] [stdout] test test_txt2md_chapter_heading ... ok
[INFO] [stdout] test test_txt2md_code_block ... ok
[INFO] [stdout] test test_txt2md_colon_label ... ok
[INFO] [stdout] test test_txt2md_file_output ... ok
[INFO] [stdout] test test_txt2md_asterisk_list ... ok
[INFO] [stdout] test test_txt2md_help ... ok
[INFO] [stdout] test test_txt2md_file_input ... ok
[INFO] [stdout] test test_txt2md_extended_section_words ... ok
[INFO] [stdout] test test_txt2md_json_output ... ok
[INFO] [stdout] test test_txt2md_multiline_list_item ... ok
[INFO] [stdout] test test_txt2md_mixed_nested_list ... ok
[INFO] [stdout] test test_tail_follow_shows_initial_output ... ok
[INFO] [stdout] test test_txt2md_numbered_section_heading ... ok
[INFO] [stdout] test test_txt2md_nested_ordered_list ... ok
[INFO] [stdout] test test_txt2md_common_section_words ... ok
[INFO] [stdout] test test_txt2md_ordered_list ... ok
[INFO] [stdout] test test_txt2md_section_heading ... ok
[INFO] [stdout] test test_txt2md_ordered_list_preserves_numbers ... ok
[INFO] [stdout] test test_txt2md_stdin_empty ... ok
[INFO] [stdout] test test_txt2md_stats_shows_output_bytes ... ok
[INFO] [stdout] test test_txt2md_raw_output ... ok
[INFO] [stdout] test test_txt2md_stdin_with_output_flag ... ok
[INFO] [stdout] test test_txt2md_stats_shows_input_bytes ... ok
[INFO] [stdout] test test_version ... ok
[INFO] [stdout] test test_txt2md_unordered_list ... ok
[INFO] [stdout] test test_txt2md_stdin_input ... ok
[INFO] [stdout] test test_txt2md_single_word_section_heading ... ok
[INFO] [stdout] test test_txt2md_title_case_heading ... ok
[INFO] [stdout] test test_txt2md_nested_unordered_list ... ok
[INFO] [stdout] test test_tail_follow_with_custom_line_count ... ok
[INFO] [stdout] test test_tail_follow_with_errors_filter ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_html2md_url_with_json_output stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_html2md_url_with_json_output' (1533) panicked at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=```"{\"error\":true,\"exit_code\":null,\"message\":\"I/O error: Failed to fetch URL \'https://httpbin.org/html\': io: failed to lookup address information: Temporary failure in name resolution\"}\n"```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/trs" "--json" "html2md" "https://httpbin.org/html"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=""
[INFO] [stdout] stderr="{\"error\":true,\"exit_code\":null,\"message\":\"I/O error: Failed to fetch URL \'https://httpbin.org/html\': io: failed to lookup address information: Temporary failure in name resolution\"}\n"
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5862f5111b8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5862f5111b8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5862f5111b8a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5862f5111b8a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5862f512847a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5862f512847a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x5862f5117912 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5862f5117912 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5862f50ee9df - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5862f50ee9df - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5862f51093b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5862f504d3bc - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5862f504d3bc - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5862f5109572 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5862f5109572 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5862f50eea98 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5862f50e6209 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5862f50ef7ad - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5862f5128c8c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5862f5097db8 - core[35159d6ffb30e017]::panicking::panic_display::<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x5862f50960a7 - <assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic::<assert_cmd[61c36e1e6f4d69b]::assert::Assert>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.0/src/assert.rs:1036:9
[INFO] [stdout]   21:     0x5862f509b8e7 - <<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic<assert_cmd[61c36e1e6f4d69b]::assert::Assert> as core[35159d6ffb30e017]::ops::function::FnOnce<(assert_cmd[61c36e1e6f4d69b]::assert::AssertError,)>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5862f5080384 - <core[35159d6ffb30e017]::result::Result<assert_cmd[61c36e1e6f4d69b]::assert::Assert, assert_cmd[61c36e1e6f4d69b]::assert::AssertError>>::unwrap_or_else::<<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic<assert_cmd[61c36e1e6f4d69b]::assert::Assert>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5862f50993f0 - <assert_cmd[61c36e1e6f4d69b]::assert::Assert>::success
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.0/src/assert.rs:161:28
[INFO] [stdout]   24:     0x5862f4f853fc - cli[e54df5e54d98d80a]::test_html2md_url_with_json_output
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli.rs:2688:10
[INFO] [stdout]   25:     0x5862f4f314d7 - cli[e54df5e54d98d80a]::test_html2md_url_with_json_output::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli.rs:2680:39
[INFO] [stdout]   26:     0x5862f5010f46 - <cli[e54df5e54d98d80a]::test_html2md_url_with_json_output::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5862f504069b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5862f504069b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   29:     0x5862f504de8b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   30:     0x5862f504de8b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   31:     0x5862f504de8b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5862f504de8b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5862f504de8b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5862f504de8b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   35:     0x5862f504de8b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   36:     0x5862f5048864 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   37:     0x5862f5048864 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   38:     0x5862f5050a92 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   39:     0x5862f5050a92 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   40:     0x5862f5050a92 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   41:     0x5862f5050a92 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   42:     0x5862f5050a92 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5862f5050a92 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   44:     0x5862f5050a92 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5862f5110eff - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   46:     0x5862f5110eff - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   47:     0x71b1ca5a7aa4 - <unknown>
[INFO] [stdout]   48:     0x71b1ca634a64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_html2md_url_input stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_html2md_url_input' (1521) panicked at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=```"Error: I/O error: Failed to fetch URL \'https://httpbin.org/html\': io: failed to lookup address information: Temporary failure in name resolution\n"```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/trs" "html2md" "https://httpbin.org/html"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=""
[INFO] [stdout] stderr="Error: I/O error: Failed to fetch URL \'https://httpbin.org/html\': io: failed to lookup address information: Temporary failure in name resolution\n"
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5862f5111b8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5862f5111b8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5862f5111b8a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5862f5111b8a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5862f512847a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5862f512847a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x5862f5117912 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5862f5117912 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5862f50ee9df - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5862f50ee9df - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5862f51093b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5862f504d3bc - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5862f504d3bc - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5862f5109572 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5862f5109572 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5862f50eea98 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5862f50e6209 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5862f50ef7ad - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5862f5128c8c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5862f5097db8 - core[35159d6ffb30e017]::panicking::panic_display::<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x5862f50960a7 - <assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic::<assert_cmd[61c36e1e6f4d69b]::assert::Assert>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.0/src/assert.rs:1036:9
[INFO] [stdout]   21:     0x5862f509b8e7 - <<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic<assert_cmd[61c36e1e6f4d69b]::assert::Assert> as core[35159d6ffb30e017]::ops::function::FnOnce<(assert_cmd[61c36e1e6f4d69b]::assert::AssertError,)>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5862f5080384 - <core[35159d6ffb30e017]::result::Result<assert_cmd[61c36e1e6f4d69b]::assert::Assert, assert_cmd[61c36e1e6f4d69b]::assert::AssertError>>::unwrap_or_else::<<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic<assert_cmd[61c36e1e6f4d69b]::assert::Assert>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5862f50993f0 - <assert_cmd[61c36e1e6f4d69b]::assert::Assert>::success
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.0/src/assert.rs:161:28
[INFO] [stdout]   24:     0x5862f4f45ae8 - cli[e54df5e54d98d80a]::test_html2md_url_input
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli.rs:2661:10
[INFO] [stdout]   25:     0x5862f4f2e747 - cli[e54df5e54d98d80a]::test_html2md_url_input::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli.rs:2655:28
[INFO] [stdout]   26:     0x5862f500d286 - <cli[e54df5e54d98d80a]::test_html2md_url_input::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5862f504069b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5862f504069b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   29:     0x5862f504de8b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   30:     0x5862f504de8b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   31:     0x5862f504de8b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5862f504de8b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5862f504de8b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5862f504de8b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   35:     0x5862f504de8b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   36:     0x5862f5048864 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   37:     0x5862f5048864 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   38:     0x5862f5050a92 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   39:     0x5862f5050a92 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   40:     0x5862f5050a92 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   41:     0x5862f5050a92 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   42:     0x5862f5050a92 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5862f5050a92 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   44:     0x5862f5050a92 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5862f5110eff - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   46:     0x5862f5110eff - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   47:     0x71b1ca5a7aa4 - <unknown>
[INFO] [stdout]   48:     0x71b1ca634a64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_html2md_url_with_metadata stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_html2md_url_with_metadata' (1537) panicked at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=```"Error: I/O error: Failed to fetch URL \'https://httpbin.org/html\': io: failed to lookup address information: Temporary failure in name resolution\n"```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/trs" "html2md" "https://httpbin.org/html" "--metadata"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=""
[INFO] [stdout] stderr="Error: I/O error: Failed to fetch URL \'https://httpbin.org/html\': io: failed to lookup address information: Temporary failure in name resolution\n"
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5862f5111b8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5862f5111b8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5862f5111b8a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5862f5111b8a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5862f512847a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5862f512847a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x5862f5117912 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5862f5117912 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5862f50ee9df - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5862f50ee9df - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5862f51093b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5862f504d3bc - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5862f504d3bc - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5862f5109572 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5862f5109572 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5862f50eea98 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5862f50e6209 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5862f50ef7ad - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5862f5128c8c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5862f5097db8 - core[35159d6ffb30e017]::panicking::panic_display::<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x5862f50960a7 - <assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic::<assert_cmd[61c36e1e6f4d69b]::assert::Assert>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.0/src/assert.rs:1036:9
[INFO] [stdout]   21:     0x5862f509b8e7 - <<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic<assert_cmd[61c36e1e6f4d69b]::assert::Assert> as core[35159d6ffb30e017]::ops::function::FnOnce<(assert_cmd[61c36e1e6f4d69b]::assert::AssertError,)>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5862f5080384 - <core[35159d6ffb30e017]::result::Result<assert_cmd[61c36e1e6f4d69b]::assert::Assert, assert_cmd[61c36e1e6f4d69b]::assert::AssertError>>::unwrap_or_else::<<assert_cmd[61c36e1e6f4d69b]::assert::AssertError>::panic<assert_cmd[61c36e1e6f4d69b]::assert::Assert>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5862f50993f0 - <assert_cmd[61c36e1e6f4d69b]::assert::Assert>::success
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.0/src/assert.rs:161:28
[INFO] [stdout]   24:     0x5862f4f6e357 - cli[e54df5e54d98d80a]::test_html2md_url_with_metadata
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli.rs:2674:10
[INFO] [stdout]   25:     0x5862f4f30547 - cli[e54df5e54d98d80a]::test_html2md_url_with_metadata::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli.rs:2667:36
[INFO] [stdout]   26:     0x5862f500fa86 - <cli[e54df5e54d98d80a]::test_html2md_url_with_metadata::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5862f504069b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5862f504069b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   29:     0x5862f504de8b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   30:     0x5862f504de8b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   31:     0x5862f504de8b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   32:     0x5862f504de8b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5862f504de8b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5862f504de8b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   35:     0x5862f504de8b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   36:     0x5862f5048864 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   37:     0x5862f5048864 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   38:     0x5862f5050a92 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   39:     0x5862f5050a92 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   40:     0x5862f5050a92 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   41:     0x5862f5050a92 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   42:     0x5862f5050a92 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5862f5050a92 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   44:     0x5862f5050a92 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5862f5110eff - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   46:     0x5862f5110eff - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   47:     0x71b1ca5a7aa4 - <unknown>
[INFO] [stdout]   48:     0x71b1ca634a64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_search_extension_filter_md stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_search_extension_filter_md' (2923) panicked at tests/cli.rs:790:5:
[INFO] [stdout] assertion failed: output_str.contains(".md")
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5862f5111b8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5862f5111b8a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5862f5111b8a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5862f5111b8a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5862f512847a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5862f512847a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x5862f5117912 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5862f5117912 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5862f50ee9df - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5862f50ee9df - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5862f51093b9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5862f504d3bc - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5862f504d3bc - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5862f5109572 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5862f5109572 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5862f50eeaca - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5862f50e6209 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5862f50ef7ad - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5862f5128c8c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5862f5128c52 - core[35159d6ffb30e017]::panicking::panic
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5862f4f77d51 - cli[e54df5e54d98d80a]::test_search_extension_filter_md
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli.rs:790:5
[INFO] [stdout]   21:     0x5862f4f30c37 - cli[e54df5e54d98d80a]::test_search_extension_filter_md::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli.rs:772:37
[INFO] [stdout]   22:     0x5862f50103c6 - <cli[e54df5e54d98d80a]::test_search_extension_filter_md::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5862f504069b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5862f504069b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5862f504de8b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5862f504de8b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5862f504de8b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5862f504de8b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5862f504de8b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5862f504de8b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5862f504de8b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5862f5048864 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5862f5048864 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5862f5050a92 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5862f5050a92 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5862f5050a92 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5862f5050a92 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5862f5050a92 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5862f5050a92 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5862f5050a92 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5862f5110eff - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   42:     0x5862f5110eff - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x71b1ca5a7aa4 - <unknown>
[INFO] [stdout]   44:     0x71b1ca634a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_html2md_url_input
[INFO] [stdout]     test_html2md_url_with_json_output
[INFO] [stdout]     test_html2md_url_with_metadata
[INFO] [stdout]     test_search_extension_filter_md
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 681 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.73s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test cli`
[INFO] running `Command { std: "docker" "inspect" "f3dee508676c03742db87492dd58599386916a0c978db77aad5ba1b1c3971df0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3dee508676c03742db87492dd58599386916a0c978db77aad5ba1b1c3971df0", kill_on_drop: false }`
[INFO] [stdout] f3dee508676c03742db87492dd58599386916a0c978db77aad5ba1b1c3971df0
