[INFO] cloning repository https://github.com/verdenmax/proteinCopilot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/verdenmax/proteinCopilot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fverdenmax%2FproteinCopilot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fverdenmax%2FproteinCopilot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4bb9848df3602adb5d1f9e66db4f1c737f397d4f
[INFO] testing verdenmax/proteinCopilot against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fverdenmax%2FproteinCopilot" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/verdenmax/proteinCopilot
[INFO] finished tweaking git repo https://github.com/verdenmax/proteinCopilot
[INFO] tweaked toml for git repo https://github.com/verdenmax/proteinCopilot written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/verdenmax/proteinCopilot on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/verdenmax/proteinCopilot already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/lazear/sage.git`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rmcp-macros v1.3.0
[INFO] [stderr]   Downloaded integer-encoding v3.0.4
[INFO] [stderr]   Downloaded thrift v0.17.0
[INFO] [stderr]   Downloaded libredox v0.1.15
[INFO] [stderr]   Downloaded lexical-core v1.0.6
[INFO] [stderr]   Downloaded flatbuffers v24.12.23
[INFO] [stderr]   Downloaded csv-core v0.1.13
[INFO] [stderr]   Downloaded snap v1.1.1
[INFO] [stderr]   Downloaded arrow-row v54.3.1
[INFO] [stderr]   Downloaded lz4_flex v0.11.6
[INFO] [stderr]   Downloaded lexical-parse-integer v1.0.6
[INFO] [stderr]   Downloaded twox-hash v2.1.2
[INFO] [stderr]   Downloaded arrow-arith v54.3.1
[INFO] [stderr]   Downloaded lexical-write-integer v1.0.6
[INFO] [stderr]   Downloaded arrow-string v54.3.1
[INFO] [stderr]   Downloaded arrow-ord v54.3.1
[INFO] [stderr]   Downloaded arrow-data v54.3.1
[INFO] [stderr]   Downloaded arrow-schema v54.3.1
[INFO] [stderr]   Downloaded arrow-buffer v54.3.1
[INFO] [stderr]   Downloaded arrow-select v54.3.1
[INFO] [stderr]   Downloaded arrow v54.3.1
[INFO] [stderr]   Downloaded rustls-webpki v0.103.12
[INFO] [stderr]   Downloaded arrow-cast v54.3.1
[INFO] [stderr]   Downloaded lexical-write-float v1.0.6
[INFO] [stderr]   Downloaded arrow-ipc v54.3.1
[INFO] [stderr]   Downloaded lexical-util v1.0.7
[INFO] [stderr]   Downloaded quick-xml v0.37.0
[INFO] [stderr]   Downloaded lexical-parse-float v1.0.6
[INFO] [stderr]   Downloaded rmcp v1.3.0
[INFO] [stderr]   Downloaded arrow-array v54.3.1
[INFO] [stderr]   Downloaded parquet v54.3.1
[INFO] [stderr]   Downloaded csv v1.4.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019
[INFO] running `Command { std: "docker" "start" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling arrow-schema v54.3.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling lexical-util v1.0.7
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling lexical-write-integer v1.0.6
[INFO] [stderr]    Compiling lexical-parse-integer v1.0.6
[INFO] [stderr]    Compiling lexical-parse-float v1.0.6
[INFO] [stderr]    Compiling lexical-write-float v1.0.6
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling flate2 v1.0.35
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling flatbuffers v24.12.23
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling quick-xml v0.37.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling uuid v1.11.0
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling comfy-table v7.2.2
[INFO] [stderr]    Compiling sage-core v0.15.0-beta.2 (https://github.com/lazear/sage.git?rev=cd712d4b88d6c4fe3b317d47ce39e2c83cae7642#cd712d4b)
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling arrow-buffer v54.3.1
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling protein-copilot-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling arrow-data v54.3.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling lexical-core v1.0.6
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling ordered-float v2.10.1
[INFO] [stderr]    Compiling integer-encoding v3.0.4
[INFO] [stderr]    Compiling arrow-array v54.3.1
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling twox-hash v2.1.2
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling lz4_flex v0.11.6
[INFO] [stderr]    Compiling thrift v0.17.0
[INFO] [stderr]    Compiling protein-copilot-fdr v0.1.0 (/opt/rustwide/workdir/crates/fdr)
[INFO] [stderr]    Compiling protein-copilot-spectrum-io v0.1.0 (/opt/rustwide/workdir/crates/spectrum-io)
[INFO] [stderr]    Compiling rustls-webpki v0.103.12
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling protein-copilot-search-engine v0.1.0 (/opt/rustwide/workdir/crates/search-engine)
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling arrow-select v54.3.1
[INFO] [stderr]    Compiling arrow-arith v54.3.1
[INFO] [stderr]    Compiling arrow-ipc v54.3.1
[INFO] [stderr]    Compiling arrow-row v54.3.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling arrow-cast v54.3.1
[INFO] [stderr]    Compiling arrow-string v54.3.1
[INFO] [stderr]    Compiling arrow-ord v54.3.1
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling parquet v54.3.1
[INFO] [stderr]    Compiling arrow v54.3.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling protein-copilot-xic v0.1.0 (/opt/rustwide/workdir/crates/xic)
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling protein-copilot-entrapment-analysis v0.1.0 (/opt/rustwide/workdir/crates/entrapment-analysis)
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling rmcp v1.3.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling rmcp-macros v1.3.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling protein-copilot-report v0.1.0 (/opt/rustwide/workdir/crates/report)
[INFO] [stderr]    Compiling protein-copilot-result-import v0.1.0 (/opt/rustwide/workdir/crates/result-import)
[INFO] [stderr]    Compiling protein-copilot-param-recommend v0.1.0 (/opt/rustwide/workdir/crates/param-recommend)
[INFO] [stderr]    Compiling pastey v0.2.1
[INFO] [stderr]    Compiling tempfile v3.14.0
[INFO] [stderr]    Compiling protein-copilot-fasta-db v0.1.0 (/opt/rustwide/workdir/crates/fasta-db)
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling protein-copilot-protein-inference v0.1.0 (/opt/rustwide/workdir/crates/protein-inference)
[INFO] [stderr]    Compiling protein-copilot-dia-extraction v0.1.0 (/opt/rustwide/workdir/crates/dia-extraction)
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling protein-copilot-integration-tests v0.1.0 (/opt/rustwide/workdir/crates/integration-tests)
[INFO] [stderr]    Compiling protein-copilot-entrapment-cli v0.1.0 (/opt/rustwide/workdir/crates/entrapment-cli)
[INFO] [stderr]    Compiling protein-copilot-mcp-server v0.1.0 (/opt/rustwide/workdir/crates/mcp-server)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 30s
[INFO] running `Command { std: "docker" "inspect" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling protein-copilot-protein-inference v0.1.0 (/opt/rustwide/workdir/crates/protein-inference)
[INFO] [stderr]    Compiling protein-copilot-fasta-db v0.1.0 (/opt/rustwide/workdir/crates/fasta-db)
[INFO] [stderr]    Compiling protein-copilot-entrapment-cli v0.1.0 (/opt/rustwide/workdir/crates/entrapment-cli)
[INFO] [stderr]    Compiling protein-copilot-mcp-server v0.1.0 (/opt/rustwide/workdir/crates/mcp-server)
[INFO] [stderr]    Compiling protein-copilot-integration-tests v0.1.0 (/opt/rustwide/workdir/crates/integration-tests)
[INFO] [stderr]    Compiling protein-copilot-entrapment-analysis v0.1.0 (/opt/rustwide/workdir/crates/entrapment-analysis)
[INFO] [stderr]    Compiling protein-copilot-search-engine v0.1.0 (/opt/rustwide/workdir/crates/search-engine)
[INFO] [stderr]    Compiling protein-copilot-param-recommend v0.1.0 (/opt/rustwide/workdir/crates/param-recommend)
[INFO] [stderr]    Compiling protein-copilot-result-import v0.1.0 (/opt/rustwide/workdir/crates/result-import)
[INFO] [stderr]    Compiling protein-copilot-report v0.1.0 (/opt/rustwide/workdir/crates/report)
[INFO] [stderr]    Compiling protein-copilot-xic v0.1.0 (/opt/rustwide/workdir/crates/xic)
[INFO] [stderr]    Compiling protein-copilot-spectrum-io v0.1.0 (/opt/rustwide/workdir/crates/spectrum-io)
[INFO] [stderr]    Compiling protein-copilot-fdr v0.1.0 (/opt/rustwide/workdir/crates/fdr)
[INFO] [stderr]    Compiling protein-copilot-dia-extraction v0.1.0 (/opt/rustwide/workdir/crates/dia-extraction)
[INFO] [stderr]    Compiling protein-copilot-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 19s
[INFO] running `Command { std: "docker" "inspect" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.68s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_core-a6f4ad8c3e3e6a8a)
[INFO] [stdout] 
[INFO] [stdout] running 191 tests
[INFO] [stdout] test ai_decision::tests::json_output_has_required_fields_string ... ok
[INFO] [stdout] test ai_decision::tests::params_decision_serde_roundtrip ... ok
[INFO] [stdout] test ai_decision::tests::validate_accepts_boundary_confidence ... ok
[INFO] [stdout] test ai_decision::tests::validate_accepts_empty_alternatives_and_evidence ... ok
[INFO] [stdout] test ai_decision::tests::validate_passes_for_valid_data ... ok
[INFO] [stdout] test ai_decision::tests::validate_rejects_confidence_above_one ... ok
[INFO] [stdout] test ai_decision::tests::string_decision_serde_roundtrip ... ok
[INFO] [stdout] test ai_decision::tests::validate_rejects_empty_explanation ... ok
[INFO] [stdout] test ai_decision::tests::validate_rejects_empty_input_summary ... ok
[INFO] [stdout] test ai_decision::tests::validate_rejects_whitespace_only_explanation ... ok
[INFO] [stdout] test ai_decision::tests::validate_rejects_nan_confidence ... ok
[INFO] [stdout] test diagnostics::tests::test_fail_stage ... ok
[INFO] [stdout] test diagnostics::tests::test_finalize_detects_low_identification_rate ... ok
[INFO] [stdout] test diagnostics::tests::test_finalize_detects_narrow_tolerance ... ok
[INFO] [stdout] test ai_decision::tests::validate_rejects_negative_confidence ... ok
[INFO] [stdout] test diagnostics::tests::test_finalize_detects_no_decoy_hits ... ok
[INFO] [stdout] test diagnostics::tests::test_finalize_no_anomalies_for_good_search ... ok
[INFO] [stdout] test ai_decision::tests::json_output_has_required_fields_search_params ... ok
[INFO] [stdout] test diagnostics::tests::test_finalize_detects_slow_search ... ok
[INFO] [stdout] test diagnostics::tests::test_multiple_stages_tracked_in_order ... ok
[INFO] [stdout] test diagnostics::tests::test_serialization_roundtrip ... ok
[INFO] [stdout] test diagnostics::tests::test_new_diagnostics_is_empty ... ok
[INFO] [stdout] test diagnostics::tests::test_set_error ... ok
[INFO] [stdout] test engine::tests::engine_info_empty_features ... ok
[INFO] [stdout] test engine::tests::engine_info_serde_roundtrip ... ok
[INFO] [stdout] test engine::tests::health_status_healthy_serde_roundtrip ... ok
[INFO] [stdout] test engine::tests::health_status_degraded_serde_roundtrip ... ok
[INFO] [stdout] test error::tests::error_report_serde_roundtrip ... ok
[INFO] [stdout] test engine::tests::health_status_unavailable_serde_roundtrip ... ok
[INFO] [stdout] test error::tests::error_report_from_core_error ... ok
[INFO] [stdout] test error::tests::from_run_metadata_error ... ok
[INFO] [stdout] test error::tests::from_ai_decision_error ... ok
[INFO] [stdout] test error::tests::file_not_found_has_default_suggestion ... ok
[INFO] [stdout] test error::tests::from_spectrum_error ... ok
[INFO] [stdout] test error::tests::from_search_params_error ... ok
[INFO] [stdout] test error::tests::from_search_result_error ... ok
[INFO] [stdout] test error::tests::invalid_search_params_display_and_suggestion ... ok
[INFO] [stdout] test error::tests::result_parse_error_display ... ok
[INFO] [stdout] test error::tests::spectrum_parse_error_display_and_suggestion ... ok
[INFO] [stdout] test error::tests::ssh_connection_error_display ... ok
[INFO] [stdout] test label::tests::test_no_kr_no_delta ... ok
[INFO] [stdout] test label::tests::test_heavy_precursor_mz ... ok
[INFO] [stdout] test error::tests::unsupported_format_lists_supported ... ok
[INFO] [stdout] test label::tests::test_residue_heavy_delta_silac ... ok
[INFO] [stdout] test progress::tests::search_progress_roundtrip_without_error_category ... ok
[INFO] [stdout] test label::tests::test_standard_silac ... ok
[INFO] [stdout] test error::tests::validation_error_display_and_suggestion ... ok
[INFO] [stdout] test run_metadata::tests::new_captures_timestamp ... ok
[INFO] [stdout] test run_metadata::tests::new_generates_unique_run_ids ... ok
[INFO] [stdout] test run_metadata::tests::new_sets_pending_status ... ok
[INFO] [stdout] test run_metadata::tests::run_metadata_serde_roundtrip ... ok
[INFO] [stdout] test run_metadata::tests::run_status_serde_roundtrip ... ok
[INFO] [stdout] test run_metadata::tests::run_metadata_with_completed_status ... ok
[INFO] [stdout] test run_metadata::tests::validate_delegates_to_params_used ... ok
[INFO] [stdout] test run_metadata::tests::run_metadata_with_failed_status ... ok
[INFO] [stdout] test run_metadata::tests::run_status_display ... ok
[INFO] [stdout] test run_metadata::tests::validate_passes_for_valid_data ... ok
[INFO] [stdout] test run_metadata::tests::validate_passes_with_valid_duration ... ok
[INFO] [stdout] test run_metadata::tests::validate_rejects_empty_engine_name ... ok
[INFO] [stdout] test run_metadata::tests::validate_rejects_empty_input_files ... ok
[INFO] [stdout] test run_metadata::tests::validate_rejects_infinity_duration ... ok
[INFO] [stdout] test run_metadata::tests::validate_rejects_nan_duration ... ok
[INFO] [stdout] test run_metadata::tests::validate_rejects_negative_duration ... ok
[INFO] [stdout] test search_params::tests::mass_tolerance_display ... ok
[INFO] [stdout] test search_params::tests::decoy_strategy_serde_roundtrip ... ok
[INFO] [stdout] test search_params::tests::enzyme_serde_roundtrip ... ok
[INFO] [stdout] test search_params::tests::modification_serde_roundtrip ... ok
[INFO] [stdout] test search_params::tests::new_fields_serde_default ... ok
[INFO] [stdout] test search_params::tests::enzyme_display ... ok
[INFO] [stdout] test search_params::tests::mass_tolerance_serde_roundtrip ... ok
[INFO] [stdout] test search_params::tests::search_params_serde_roundtrip ... ok
[INFO] [stdout] test search_params::tests::validate_allows_equal_min_max_peptide_length ... ok
[INFO] [stdout] test search_params::tests::validate_allows_max_missed_cleavages ... ok
[INFO] [stdout] test search_params::tests::validate_allows_max_variable_mods ... ok
[INFO] [stdout] test search_params::tests::validate_passes_for_valid_params ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_empty_database_path ... ok
[INFO] [stdout] test search_params::tests::mod_position_all_variants_roundtrip ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_excessive_missed_cleavages ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_excessive_variable_mods ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_infinity_precursor_tolerance ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_infinity_variable_modification_mass_delta ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_min_gt_max_peptide_length ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_nan_fixed_modification_mass_delta ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_nan_fragment_tolerance ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_nan_precursor_tolerance ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_neg_infinity_fragment_tolerance ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_negative_fragment_tolerance ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_whitespace_database_path ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_zero_peptide_length ... ok
[INFO] [stdout] test search_params::tests::validate_rejects_zero_precursor_tolerance ... ok
[INFO] [stdout] test search_result::tests::peptide_validate_passes_for_valid_data ... ok
[INFO] [stdout] test search_result::tests::peptide_result_serde_roundtrip ... ok
[INFO] [stdout] test search_result::tests::peptide_validate_rejects_empty_protein_accessions ... ok
[INFO] [stdout] test search_result::tests::peptide_validate_rejects_empty_sequence ... ok
[INFO] [stdout] test search_result::tests::peptide_validate_rejects_nan_best_score ... ok
[INFO] [stdout] test search_result::tests::peptide_validate_rejects_out_of_range_qvalue ... ok
[INFO] [stdout] test search_result::tests::protein_validate_rejects_empty_accession ... ok
[INFO] [stdout] test search_result::tests::protein_result_serde_roundtrip ... ok
[INFO] [stdout] test search_result::tests::protein_validate_rejects_negative_coverage ... ok
[INFO] [stdout] test search_result::tests::protein_validate_rejects_unique_exceeds_total ... ok
[INFO] [stdout] test search_result::tests::psm_validate_accepts_negative_charge ... ok
[INFO] [stdout] test search_result::tests::psm_serde_roundtrip ... ok
[INFO] [stdout] test search_result::tests::protein_validate_passes_for_valid_data ... ok
[INFO] [stdout] test search_result::tests::psm_decoy_flag ... ok
[INFO] [stdout] test search_result::tests::psm_validate_accepts_none_qvalue ... ok
[INFO] [stdout] test search_result::tests::psm_no_q_value ... ok
[INFO] [stdout] test search_result::tests::protein_validate_rejects_coverage_above_one ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_empty_protein_accessions ... ok
[INFO] [stdout] test search_result::tests::psm_validate_passes_for_valid_data ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_empty_sequence ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_nan_score ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_nan_precursor_mz ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_negative_qvalue ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_nonpositive_calculated_mz ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_nonpositive_precursor_mz ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_qvalue_above_one ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_whitespace_only_sequence ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_zero_charge ... ok
[INFO] [stdout] test search_result::tests::psm_validate_rejects_zero_scan ... ok
[INFO] [stdout] test search_result::tests::psm_with_modifications_roundtrip ... ok
[INFO] [stdout] test search_result::tests::search_result_validate_delegates_to_summary ... ok
[INFO] [stdout] test search_result::tests::search_result_empty_collections ... ok
[INFO] [stdout] test search_result::tests::search_result_validate_rejects_inconsistent_engine_info ... ok
[INFO] [stdout] test diagnostics::tests::test_stage_tracking ... ok
[INFO] [stdout] test search_result::tests::search_result_full_roundtrip ... ok
[INFO] [stdout] test search_result::tests::search_result_validate_delegates_to_metadata ... ok
[INFO] [stdout] test search_result::tests::search_result_validate_passes_for_valid_data ... ok
[INFO] [stdout] test search_result::tests::search_result_validate_rejects_empty_engine_name ... ok
[INFO] [stdout] test search_result::tests::search_result_validate_rejects_inconsistent_params ... ok
[INFO] [stdout] test search_result::tests::search_result_validate_rejects_empty_engine_version ... ok
[INFO] [stdout] test search_result::tests::search_result_validate_rejects_inconsistent_run_id ... ok
[INFO] [stdout] test search_result::tests::summary_validate_rejects_identification_rate_above_one ... ok
[INFO] [stdout] test search_result::tests::summary_validate_passes_for_valid_data ... ok
[INFO] [stdout] test search_result::tests::summary_validate_rejects_negative_duration ... ok
[INFO] [stdout] test search_result::tests::summary_validate_rejects_nan_median_score ... ok
[INFO] [stdout] test search_result::tests::summary_serde_roundtrip ... ok
[INFO] [stdout] test search_result::tests::summary_validate_rejects_negative_identification_rate ... ok
[INFO] [stdout] test search_result::tests::summary_validate_rejects_psms_exceeds_total ... ok
[INFO] [stdout] test search_result::tests::summary_validate_rejects_peptides_exceeds_psms ... ok
[INFO] [stdout] test spectrum::tests::dia_spectrum_with_wide_isolation_window ... ok
[INFO] [stdout] test spectrum::tests::multiple_precursors_valid ... ok
[INFO] [stdout] test spectrum::tests::precursor_info_optional_fields_none ... ok
[INFO] [stdout] test spectrum::tests::ms_level_serde_roundtrip ... ok
[INFO] [stdout] test spectrum::tests::isolation_window_serde_roundtrip ... ok
[INFO] [stdout] test spectrum::tests::ms_level_display ... ok
[INFO] [stdout] test spectrum::tests::precursor_info_serde_roundtrip ... ok
[INFO] [stdout] test spectrum::tests::spectrum_format_display ... ok
[INFO] [stdout] test spectrum::tests::precursor_with_isolation_window_serde_roundtrip ... ok
[INFO] [stdout] test spectrum::tests::spectrum_file_info_serde_roundtrip ... ok
[INFO] [stdout] test spectrum::tests::spectrum_ms1_no_precursor ... ok
[INFO] [stdout] test spectrum::tests::spectrum_format_serde_roundtrip ... ok
[INFO] [stdout] test spectrum::tests::spectrum_ms2_serde_roundtrip ... ok
[INFO] [stdout] test spectrum::tests::spectrum_num_peaks ... ok
[INFO] [stdout] test spectrum::tests::spectrum_new_accepts_empty_arrays ... ok
[INFO] [stdout] test spectrum::tests::spectrum_new_rejects_mismatched_arrays ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_is_empty ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_empty_charge_distribution ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_validate_rejects_infinity_rt_range ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_validate_accepts_equal_range ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_validate_passes_for_valid_data ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_serde_roundtrip ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_validate_rejects_inverted_mz_range ... ok
[INFO] [stdout] test spectrum::tests::spectrum_validate_catches_deserialized_bad_data ... ok
[INFO] [stdout] test spectrum::tests::spectrum_validate_passes_for_valid_data ... ok
[INFO] [stdout] test spectrum::tests::validate_accepts_equal_adjacent_mz_values ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_validate_rejects_inverted_rt_range ... ok
[INFO] [stdout] test spectrum::tests::spectrum_summary_validate_rejects_nan_mz_range ... ok
[INFO] [stdout] test spectrum::tests::validate_accepts_zero_intensity ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_infinity_precursor_intensity ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_infinity_in_mz_array ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_nan_isolation_window_target ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_nan_precursor_mz ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_nan_in_intensity_array ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_dia_extraction-ec6196090145454f)
[INFO] [stdout] test spectrum::tests::validate_rejects_negative_isolation_window_offset ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_zero_isolation_window_target_mz ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_unsorted_mz_array ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_negative_intensity_in_array ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_zero_mz_in_array ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_nan_retention_time ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_negative_mz_in_array ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_negative_precursor_intensity ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_zero_precursor_mz ... ok
[INFO] [stdout] test spectrum::tests::validate_rejects_zero_scan_number ... ok
[INFO] [stdout] test util::tests::median_empty ... ok
[INFO] [stdout] test util::tests::decoy_accession_detection ... ok
[INFO] [stdout] test util::tests::median_even ... ok
[INFO] [stdout] test util::tests::median_odd ... ok
[INFO] [stdout] test util::tests::median_single ... ok
[INFO] [stdout] test util::tests::median_u32_empty ... ok
[INFO] [stdout] test util::tests::median_u32_even ... ok
[INFO] [stdout] test util::tests::median_u32_odd ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 191 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 29 tests
[INFO] [stdout] test correlation::tests::test_correlate_empty_ms1 ... ok
[INFO] [stdout] test correlation::tests::test_correlate_multiple_ms2 ... ok
[INFO] [stdout] test correlation::tests::test_correlate_by_scan_order ... ok
[INFO] [stdout] test correlation::tests::test_correlate_by_source_scan ... ok
[INFO] [stdout] test detection::tests::test_detect_mixed ... ok
[INFO] [stdout] test detection::tests::test_detect_no_window ... ok
[INFO] [stdout] test detection::tests::test_separate_by_ms_level ... ok
[INFO] [stdout] test detection::tests::test_detect_dda ... ok
[INFO] [stdout] test correlation::tests::test_correlate_by_rt ... ok
[INFO] [stdout] test detection::tests::test_detect_dia ... ok
[INFO] [stdout] test detection::tests::test_detect_empty ... ok
[INFO] [stdout] test isotope::tests::test_empty_ms1 ... ok
[INFO] [stdout] test isotope::tests::test_intensity_decreasing ... ok
[INFO] [stdout] test isotope::tests::test_noise_no_detection ... ok
[INFO] [stdout] test isotope::tests::test_outside_window_filtered ... ok
[INFO] [stdout] test isotope::tests::test_single_peak ... ok
[INFO] [stdout] test tests::test_dda_passthrough ... ok
[INFO] [stdout] test tests::test_dia_no_ms1_error ... ok
[INFO] [stdout] test tests::test_no_ms2_error ... ok
[INFO] [stdout] test tests::test_single_spectrum_extraction_found ... ok
[INFO] [stdout] test tests::test_extract_dia_full_pipeline ... ok
[INFO] [stdout] test tests::test_single_spectrum_no_isolation_window ... ok
[INFO] [stdout] test tests::test_single_spectrum_no_ms1 ... ok
[INFO] [stdout] test tests::test_pseudo_spectra_expansion ... ok
[INFO] [stdout] test tests::test_single_spectrum_scan_not_found ... ok
[INFO] [stdout] test tests::test_single_spectrum_scan_order_fallback ... ok
[INFO] [stdout] test isotope::tests::test_charge_2_cluster ... ok
[INFO] [stdout] test isotope::tests::test_multiple_clusters ... ok
[INFO] [stdout] test isotope::tests::test_charge_3_cluster ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_entrapment_analysis-00c67db8836c38e7)
[INFO] [stdout] 
[INFO] [stdout] running 180 tests
[INFO] [stdout] test config::tests::provenance_config_custom_values ... ok
[INFO] [stdout] test coelution::tests::test_no_rt_overlap ... ok
[INFO] [stdout] test config::tests::provenance_config_defaults ... ok
[INFO] [stdout] test coelution::tests::test_different_dia_window ... ok
[INFO] [stdout] test coelution::tests::test_silac_heavy_pairing ... ok
[INFO] [stdout] test config::tests::test_provenance_config_backward_compat ... ok
[INFO] [stdout] test coelution::tests::test_max_candidates_cap ... ok
[INFO] [stdout] test coelution::tests::test_build_index_and_query_basic ... ok
[INFO] [stdout] test coelution::tests::test_overlap_with_smaller_rt_start_is_found ... ok
[INFO] [stdout] test config::tests::test_delta_mz_alias_still_works ... ok
[INFO] [stdout] test config::tests::test_provenance_config_with_silac ... ok
[INFO] [stdout] test config::tests::test_parse_minimal_config ... ok
[INFO] [stdout] test config::tests::test_parse_full_config ... ok
[INFO] [stdout] test config::tests::test_silac_config_default ... ok
[INFO] [stdout] test config::tests::test_v2_defaults ... ok
[INFO] [stdout] test config::tests::test_reject_bad_version ... ok
[INFO] [stdout] test config::tests::test_reject_empty_rules ... ok
[INFO] [stdout] test config::tests::test_v2_explicit_overrides ... ok
[INFO] [stdout] test digest::tests::test_from_fasta_error_on_missing_file ... ok
[INFO] [stdout] test digest::tests::test_empty_index ... ok
[INFO] [stdout] test digest::tests::test_from_fasta_roundtrip ... ok
[INFO] [stdout] test digest::tests::test_kmer_index_built_on_from_fasta ... ok
[INFO] [stdout] test digest::tests::test_normalize_li ... ok
[INFO] [stdout] test digest::tests::test_normalize_li_empty ... ok
[INFO] [stdout] test digest::tests::test_find_similar_exact_match_excluded ... ok
[INFO] [stdout] test digest::tests::test_normalized_li_lookup ... ok
[INFO] [stdout] test digest::tests::test_find_similar_different_length_indel ... ok
[INFO] [stdout] test digest::tests::test_find_similar_one_substitution ... ok
[INFO] [stdout] test levenshtein::tests::test_align_identical ... ok
[INFO] [stdout] test levenshtein::tests::test_align_empty_strings ... ok
[INFO] [stdout] test levenshtein::tests::test_align_insertion ... ok
[INFO] [stdout] test digest::tests::test_find_similar_short_query_fallback ... ok
[INFO] [stdout] test levenshtein::tests::test_align_one_substitution_dn ... ok
[INFO] [stdout] test levenshtein::tests::test_edit_distance_empty ... ok
[INFO] [stdout] test levenshtein::tests::test_edit_distance_identical ... ok
[INFO] [stdout] test levenshtein::tests::test_edit_distance_equals_hamming_for_same_length ... ok
[INFO] [stdout] test levenshtein::tests::test_align_qk_substitution ... ok
[INFO] [stdout] test levenshtein::tests::test_edit_distance_one_deletion ... ok
[INFO] [stdout] test levenshtein::tests::test_edit_distance_one_insertion ... ok
[INFO] [stdout] test levenshtein::tests::test_edit_distance_one_substitution ... ok
[INFO] [stdout] test loader::diann_parquet::tests::test_modifications_empty_when_unmodified ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_detect_nonexistent_file ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_mh_plus_to_mz_conversion ... ok
[INFO] [stdout] test levenshtein::tests::test_edit_distance_two_edits ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_parse_mods_empty ... ok
[INFO] [stdout] test digest::tests::test_find_similar_no_match_beyond_tolerance ... ok
[INFO] [stdout] test loader::diann_parquet::tests::test_modifications_multiple_mods ... ok
[INFO] [stdout] test loader::diann_parquet::tests::test_modifications_from_parsed ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_parse_mods_nterm ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_parse_mods_oxidation ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_parse_mods_single ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_parse_mods_double ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_detect_pfind_format ... ok
[INFO] [stdout] test loader::tests::test_format_detection ... ok
[INFO] [stdout] test loader::tests::test_load_tsv_missing_optional_columns ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_parse_proteins ... ok
[INFO] [stdout] test loader::pfind_tsv::tests::test_load_fixture ... ok
[INFO] [stdout] test loader::tests::test_load_psms_dispatches_tsv ... ok
[INFO] [stdout] test loader::tests::test_load_tsv ... ok
[INFO] [stdout] test mod_parser::tests::parse_empty_string ... ok
[INFO] [stdout] test mod_parser::tests::parse_multiple_modifications ... ok
[INFO] [stdout] test mod_parser::tests::parse_nterm_modification ... ok
[INFO] [stdout] test digest::tests::test_find_similar_tie_order_deterministic ... ok
[INFO] [stdout] test mod_parser::tests::parse_oxidation ... ok
[INFO] [stdout] test mod_parser::tests::parse_single_carbamidomethyl ... ok
[INFO] [stdout] test mod_parser::tests::parse_unknown_unimod_id ... ok
[INFO] [stdout] test mod_parser::tests::parse_unmodified_sequence ... ok
[INFO] [stdout] test multi_provenance::tests::test_empty_observed_peaks ... ok
[INFO] [stdout] test multi_provenance::tests::test_heavy_label_marks_h_suffix ... ok
[INFO] [stdout] test multi_provenance::tests::test_heavy_label_ion_generation ... ok
[INFO] [stdout] test mirror_plot::tests::test_generate_mirror_html_contains_plotly ... ok
[INFO] [stdout] test mirror_plot::tests::test_generate_mirror_html_contains_ion_labels ... ok
[INFO] [stdout] test mirror_plot::tests::test_generate_mirror_html_contains_colors ... ok
[INFO] [stdout] test mirror_plot::tests::test_generate_mirror_html_contains_sequences ... ok
[INFO] [stdout] test multi_provenance::tests::test_parse_ion_label_heavy ... ok
[INFO] [stdout] test multi_provenance::tests::test_parse_ion_label_y ... ok
[INFO] [stdout] test multi_provenance::tests::test_parse_ion_label_b ... ok
[INFO] [stdout] test multi_provenance::tests::test_match_single_target_light ... ok
[INFO] [stdout] test multi_provenance::tests::test_scan_number_is_zero ... ok
[INFO] [stdout] test multi_provenance::tests::test_no_candidates ... ok
[INFO] [stdout] test mirror_plot::tests::test_generate_mirror_html_empty_peaks ... ok
[INFO] [stdout] test multi_provenance::tests::test_match_multiple_targets ... ok
[INFO] [stdout] test multi_report::tests::test_candidate_color_wraps ... ok
[INFO] [stdout] test multi_report::tests::test_classify_peak_origins ... ok
[INFO] [stdout] test mirror_plot::tests::test_render_mirror_plot_writes_file ... ok
[INFO] [stdout] test multi_report::tests::test_html_escape ... ok
[INFO] [stdout] test multi_report::tests::test_render_summary_file ... ok
[INFO] [stdout] test multi_report::tests::test_generate_html_contains_sections ... ok
[INFO] [stdout] test multi_report::tests::test_empty_candidates ... ok
[INFO] [stdout] test multi_provenance::tests::test_shift_ions_heavy_b_ion ... ok
[INFO] [stdout] test multi_report::tests::test_dual_scan_both_mirrors ... ok
[INFO] [stdout] test multi_report::tests::test_summary_chimeric_highlight ... ok
[INFO] [stdout] test output::tests::test_opt_to_string ... ok
[INFO] [stdout] test multi_report::tests::test_summary_report ... ok
[INFO] [stdout] test multi_report::tests::test_write_html_file ... ok
[INFO] [stdout] test output::tests::test_file_sha256_missing_file ... ok
[INFO] [stdout] test output::tests::test_write_razor_errors_tsv_empty ... ok
[INFO] [stdout] test output::tests::test_write_classified_tsv_none_fields ... ok
[INFO] [stdout] test output::tests::test_write_classified_tsv_roundtrip ... ok
[INFO] [stdout] test output::tests::test_write_classified_tsv_with_provenance ... ok
[INFO] [stdout] test output::tests::test_write_classified_tsv_v2_columns ... ok
[INFO] [stdout] test output::tests::test_write_run_metadata_json ... ok
[INFO] [stdout] test provenance::tests::test_generate_theoretical_ions_empty_sequence ... ok
[INFO] [stdout] test output::tests::test_file_sha256_known_content ... ok
[INFO] [stdout] test provenance::tests::test_amino_acid_mass_glycine ... ok
[INFO] [stdout] test provenance::tests::test_trace_provenance_all_trap_only ... ok
[INFO] [stdout] test provenance::tests::test_amino_acid_mass_unknown ... ok
[INFO] [stdout] test provenance::tests::test_trace_provenance_empty_spectra ... ok
[INFO] [stdout] test provenance::tests::test_generate_theoretical_ions_with_mod ... ok
[INFO] [stdout] test output::tests::test_write_razor_errors_tsv_filters_l0_traps ... ok
[INFO] [stdout] test provenance::tests::test_trace_provenance_shared_ions ... ok
[INFO] [stdout] test report::tests::test_psm_row_empty_optionals ... ok
[INFO] [stdout] test provenance::tests::test_trace_provenance_unassigned_peaks ... ok
[INFO] [stdout] test report::tests::test_psm_row_includes_substitution_type ... ok
[INFO] [stdout] test report::tests::test_psm_row_from_classified ... ok
[INFO] [stdout] test report::tests::test_psm_row_with_provenance ... ok
[INFO] [stdout] test report::tests::test_psm_row_without_provenance ... ok
[INFO] [stdout] test report::tests::test_render_report_only_trap_psms_in_table ... ok
[INFO] [stdout] test report::tests::test_render_report_creates_parent_dirs ... ok
[INFO] [stdout] test report::tests::test_template_contains_placeholder_structure ... ok
[INFO] [stdout] test provenance::tests::test_trace_provenance_l4_no_target ... ok
[INFO] [stdout] test provenance::tests::test_generate_theoretical_ions_simple ... ok
[INFO] [stdout] test similarity::tests::test_classify_l0_has_none_substitution_type ... ok
[INFO] [stdout] test report::tests::test_render_report_creates_file ... ok
[INFO] [stdout] test similarity::tests::test_classify_target_psm_gets_l4 ... ok
[INFO] [stdout] test similarity::tests::test_classify_trap_l0_exact_match ... ok
[INFO] [stdout] test similarity::tests::test_classify_trap_l1_gets_li_isomer_type ... ok
[INFO] [stdout] test similarity::tests::test_classify_trap_l1_li_isomer ... ok
[INFO] [stdout] test similarity::tests::test_classify_trap_l4_no_match ... ok
[INFO] [stdout] test similarity::tests::test_extract_diff_positions ... ok
[INFO] [stdout] test similarity::tests::test_extract_diff_positions_identical ... ok
[INFO] [stdout] test similarity::tests::test_hamming_different_length ... ok
[INFO] [stdout] test similarity::tests::test_classify_l2_near_isobaric_has_edit_distance ... ok
[INFO] [stdout] test similarity::tests::test_hamming_identical ... ok
[INFO] [stdout] test similarity::tests::test_classify_trap_l3_distinguishable ... ok
[INFO] [stdout] test similarity::tests::test_hamming_mass_difference ... ok
[INFO] [stdout] test similarity::tests::test_classify_trap_l2_near_isobaric ... ok
[INFO] [stdout] test similarity::tests::test_hamming_two_mismatches ... ok
[INFO] [stdout] test similarity::tests::test_hamming_one_mismatch ... ok
[INFO] [stdout] test similarity::tests::test_mod_mass_adjustment_mod_at_diff_position ... ok
[INFO] [stdout] test similarity::tests::test_mod_mass_adjustment_mod_not_at_diff_position ... ok
[INFO] [stdout] test similarity::tests::test_mod_mass_adjustment_multiple_mods ... ok
[INFO] [stdout] test similarity::tests::test_mod_mass_adjustment_no_mods ... ok
[INFO] [stdout] test tagger::tests::test_conflict_prefer_target ... ok
[INFO] [stdout] test tagger::tests::test_conflict_prefer_trap ... ok
[INFO] [stdout] test tagger::tests::test_conflict_mark_ambiguous ... ok
[INFO] [stdout] test tagger::tests::test_semicolon_separated_proteins ... ok
[INFO] [stdout] test tagger::tests::test_simple_contains_rules ... ok
[INFO] [stdout] test tagger::tests::test_unmatched_error ... ok
[INFO] [stdout] test tagger::tests::test_unmatched_target_policy ... ok
[INFO] [stdout] test tagger::tests::test_unmatched_trap_policy ... ok
[INFO] [stdout] test tests::test_extract_family_name_non_uniprot ... ok
[INFO] [stdout] test tests::test_extract_family_name_uniprot ... ok
[INFO] [stdout] test tests::test_extract_family_name_multi_accession ... ok
[INFO] [stdout] test tests::test_find_mzml_file_bare_name ... ok
[INFO] [stdout] test tests::test_find_mzml_file_found_mzml ... ok
[INFO] [stdout] test tests::test_find_mzml_file_found_lowercase ... ok
[INFO] [stdout] test tests::test_trace_provenance_batch_no_eligible_levels ... ok
[INFO] [stdout] test tests::test_trace_provenance_batch_skip_already_traced ... ok
[INFO] [stdout] test tests::test_trace_provenance_batch_skip_no_scan_number ... ok
[INFO] [stdout] test tests::test_find_mzml_file_not_found ... ok
[INFO] [stdout] test types::tests::classified_psm_provenance_default ... ok
[INFO] [stdout] test tests::test_trace_provenance_batch_empty_slice ... ok
[INFO] [stdout] test types::tests::test_co_eluting_candidate ... ok
[INFO] [stdout] test types::tests::test_label_form_light ... ok
[INFO] [stdout] test types::tests::test_level_counts ... ok
[INFO] [stdout] test types::tests::test_label_form_heavy ... ok
[INFO] [stdout] test types::tests::test_multi_annotated_peak ... ok
[INFO] [stdout] test types::tests::test_level_display ... ok
[INFO] [stdout] test types::tests::test_psm_group_display ... ok
[INFO] [stdout] test types::tests::test_substitution_type_display ... ok
[INFO] [stdout] test types::tests::test_substitution_type_isobaric_dipeptide_serde ... ok
[INFO] [stdout] test types::tests::test_substitution_type_serde ... ok
[INFO] [stdout] test types::tests::unified_psm_modifications_default ... ok
[INFO] [stdout] test tests::test_summary_top_razor_families_deterministic ... ok
[INFO] [stdout] test types::tests::unified_psm_modifications_roundtrip ... ok
[INFO] [stdout] test tagger::tests::test_bad_regex_returns_config_error ... ok
[INFO] [stdout] test tagger::tests::test_regex_rule ... ok
[INFO] [stdout] test similarity::tests::test_classify_l4_has_none_substitution_type ... ok
[INFO] [stdout] test similarity::tests::test_classify_skips_pure_li_in_hamming_scan ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 180 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/v2_edit_distance.rs (/opt/rustwide/target/debug/deps/v2_edit_distance-371442cd73c34925)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test test_true_trap_still_l4 ... ok
[INFO] [stdout] test test_cross_length_indel_gets_l2_not_l4 ... ok
[INFO] [stdout] test test_backward_compatible_same_length_matching ... ok
[INFO] [stdout] test test_qk_substitution_detected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/v3_e2e_provenance.rs (/opt/rustwide/target/debug/deps/v3_e2e_provenance-bec6ada87d1ff36f)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_provenance_trace_known_ions ... ok
[INFO] [stdout] test test_provenance_l4_no_target ... ok
[INFO] [stdout] test test_chimera_threshold_flag ... ok
[INFO] [stdout] test test_provenance_with_modifications ... ok
[INFO] [stdout] test test_mirror_plot_html_generation ... ok
[INFO] [stdout] test test_provenance_batch_no_scan_number_warns ... ok
[INFO] [stdout] test test_e2e_classify_and_provenance_batch ... ok
[INFO] [stdout] test test_e2e_output_files ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/v4_multi_target.rs (/opt/rustwide/target/debug/deps/v4_multi_target-fd4b6f2f385ba3ab)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_full_pipeline_mock ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/entrapment-9377741b21ba9f9b)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_fasta_db-2e9cfe51eb89692e)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test download::tests::count_proteins_empty ... ok
[INFO] [stdout] test download::tests::count_proteins_in_fasta_content ... ok
[INFO] [stdout] test cache::tests::fasta_path_returns_expected_location ... ok
[INFO] [stdout] test cache::tests::empty_cache_returns_empty_registry ... ok
[INFO] [stdout] test download::tests::compute_sha256_deterministic ... ok
[INFO] [stdout] test registry::tests::registry_has_expected_entries ... ok
[INFO] [stdout] test download::tests::streamed_sha256_matches_oneshot ... ok
[INFO] [stdout] test download::tests::streamed_protein_count_matches_oneshot_across_boundaries ... ok
[INFO] [stdout] test tests::list_databases_returns_all_with_status ... ok
[INFO] [stdout] test cache::tests::is_cached_returns_correct_status ... ok
[INFO] [stdout] test cache::tests::save_and_load_round_trips ... ok
[INFO] [stdout] test registry::tests::all_ids_returns_complete_list ... ok
[INFO] [stdout] test tests::get_database_info_not_cached_returns_error ... ok
[INFO] [stdout] test registry::tests::unknown_database_returns_none ... ok
[INFO] [stdout] test download::tests::download_client_builds_with_timeouts ... ok
[INFO] [stdout] test cache::tests::corrupt_registry_self_heals_to_empty ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-8b127064cd6b75e9)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_fdr-2e4707be4b28e41a)
[INFO] [stdout] running 2 tests
[INFO] [stdout] test download_ecoli_end_to_end ... ignored, requires network access
[INFO] [stdout] test unknown_database_returns_error ... ignored, requires network access
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test calculation::tests::fdr_all_targets_zero_fdr ... ok
[INFO] [stdout] test calculation::tests::fdr_nan_score_returns_error ... ok
[INFO] [stdout] test calculation::tests::fdr_empty_returns_error ... ok
[INFO] [stdout] test decoy::tests::generate_decoys_reverse ... ok
[INFO] [stdout] test calculation::tests::fdr_order_independence_with_ties ... ok
[INFO] [stdout] test calculation::tests::fdr_q_values_bounded ... ok
[INFO] [stdout] test decoy::tests::reverse_empty ... ok
[INFO] [stdout] test calculation::tests::fdr_basic_target_decoy ... ok
[INFO] [stdout] test calculation::tests::fdr_monotonicity_enforced ... ok
[INFO] [stdout] test calculation::tests::fdr_tied_score_target_decoy_same_qvalue ... ok
[INFO] [stdout] test decoy::tests::reverse_preserves_length ... ok
[INFO] [stdout] test peptide_fdr::tests::test_best_score_selection ... ok
[INFO] [stdout] test decoy::tests::reverse_single_char ... ok
[INFO] [stdout] test peptide_fdr::tests::test_empty_peptides ... ok
[INFO] [stdout] test peptide_fdr::tests::test_decoy_peptide_handling ... ok
[INFO] [stdout] test decoy::tests::reverse_keeps_last_residue ... ok
[INFO] [stdout] test peptide_fdr::tests::test_basic_peptide_fdr ... ok
[INFO] [stdout] test peptide_fdr::tests::test_extract_from_psms ... ok
[INFO] [stdout] test peptide_fdr::tests::test_monotonic_q_values ... ok
[INFO] [stdout] test peptide_fdr::tests::test_extract_unique_peptides_sorted_and_stable ... ok
[INFO] [stdout] test peptide_fdr::tests::test_single_target_peptide ... ok
[INFO] [stdout] test protein_fdr::tests::all_targets_no_decoys_returns_all_q_zero ... ok
[INFO] [stdout] test protein_fdr::tests::decoy_wins_pair ... ok
[INFO] [stdout] test peptide_fdr::tests::test_target_count_at_1pct ... ok
[INFO] [stdout] test protein_fdr::tests::empty_input_returns_error ... ok
[INFO] [stdout] test protein_fdr::tests::perfect_competition_targets_win ... ok
[INFO] [stdout] test protein_fdr::tests::many_unpaired_decoys_no_panic_and_correct ... ok
[INFO] [stdout] test protein_fdr::tests::output_sorted_by_score_descending ... ok
[INFO] [stdout] test decoy::tests::generate_decoys_none ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/test_helpers-63373b8b27c9ac9a)
[INFO] [stdout] test protein_fdr::tests::single_pair_decoy_wins ... ok
[INFO] [stdout] test protein_fdr::tests::q_value_monotonicity ... ok
[INFO] [stdout] test protein_fdr::tests::single_pair_target_wins ... ok
[INFO] [stdout] test decoy::tests::generate_decoys_shuffle_prefix ... ok
[INFO] [stdout] test decoy::tests::generate_decoys_shuffle_deterministic ... ok
[INFO] [stdout] test protein_fdr::tests::tied_target_winners_deterministic_order ... ok
[INFO] [stdout] test protein_fdr::tests::score_tie_target_wins ... ok
[INFO] [stdout] test protein_fdr::tests::unpaired_decoys_included_in_fdr ... ok
[INFO] [stdout] test protein_fdr::tests::unpaired_targets_win_automatically ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::dda_window_is_narrow ... ok
[INFO] [stdout] test tests::dia_window_is_wide ... ok
[INFO] [stdout] test tests::silac_label_values ... ok
[INFO] [stdout] test tests::synthetic_peaks_non_empty ... ok
[INFO] [stderr]      Running tests/annotation_scenarios.rs (/opt/rustwide/target/debug/deps/annotation_scenarios-aa6fb6eeb0aacbe1)
[INFO] [stdout] test tests::theoretical_fragments_peptider ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test scenario_4_dia_silac_heavy_annotation_succeeds ... ok
[INFO] [stdout] test scenario_1_dda_no_silac_annotates_light_only ... ok
[INFO] [stderr]      Running tests/entrapment_integration.rs (/opt/rustwide/target/debug/deps/entrapment_integration-d28e7037b3655e0c)
[INFO] [stdout] test scenario_2_dda_silac_heavy_annotation_succeeds ... ok
[INFO] [stdout] test scenario_3_dia_no_silac_annotates_light_only ... ok
[INFO] [stdout] test zero_offset_peptide_no_kr_skips_heavy ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test test_v2_fields_end_to_end ... ok
[INFO] [stdout] test test_v3_provenance_columns_in_tsv ... ok
[INFO] [stdout] test test_known_peptide_classifications ... ok
[INFO] [stdout] test test_v3_mod_parser_integration ... ok
[INFO] [stdout] test test_v3_classified_psm_provenance_roundtrip ... ok
[INFO] [stdout] test test_v3_provenance_trace_known_peptides ... ok
[INFO] [stdout] test test_v3_config_backward_compatible ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/import_pipeline.rs (/opt/rustwide/target/debug/deps/import_pipeline-58b434a61976437b)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test import_nonexistent_file_errors ... ok
[INFO] [stdout] test import_custom_json_parses_psms ... ok
[INFO] [stdout] test import_empty_json_array ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/search_pipeline.rs (/opt/rustwide/target/debug/deps/search_pipeline-0660b7ed6b5fd553)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test full_pipeline_read_search_annotate ... ok
[INFO] [stderr]      Running tests/xic_scenarios.rs (/opt/rustwide/target/debug/deps/xic_scenarios-61d815dc0a3abcd3)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.61s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test dda_no_match_returns_none ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/protein_copilot_mcp-c62db96151c9e066)
[INFO] [stdout] test dia_find_heavy_scan_by_window_containment ... ok
[INFO] [stdout] test nonzero_offset_heavy_ions_shifted ... ok
[INFO] [stdout] test dda_find_heavy_scan_by_precursor_mz ... ok
[INFO] [stdout] test zero_offset_no_heavy_target_ions_shift ... ok
[INFO] [stdout] test dia_no_window_contains_heavy_mz ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test tests::interactive_notice_guides_user_to_flags_and_config ... ok
[INFO] [stdout] test history::tests::history_entry_serde_roundtrip ... ok
[INFO] [stdout] test tools::tests::absolutize_makes_relative_absolute ... ok
[INFO] [stdout] test tools::tests::output_path_respects_env ... ok
[INFO] [stdout] test history::tests::history_dir_is_created ... ok
[INFO] [stdout] test catalog::tests::server_exposes_all_tools ... ok
[INFO] [stdout] test tools::tests::user_input_errors_map_to_invalid_params ... ok
[INFO] [stdout] test tools::tests::pfind_import_input_files_sorted ... ok
[INFO] [stdout] test tools::tests::file_invalid_engine_leaves_no_orphan_run ... ok
[INFO] [stdout] test tools::tests::dia_invalid_engine_preserves_cached_spectra ... ok
[INFO] [stdout] test catalog::tests::catalog_lists_tool_name_params_and_output ... ok
[INFO] [stdout] test catalog::tests::catalog_renders_enum_values_and_ranges ... ok
[INFO] [stdout] test tools::tests::pfind_import_rejects_traversal_raw_name ... ok
[INFO] [stdout] test tools::tests::poisoned_run_cache_self_heals_in_get_result ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_param_recommend-a8f29d3b42398ba6)
[INFO] [stdout] 
[INFO] [stdout] running 35 tests
[INFO] [stdout] test preset::tests::open_preset_has_wide_tolerance ... ok
[INFO] [stdout] test rules::tests::confidence_higher_with_hints ... ok
[INFO] [stdout] test preset::tests::tmt_preset_has_tmt_fixed ... ok
[INFO] [stdout] test preset::tests::silac_preset_has_heavy_labels ... ok
[INFO] [stdout] test rules::tests::default_uses_trypsin ... ok
[INFO] [stdout] test preset::tests::all_presets_have_5_entries ... ok
[INFO] [stdout] test rules::tests::deterministic_same_input_same_output ... ok
[INFO] [stdout] test rules::tests::dia_detected_from_wide_isolation_window ... ok
[INFO] [stdout] test rules::tests::empty_summary_returns_error ... ok
[INFO] [stdout] test rules::tests::enzyme_hint_overrides_default ... ok
[INFO] [stdout] test rules::tests::high_res_data_gets_10ppm ... ok
[INFO] [stdout] test rules::tests::instrument_hint_overrides_inference ... ok
[INFO] [stdout] test preset::tests::presets_serde_roundtrip ... ok
[INFO] [stdout] test preset::tests::phospho_preset_has_phospho_mod ... ok
[INFO] [stdout] test rules::tests::confidence_in_valid_range ... ok
[INFO] [stdout] test rules::tests::low_res_data_gets_20ppm ... ok
[INFO] [stdout] test rules::tests::merge_keeps_distinct_mods_with_same_name ... ok
[INFO] [stdout] test rules::tests::dda_not_flagged_with_narrow_window ... ok
[INFO] [stdout] test rules::tests::no_isolation_window_stays_none ... ok
[INFO] [stdout] test rules::tests::mid_res_data_gets_15ppm ... ok
[INFO] [stdout] test preset::tests::preset_names_unique ... ok
[INFO] [stdout] test rules::tests::nonspecific_with_missed_cleavages_warns ... ok
[INFO] [stdout] test rules::tests::open_hint_selects_open_preset ... ok
[INFO] [stdout] test rules::tests::open_search_preset_no_self_conflict ... ok
[INFO] [stdout] test rules::tests::phospho_hint_adds_phospho_mod ... ok
[INFO] [stdout] test rules::tests::preset_with_database_validates ... ok
[INFO] [stdout] test rules::tests::recommended_params_validate ... ok
[INFO] [stdout] test rules::tests::result_has_alternatives ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-8df781876d7dd685)
[INFO] [stdout] test rules::tests::result_has_input_summary ... ok
[INFO] [stdout] test tests::list_presets_returns_5 ... ok
[INFO] [stdout] test rules::tests::result_has_non_empty_explanation ... ok
[INFO] [stdout] test rules::tests::tmt_hint_adds_tmt_fixed ... ok
[INFO] [stdout] test rules::tests::tmt_open_gets_open_tolerance_with_tmt_mods ... ok
[INFO] [stdout] test rules::tests::result_has_evidence ... ok
[INFO] [stdout] test rules::tests::single_hint_reaches_090 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_protein_inference-0f405878278495b0)
[INFO] [stdout] test mgf_with_phospho_hint ... ok
[INFO] [stdout] test recommended_params_are_valid_with_database ... ok
[INFO] [stdout] test mgf_to_recommendation ... ok
[INFO] [stdout] test mzml_to_recommendation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test coverage::tests::full_coverage ... ok
[INFO] [stdout] test coverage::tests::non_overlapping_peptides ... ok
[INFO] [stdout] test coverage::tests::duplicate_peptide_in_both_vecs ... ok
[INFO] [stdout] test coverage::tests::il_equivalence ... ok
[INFO] [stdout] test coverage::tests::multiple_occurrences ... ok
[INFO] [stdout] test coverage::tests::peptide_not_found_in_sequence ... ok
[INFO] [stdout] test coverage::tests::protein_not_in_fasta ... ok
[INFO] [stdout] test coverage::tests::partial_coverage ... ok
[INFO] [stdout] test mapper::tests::test_decoy_classification ... ok
[INFO] [stdout] test coverage::tests::razor_peptides_counted ... ok
[INFO] [stdout] test mapper::tests::test_best_score_tracking ... ok
[INFO] [stdout] test coverage::tests::empty_groups ... ok
[INFO] [stdout] test mapper::tests::test_empty_psms ... ok
[INFO] [stdout] test mapper::tests::test_il_equivalence ... ok
[INFO] [stdout] test coverage::tests::empty_protein_sequence ... ok
[INFO] [stdout] test mapper::tests::test_no_target_proteins ... ok
[INFO] [stdout] test coverage::tests::overlapping_peptides ... ok
[INFO] [stdout] test parsimony::tests::test_all_peptides_covered ... ok
[INFO] [stdout] test parsimony::tests::test_decoy_group ... ok
[INFO] [stdout] test mapper::tests::test_q_value_filtering ... ok
[INFO] [stdout] test mapper::tests::test_shared_peptide ... ok
[INFO] [stdout] test parsimony::tests::test_empty_map_returns_error ... ok
[INFO] [stdout] test mapper::tests::test_mixed_target_decoy_peptide ... ok
[INFO] [stdout] test mapper::tests::test_single_psm ... ok
[INFO] [stdout] test parsimony::tests::test_greedy_cover_overlapping ... ok
[INFO] [stdout] test parsimony::tests::test_score_selection_and_leader ... ok
[INFO] [stdout] test parsimony::tests::test_subset_chain ... ok
[INFO] [stdout] test parsimony::tests::test_indistinguishable_leader_is_alphabetically_first ... ok
[INFO] [stdout] test parsimony::tests::test_mixed_target_decoy_group ... ok
[INFO] [stdout] test parsimony::tests::test_two_indistinguishable_proteins ... ok
[INFO] [stdout] test parsimony::tests::test_subset_protein ... ok
[INFO] [stdout] test parsimony::tests::test_single_protein_unique_peptides ... ok
[INFO] [stdout] test razor::tests::test_shared_peptide_assigned_to_different_groups ... ok
[INFO] [stdout] test razor::tests::test_single_group ... ok
[INFO] [stdout] test razor::tests::test_multiple_shared_peptides ... ok
[INFO] [stdout] test razor::tests::test_single_shared_peptide ... ok
[INFO] [stdout] test razor::tests::test_tiebreak_by_accession ... ok
[INFO] [stdout] test razor::tests::test_tiebreak_by_score ... ok
[INFO] [stdout] test parsimony::tests::test_subset_absorbed_into_deterministic_superset ... ok
[INFO] [stdout] test razor::tests::test_all_shared_no_unique ... ok
[INFO] [stdout] test razor::tests::test_unique_peptides_not_in_razor_map ... ok
[INFO] [stdout] test razor::tests::test_empty_groups_slice ... ok
[INFO] [stdout] test razor::tests::test_no_shared_peptides ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-5665a84347f9392d)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_pipeline_empty_psms ... ok
[INFO] [stdout] test test_pipeline_all_psms_above_threshold ... ok
[INFO] [stdout] test test_pipeline_only_decoys ... ok
[INFO] [stdout] test test_pipeline_razor_assignment_correctness ... ok
[INFO] [stdout] test test_pipeline_no_decoys ... ok
[INFO] [stdout] test test_pipeline_il_equivalence_grouping ... ok
[INFO] [stdout] test test_pipeline_many_indistinguishable_proteins ... ok
[INFO] [stdout] test test_pipeline_coverage_includes_razor_peptides ... ok
[INFO] [stdout] test test_pipeline_coverage_missing_fasta ... ok
[INFO] [stdout] test test_full_inference_pipeline ... ok
[INFO] [stdout] test test_pipeline_no_qvalue_filter ... ok
[INFO] [stdout] test test_pipeline_score_ordering ... ok
[INFO] [stdout] test test_pipeline_single_protein_single_peptide ... ok
[INFO] [stdout] test test_pipeline_target_decoy_competition ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_report-75ecd8b7883a4e0b)
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test summary::tests::summary_charge_distribution ... ok
[INFO] [stdout] test summary::tests::summary_filters_by_fdr ... ok
[INFO] [stdout] test summary::tests::summary_identification_rate ... ok
[INFO] [stdout] test summary::tests::summary_median_score ... ok
[INFO] [stdout] test summary::tests::summary_no_qvalues_keeps_all ... ok
[INFO] [stdout] test export::tests::psm_tsv_has_header_and_data ... ok
[INFO] [stdout] test tests::escape_angle_brackets ... ok
[INFO] [stdout] test summary::tests::summary_unique_peptides_at_fdr ... ok
[INFO] [stdout] test tests::escape_script_close_tag ... ok
[INFO] [stdout] test tests::escape_preserves_normal_json ... ok
[INFO] [stdout] test unified_types::tests::raw_scan_data_serializes ... ok
[INFO] [stdout] test unified_types::tests::peptide_info_serializes ... ok
[INFO] [stdout] test export::tests::export_metadata_has_run_id ... ok
[INFO] [stdout] test export::tests::export_tsv_creates_three_files ... ok
[INFO] [stdout] test export::tests::export_json_roundtrip ... ok
[INFO] [stdout] test xic3d_build::tests::build_empty_window_errors ... ok
[INFO] [stdout] test unified_visualize::tests::render_unified_creates_parent_dirs ... ok
[INFO] [stdout] test unified_visualize::tests::render_unified_without_xic ... ok
[INFO] [stdout] test xic3d_build::tests::build_annotates_each_scan_and_marks_target ... ok
[INFO] [stdout] test unified_visualize::tests::render_unified_creates_html_with_data ... ok
[INFO] [stdout] test xic3d_build::tests::build_marks_matched_peaks ... ok
[INFO] [stdout] test visualize::tests::render_creates_parent_directories ... ok
[INFO] [stdout] test xic3d_types::tests::xic3d_data_serde_round_trip ... ok
[INFO] [stdout] test visualize::tests::render_creates_html_with_expected_content ... ok
[INFO] [stdout] test xic_visualize::tests::render_xic_html_contains_json_data ... ok
[INFO] [stdout] test xic3d_visualize::tests::render_escapes_angle_brackets_in_data ... ok
[INFO] [stdout] test xic3d_build::tests::build_scan_with_no_peaks_errors ... ok
[INFO] [stdout] test xic3d_visualize::tests::render_creates_parent_dirs ... ok
[INFO] [stdout] test xic_visualize::tests::render_xic_html_creates_file ... ok
[INFO] [stdout] test xic3d_visualize::tests::render_defaults_max_peaks_when_none ... ok
[INFO] [stdout] test xic3d_visualize::tests::render_creates_html_with_injected_data ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_result_import-02eb56b2bc414c2b)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test custom_json::tests::parse_custom_json_file_not_found ... ok
[INFO] [stdout] test converter::tests::build_search_result_aggregates_peptides ... ok
[INFO] [stdout] test converter::tests::build_search_result_engine_info ... ok
[INFO] [stdout] test converter::tests::build_search_result_calculates_mz ... ok
[INFO] [stdout] test converter::tests::build_search_result_excludes_unmatched ... ok
[INFO] [stdout] test converter::tests::raw_files_are_deterministically_sorted ... ok
[INFO] [stdout] test custom_json::tests::parse_custom_json_rt_conversion ... ok
[INFO] [stdout] test diann::tests::parse_real_diann_parquet ... ok
[INFO] [stdout] test pfind::tests::parse_returns_not_implemented ... ok
[INFO] [stdout] test pfind_tsv::tests::detect_fixture_file ... ok
[INFO] [stdout] test pfind_tsv::tests::detect_non_pfind_file ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_double_mod ... ok
[INFO] [stdout] test pfind::tests::detect_spectra_extension ... ok
[INFO] [stdout] test custom_json::tests::parse_custom_json_basic ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_empty_mods ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_nterm_mod ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_oxidation_mod ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_proteins_empty ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_proteins_multiple ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_proteins_single ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_fixture_file ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_single_mod ... ok
[INFO] [stdout] test pfind_tsv::tests::parse_skips_non_positive_charge ... ok
[INFO] [stdout] test pfind_tsv::tests::precursor_mz_calculation ... ok
[INFO] [stdout] test diann::tests::parse_modified_sequence_no_mods ... ok
[INFO] [stdout] test scan_matcher::tests::find_best_match_empty_ms2_list ... ok
[INFO] [stdout] test scan_matcher::tests::find_best_match_exact_rt_and_mz ... ok
[INFO] [stdout] test diann::tests::parse_modified_sequence_bare ... ok
[INFO] [stdout] test scan_matcher::tests::find_best_match_mz_outside_window ... ok
[INFO] [stdout] test scan_matcher::tests::find_best_match_no_isolation_window_fallback ... ok
[INFO] [stdout] test scan_matcher::tests::find_best_match_picks_closest_rt ... ok
[INFO] [stdout] test pfind_tsv::tests::precursor_mz_charge3 ... ok
[INFO] [stdout] test scan_matcher::tests::find_best_match_wide_dia_window ... ok
[INFO] [stdout] test scan_matcher::tests::find_best_match_rt_outside_tolerance ... ok
[INFO] [stdout] test scan_matcher::tests::match_scans_accepts_bare_raw_name ... ok
[INFO] [stdout] test diann::tests::parse_modified_sequence_nterm_mod ... ok
[INFO] [stdout] test diann::tests::parse_modified_sequence_single_mod ... ok
[INFO] [stdout] test diann::tests::parse_modified_sequence_multiple_mods ... ok
[INFO] [stdout] test scan_matcher::tests::find_best_match_within_tolerance ... ok
[INFO] [stdout] test scan_matcher::tests::match_scans_rejects_path_traversal_raw_name ... ok
[INFO] [stdout] test tests::detect_format_spectra ... ok
[INFO] [stdout] test tests::detect_format_json ... ok
[INFO] [stdout] test tests::detect_format_parquet ... ok
[INFO] [stdout] test tests::detect_format_tsv_non_pfind ... ok
[INFO] [stdout] test unimod::tests::builtin_has_common_mods ... ok
[INFO] [stdout] test tests::detect_format_pfind_tsv ... ok
[INFO] [stdout] test unimod::tests::from_xml_loads_real_unimod ... ok
[INFO] [stdout] test unimod::tests::to_modification_invalid_position_errors ... ok
[INFO] [stdout] test unimod::tests::to_modification_oxidation_on_m ... ok
[INFO] [stdout] test tests::detect_format_unknown ... ok
[INFO] [stdout] test unimod::tests::to_modification_unknown_id_errors ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_search_engine-fdb14d0127c53682)
[INFO] [stdout] 
[INFO] [stdout] running 118 tests
[INFO] [stdout] test adapters::pfind::tests::ssh_config_default ... ok
[INFO] [stdout] test adapters::pfind::tests::pfind_engine_info ... ok
[INFO] [stdout] test adapters::pfind::tests::pfind_health_check_unavailable ... ok
[INFO] [stdout] test adapters::pfind::tests::pfind_search_returns_not_implemented ... ok
[INFO] [stdout] test adapters::sage::convert::tests::fixed_mod_multiple_residues ... ok
[INFO] [stdout] test adapters::sage::convert::tests::fixed_mod_nterm ... ok
[INFO] [stdout] test adapters::sage::convert::tests::fixed_mod_protein_nterm_with_residue ... ok
[INFO] [stdout] test adapters::sage::convert::tests::fixed_mod_single_residue ... ok
[INFO] [stdout] test adapters::sage::convert::tests::mass_tolerance_da ... ok
[INFO] [stdout] test adapters::sage::convert::tests::mass_tolerance_ppm ... ok
[INFO] [stdout] test adapters::sage::convert::tests::spectrum_to_raw_basic_fields ... ok
[INFO] [stdout] test adapters::sage::convert::tests::spectrum_to_raw_mz_and_intensity ... ok
[INFO] [stdout] test adapters::sage::convert::tests::spectrum_to_raw_negative_charge_clamped ... ok
[INFO] [stdout] test adapters::sage::convert::tests::spectrum_to_raw_no_precursor ... ok
[INFO] [stdout] test adapters::sage::convert::tests::spectrum_to_raw_precursor ... ok
[INFO] [stdout] test adapters::sage::convert::tests::variable_mod_single ... ok
[INFO] [stdout] test adapters::sage::tests::engine_info ... ok
[INFO] [stdout] test adapters::sage::tests::health_check_always_healthy ... ok
[INFO] [stdout] test adapters::sage::config::tests::build_parameters_fasta_path ... ok
[INFO] [stdout] test adapters::sage::config::tests::build_parameters_max_variable_mods ... ok
[INFO] [stdout] test adapters::sage::config::tests::build_parameters_decoy_generation ... ok
[INFO] [stdout] test adapters::sage::config::tests::build_parameters_enzyme_trypsin ... ok
[INFO] [stdout] test adapters::sage::config::tests::build_parameters_static_mods ... ok
[INFO] [stdout] test adapters::sage::config::tests::build_parameters_peptide_length ... ok
[INFO] [stdout] test adapters::sage::config::tests::build_parameters_variable_mods ... ok
[INFO] [stdout] test adapters::sage::tests::search_with_empty_spectra_returns_error ... ok
[INFO] [stdout] test annotate::tests::annotate_empty_spectrum_errors ... ok
[INFO] [stdout] test annotate::tests::ion_type_display ... ok
[INFO] [stdout] test annotate::tests::nterm_modification_affects_b_ions_not_y_ions ... ok
[INFO] [stdout] test annotate::tests::test_annotate_heavy_spectrum_basic ... ok
[INFO] [stdout] test annotate::tests::test_terminal_mod_applied_when_context_true ... ok
[INFO] [stdout] test chemistry::tests::is_standard_sequence_works ... ok
[INFO] [stdout] test chemistry::tests::nonstandard_residues_return_none ... ok
[INFO] [stdout] test chemistry::tests::peptide_mass_with_nonstandard_returns_none ... ok
[INFO] [stdout] test chemistry::tests::standard_residues_return_some ... ok
[INFO] [stdout] test annotate::tests::annotated_peaks_include_noise ... ok
[INFO] [stdout] test annotate::tests::annotate_selects_precursor_by_charge ... ok
[INFO] [stdout] test annotate::tests::annotate_no_match ... ok
[INFO] [stdout] test annotate::tests::annotate_matches_all_ions ... ok
[INFO] [stdout] test digest::tests::aspn_cuts_before_d ... ok
[INFO] [stdout] test annotate::tests::annotate_nonstandard_residue_errors ... ok
[INFO] [stdout] test digest::tests::chymotrypsin_cuts_after_fwyl ... ok
[INFO] [stdout] test digest::tests::digest_ascii_unchanged_after_utf8_fix ... ok
[INFO] [stdout] test digest::tests::digest_single_peptide_is_both_terminal ... ok
[INFO] [stdout] test digest::tests::digest_with_length_respects_max ... ok
[INFO] [stdout] test digest::tests::digest_marks_protein_nterm ... ok
[INFO] [stdout] test digest::tests::digest_with_length_respects_min ... ok
[INFO] [stdout] test digest::tests::gluc_cuts_after_de ... ok
[INFO] [stdout] test digest::tests::digest_non_ascii_does_not_panic ... ok
[INFO] [stdout] test digest::tests::lysc_cuts_after_k_only ... ok
[INFO] [stdout] test digest::tests::nonspecific_yields_peptides_across_length_range ... ok
[INFO] [stdout] test digest::tests::peptide_length_filter ... ok
[INFO] [stdout] test digest::tests::missed_cleavages_produce_longer_peptides ... ok
[INFO] [stdout] test digest::tests::peptide_mz_calculation ... ok
[INFO] [stdout] test digest::tests::peptide_mass_calculation ... ok
[INFO] [stdout] test digest::tests::trypsin_basic_digestion ... ok
[INFO] [stdout] test digest::tests::trypsin_does_not_cut_before_p ... ok
[INFO] [stdout] test digest::tests::trypsinp_cuts_before_p ... ok
[INFO] [stdout] test fasta::tests::parse_fasta_file_not_found ... ok
[INFO] [stdout] test matching::tests::b_ion_generation ... ok
[INFO] [stdout] test matching::tests::b_ions_singly_charged_by_default ... ok
[INFO] [stdout] test matching::tests::b_ions_doubly_charged ... ok
[INFO] [stdout] test matching::tests::b_ions_include_fixed_modification ... ok
[INFO] [stdout] test matching::tests::best_score_wins ... ok
[INFO] [stdout] test matching::tests::match_correct_peptide ... ok
[INFO] [stdout] test annotate::tests::annotation_serde_roundtrip ... ok
[INFO] [stdout] test matching::tests::fixed_mods_adjust_mass ... ok
[INFO] [stdout] test matching::tests::multicharge_empty_and_single_residue ... ok
[INFO] [stdout] test matching::tests::negative_charge_does_not_panic_match_spectrum ... ok
[INFO] [stdout] test fasta::tests::parse_empty_fasta_errors ... ok
[INFO] [stdout] test matching::tests::negative_charge_does_not_panic_match_spectrum_all ... ok
[INFO] [stdout] test matching::tests::match_spectrum_localizes_variable_mod_without_overcount ... ok
[INFO] [stdout] test matching::tests::no_match_outside_tolerance ... ok
[INFO] [stdout] test matching::tests::modified_fragment_scoring_works ... ok
[INFO] [stdout] test matching::tests::positional_fragments_gate_protein_terminal_mod ... ok
[INFO] [stdout] test matching::tests::positional_fragments_carry_exactly_one_delta ... ok
[INFO] [stdout] test fasta::tests::parse_fasta_handles_blank_lines ... ok
[INFO] [stdout] test matching::tests::protein_terminal_fixed_mod_only_shifts_terminal_peptides ... ok
[INFO] [stdout] test fasta::tests::parse_simple_fasta ... ok
[INFO] [stdout] test matching::tests::multicharge_scoring_z3_precursor ... ok
[INFO] [stdout] test matching::tests::test_match_spectrum_all_empty_precursors ... ok
[INFO] [stdout] test matching::tests::test_match_spectrum_multiple_precursors ... ok
[INFO] [stdout] test matching::tests::y_ion_generation ... ok
[INFO] [stdout] test matching::tests::unknown_charge_tries_multiple ... ok
[INFO] [stdout] test matching::tests::within_tolerance_da ... ok
[INFO] [stdout] test matching::tests::within_tolerance_ppm ... ok
[INFO] [stdout] test matching::tests::within_tolerance_ppm_zero_theoretical ... ok
[INFO] [stdout] test matching::tests::y_ions_doubly_charged ... ok
[INFO] [stdout] test matching::tests::y_ions_include_fixed_modification ... ok
[INFO] [stdout] test simple_engine::tests::aggregate_peptides_returns_sorted_by_sequence ... ok
[INFO] [stdout] test matching::tests::z2_precursor_uses_only_singly_charged_fragments ... ok
[INFO] [stdout] test registry::tests::empty_registry ... ok
[INFO] [stdout] test simple_engine::tests::search_with_invalid_params_errors ... ok
[INFO] [stdout] test simple_engine::tests::engine_info_correct ... ok
[INFO] [stdout] test simple_engine::tests::aggregate_proteins_returns_sorted_by_accession ... ok
[INFO] [stdout] test simple_engine::tests::search_with_no_files_errors ... ok
[INFO] [stdout] test varmod::tests::enumerate_empty_when_no_sites ... ok
[INFO] [stdout] test simple_engine::tests::health_check_returns_healthy ... ok
[INFO] [stdout] test simple_engine::tests::search_with_short_proteins_errors ... ok
[INFO] [stdout] test varmod::tests::enumerate_mass_delta_correct ... ok
[INFO] [stdout] test tests::crate_compiles ... ok
[INFO] [stdout] test varmod::tests::enumerate_respects_max_mods ... ok
[INFO] [stdout] test varmod::tests::enumerate_nterm_and_cterm_mods_coexist ... ok
[INFO] [stdout] test varmod::tests::enumerate_single_mod_two_sites ... ok
[INFO] [stdout] test simple_engine::tests::registry_with_simple_engine ... ok
[INFO] [stdout] test varmod::tests::enumerate_single_mod_single_site ... ok
[INFO] [stdout] test varmod::tests::enumerate_two_mod_types ... ok
[INFO] [stdout] test varmod::tests::find_sites_no_matching_residues ... ok
[INFO] [stdout] test varmod::tests::enumerate_two_terminal_mods_mutually_exclusive ... ok
[INFO] [stdout] test varmod::tests::find_sites_oxidation_on_peptide_with_two_m ... ok
[INFO] [stdout] test varmod::tests::find_sites_multiple_mods ... ok
[INFO] [stdout] test varmod::tests::find_sites_phospho_on_sty ... ok
[INFO] [stdout] test varmod::tests::find_sites_protein_nterm_on_nterm_peptide ... ok
[INFO] [stdout] test varmod::tests::enumerate_terminal_mod ... ok
[INFO] [stdout] test varmod::tests::find_sites_protein_nterm_on_internal_peptide ... ok
[INFO] [stdout] test simple_engine::tests::search_produces_valid_result ... ok
[INFO] [stdout] test simple_engine::tests::search_reports_progress_stages ... ok
[INFO] [stdout] test simple_engine::tests::search_via_trait ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 118 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_integration.rs (/opt/rustwide/target/debug/deps/e2e_integration-90ebf10de77e418d)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test error_missing_file ... ok
[INFO] [stdout] test error_invalid_params ... ok
[INFO] [stdout] test scenario_c_data_exploration ... ok
[INFO] [stdout] test scenario_b_direct_params ... ok
[INFO] [stdout] test scenario_annotate_psm ... ok
[INFO] [stdout] test scenario_progress_tracking ... ok
[INFO] [stdout] test scenario_a_full_pipeline ... ok
[INFO] [stdout] test scenario_phospho_with_hints has been running for over 60 seconds
[INFO] [stdout] test scenario_phospho_with_hints ... ok
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-9b91164b42764c2c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 77.63s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stderr]      Running tests/sage_integration.rs (/opt/rustwide/target/debug/deps/sage_integration-0706a362676bfa19)
[INFO] [stdout] test fdr_reverse_decoy_strategy_fw6 ... ok
[INFO] [stdout] test variable_mod_oxidation_m ... ok
[INFO] [stdout] test full_pipeline_with_enzyme_override ... ok
[INFO] [stdout] test full_pipeline_mgf_to_search_result ... ok
[INFO] [stdout] test protein_nterm_acetylation_fw1 ... ok
[INFO] [stdout] test full_pipeline_with_phospho_hints ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test sage_engine_info_and_health ... ok
[INFO] [stdout] test sage_search_with_nonexistent_fasta_returns_error ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_spectrum_io-86909812599b8e61)
[INFO] [stdout] test sage_search_produces_results ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 138 tests
[INFO] [stdout] test disk_cache::tests::expected_total_size_guards_against_overflow ... ok
[INFO] [stdout] test disk_cache::tests::missing_idx_returns_none ... ok
[INFO] [stdout] test disk_cache::tests::idx_path_appends_extension ... ok
[INFO] [stdout] test disk_cache::tests::corrupt_magic_returns_none ... ok
[INFO] [stdout] test disk_cache::tests::truncated_file_returns_none ... ok
[INFO] [stdout] test disk_cache::tests::stale_mtime_returns_none ... ok
[INFO] [stdout] test disk_cache::tests::round_trip_save_load ... ok
[INFO] [stdout] test disk_cache::tests::large_offsets_round_trip ... ok
[INFO] [stdout] test disk_cache::tests::stale_size_returns_none ... ok
[INFO] [stdout] test disk_cache::tests::empty_index_round_trip ... ok
[INFO] [stdout] test index::tests::build_index_from_native_plain_mzml_returns_none ... ok
[INFO] [stdout] test index::tests::build_index_from_native_indexed_mzml ... ok
[INFO] [stdout] test index::tests::build_index_by_scanning_finds_spectra ... ok
[INFO] [stdout] test disk_cache::tests::v2_round_trip_with_metadata ... ok
[INFO] [stdout] test disk_cache::tests::v1_cache_triggers_rebuild ... ok
[INFO] [stdout] test index::tests::extract_between_missing ... ok
[INFO] [stdout] test index::tests::extract_between_works ... ok
[INFO] [stdout] test index::tests::extract_cv_value_no_value ... ok
[INFO] [stdout] test index::tests::extract_cv_value_basic ... ok
[INFO] [stdout] test index::tests::extract_id_attr_double_quotes ... ok
[INFO] [stdout] test index::tests::extract_id_attr_single_quotes ... ok
[INFO] [stdout] test index::tests::extract_meta_minutes_conversion ... ok
[INFO] [stdout] test index::tests::extract_meta_from_region_basic ... ok
[INFO] [stdout] test index::tests::extract_scan_from_tag_bytes_no_id ... ok
[INFO] [stdout] test index::tests::extract_scan_from_tag_bytes_standard ... ok
[INFO] [stdout] test index::tests::find_by_rt_dda_no_isolation_accepts_any_mz ... ok
[INFO] [stdout] test index::tests::find_by_rt_empty_index ... ok
[INFO] [stdout] test index::tests::find_by_rt_exact_match ... ok
[INFO] [stdout] test index::tests::find_by_rt_mz_outside_window ... ok
[INFO] [stdout] test index::tests::extract_scan_from_tag_bytes_with_controller ... ok
[INFO] [stdout] test disk_cache::tests::huge_entry_count_short_body_is_cache_miss ... ok
[INFO] [stdout] test index::tests::find_by_rt_skips_ms1 ... ok
[INFO] [stdout] test index::tests::parse_scan_from_id_ref_no_scan ... ok
[INFO] [stdout] test index::tests::parse_scan_from_id_ref_standard ... ok
[INFO] [stdout] test index::tests::parse_scan_from_id_ref_with_controller ... ok
[INFO] [stdout] test index::tests::scan_index_basic_operations ... ok
[INFO] [stdout] test index::tests::scan_index_empty ... ok
[INFO] [stdout] test index::tests::scan_index_from_meta_backward_compat ... ok
[INFO] [stdout] test index::tests::scan_index_with_meta_basic ... ok
[INFO] [stdout] test indexed_mgf::tests::duplicate_scan_keeps_first_occurrence ... ok
[INFO] [stdout] test index::tests::index_and_streaming_rt_agree_on_missing_unit ... ok
[INFO] [stdout] test indexed_mgf::tests::open_builds_index ... ok
[INFO] [stdout] test indexed_mgf::tests::read_spectrum_by_index ... ok
[INFO] [stdout] test indexed_mgf::tests::read_spectrum_not_found ... ok
[INFO] [stdout] test index::tests::byte_scan_extracts_metadata ... ok
[INFO] [stdout] test index::tests::find_by_rt_outside_tolerance ... ok
[INFO] [stdout] test index::tests::find_by_rt_picks_closest ... ok
[INFO] [stdout] test indexed_mgf::tests::indexed_vs_standard_all_scans_match ... ok
[INFO] [stdout] test index::tests::byte_scan_metadata_survives_chunk_boundary ... ok
[INFO] [stdout] test indexed_mzml::tests::list_scan_meta_returns_all_scans ... ok
[INFO] [stdout] test indexed_mzml::tests::open_creates_disk_cache ... ok
[INFO] [stdout] test index::tests::byte_scan_indexed_mzml_matches ... ok
[INFO] [stdout] test index::tests::byte_scan_matches_line_scan ... ok
[INFO] [stdout] test indexed_pfb::tests::duplicate_scan_keeps_first ... ok
[INFO] [stdout] test indexed_pfb::tests::find_by_rt_uses_index ... ok
[INFO] [stdout] test indexed_pfb::tests::list_ms2_meta_filters ... ok
[INFO] [stdout] test indexed_mzml::tests::read_spectrum_by_index_returns_correct_scan ... ok
[INFO] [stdout] test indexed_mzml::tests::open_uses_disk_cache_on_second_call ... ok
[INFO] [stdout] test indexed_mzml::tests::read_spectrum_not_found ... ok
[INFO] [stdout] test indexed_mzml::tests::open_plain_mzml_builds_scan_index ... ok
[INFO] [stdout] test indexed_mzml::tests::read_spectrum_by_index_scan_7_correct ... ok
[INFO] [stdout] test indexed_pfb::tests::open_builds_index ... ok
[INFO] [stdout] test indexed_pfb::tests::list_scan_meta_from_cache ... ok
[INFO] [stdout] test indexed_mzml::tests::open_indexed_mzml_uses_byte_scan_with_metadata ... ok
[INFO] [stdout] test indexed_pfb::tests::read_spectrum_matches_standard ... ok
[INFO] [stdout] test indexed_pfb::tests::read_spectrum_not_found ... ok
[INFO] [stdout] test mgf::tests::for_each_spectrum_streams_all ... ok
[INFO] [stdout] test mgf::tests::parse_charge_formats ... ok
[INFO] [stdout] test mgf::tests::for_each_spectrum_early_stop ... ok
[INFO] [stdout] test mgf::tests::parse_pepmass_formats ... ok
[INFO] [stdout] test mgf::tests::parse_truncated_mgf_without_end_ions ... ok
[INFO] [stdout] test mgf::tests::read_all_mz_arrays_sorted ... ok
[INFO] [stdout] test mgf::tests::read_all_peak_counts ... ok
[INFO] [stdout] test mgf::tests::read_all_spectrum_without_pepmass_intensity ... ok
[INFO] [stdout] test mgf::tests::read_all_file_not_found ... ok
[INFO] [stdout] test mgf::tests::read_all_parses_10_spectra ... ok
[INFO] [stdout] test mgf::tests::read_all_first_spectrum_correct ... ok
[INFO] [stdout] test mgf::tests::read_all_various_charge_states ... ok
[INFO] [stdout] test mgf::tests::read_spectrum_by_scan ... ok
[INFO] [stdout] test mgf::tests::read_spectrum_not_found ... ok
[INFO] [stdout] test mgf::tests::read_summary_correct ... ok
[INFO] [stdout] test mgf::tests::read_summary_validates ... ok
[INFO] [stdout] test mzml::tests::for_each_spectrum_early_stop ... ok
[INFO] [stdout] test mzml::tests::read_all_file_not_found ... ok
[INFO] [stdout] test mzml::tests::multiple_precursors_per_spectrum ... ok
[INFO] [stdout] test mzml::tests::read_all_binary_decode_correct ... ok
[INFO] [stdout] test mzml::tests::read_all_parses_10_spectra ... ok
[INFO] [stdout] test mzml::tests::read_all_first_spectrum_correct ... ok
[INFO] [stdout] test mzml::tests::decode_binary_array_accepts_legitimate_zlib ... ok
[INFO] [stdout] test mzml::tests::read_all_zlib_compressed_spectrum ... ok
[INFO] [stdout] test mzml::tests::read_all_charge_states ... ok
[INFO] [stdout] test indexed_mzml::tests::indexed_vs_standard_all_scans_match ... ok
[INFO] [stdout] test mzml::tests::read_all_mz_arrays_sorted ... ok
[INFO] [stdout] test mzml::tests::read_spectrum_by_scan ... ok
[INFO] [stdout] test mzml::tests::spectrum_ref_empty ... ok
[INFO] [stdout] test mzml::tests::read_all_peak_counts_match_mgf ... ok
[INFO] [stdout] test mzml::tests::read_spectrum_not_found ... ok
[INFO] [stdout] test mzml::tests::single_precursor_per_spectrum_preserved ... ok
[INFO] [stdout] test mzml::tests::read_summary_correct ... ok
[INFO] [stdout] test mzml::tests::spectrum_ref_full_format ... ok
[INFO] [stdout] test mzml::tests::read_summary_validates ... ok
[INFO] [stdout] test mzml::tests::for_each_spectrum_streams_all ... ok
[INFO] [stdout] test mzml::tests::spectrum_ref_no_scan ... ok
[INFO] [stdout] test mzml::tests::spectrum_ref_scan_only ... ok
[INFO] [stdout] test pfb::tests::ms2_precursor_mapping ... ok
[INFO] [stdout] test pfb::tests::ms1_has_no_precursor_and_rt_seconds_to_minutes ... ok
[INFO] [stdout] test pfb::tests::detect_and_create_reader_for_pfb ... ok
[INFO] [stdout] test pfb::tests::ms2_with_minimal_fields_falls_back ... ok
[INFO] [stdout] test pfb::tests::ms2_without_precursor_mz_errors ... ok
[INFO] [stdout] test pfb::tests::read_peaks_rejects_peak_num_above_bound ... ok
[INFO] [stdout] test pfb::tests::read_all_parses_records ... ok
[INFO] [stdout] test pfb::tests::read_spectrum_not_found ... ok
[INFO] [stdout] test pfb::tests::read_summary_counts ... ok
[INFO] [stdout] test mzml::tests::spectrum_ref_scan_after_other_key ... ok
[INFO] [stdout] test pfb::tests::read_spectrum_by_scan ... ok
[INFO] [stdout] test tests::create_indexed_reader_mgf ... ok
[INFO] [stdout] test tests::create_reader_returns_correct_type ... ok
[INFO] [stdout] test pfb::tests::truncated_file_errors ... ok
[INFO] [stdout] test pfb::tests::spectrum_format_display_pfb ... ok
[INFO] [stdout] test tests::detect_format_file_not_found ... ok
[INFO] [stdout] test tests::detect_format_case_insensitive ... ok
[INFO] [stdout] test tests::detect_format_mgf ... ok
[INFO] [stdout] test tests::detect_format_mzml ... ok
[INFO] [stdout] test util::tests::centroid_detects_local_maximum ... ok
[INFO] [stdout] test tests::detect_format_unknown_extension ... ok
[INFO] [stdout] test util::tests::centroid_empty_with_all_zero_intensity ... ok
[INFO] [stdout] test util::tests::centroid_empty_with_short_input ... ok
[INFO] [stdout] test util::tests::centroid_plateau_resolves_leftmost ... ok
[INFO] [stdout] test util::tests::centroid_threshold_filters_low_intensity_peaks ... ok
[INFO] [stdout] test util::tests::centroid_refines_mz_by_parabolic_interpolation ... ok
[INFO] [stdout] test util::tests::centroid_threshold_boundary ... ok
[INFO] [stdout] test util::tests::centroid_valley_not_detected ... ok
[INFO] [stdout] test util::tests::sort_peaks_equal_length_still_sorts ... ok
[INFO] [stdout] test util::tests::sort_peaks_length_mismatch_does_not_panic_or_truncate ... ok
[INFO] [stdout] test util::tests::centroid_output_monotonic ... ok
[INFO] [stdout] test mzml::tests::spectrum_ref_plain_number ... ok
[INFO] [stdout] test tests::create_indexed_reader_mzml ... ok
[INFO] [stdout] test mzml::tests::decode_binary_array_rejects_zlib_bomb ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 138 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-33f176260213f586)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test mgf_corrupt_file_returns_zero_spectra ... ok
[INFO] [stdout] test full_pipeline_mgf ... ok
[INFO] [stdout] test mgf_truncated_file_missing_end_ions ... ok
[INFO] [stdout] test detect_format_unknown_extension ... ok
[INFO] [stdout] test read_all_nonexistent_mgf ... ok
[INFO] [stdout] test read_all_nonexistent_mzml ... ok
[INFO] [stdout] test mzml_no_binary_arrays ... ok
[INFO] [stdout] test read_spectrum_scan_not_found_mgf ... ok
[INFO] [stdout] test mgf_and_mzml_produce_same_spectra ... ok
[INFO] [stdout] test read_spectrum_scan_not_found_mzml ... ok
[INFO] [stdout] test mgf_and_mzml_summaries_consistent ... ok
[INFO] [stdout] test full_pipeline_mzml ... ok
[INFO] [stdout] test detect_format_nonexistent_file ... ok
[INFO] [stdout] test mzml_corrupt_xml ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/protein_copilot_xic-c76901384ebe799f)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test extract::tests::compute_ion_metadata_no_k_r ... ok
[INFO] [stdout] test extract::tests::compute_ion_metadata_counts_k_r_for_b_ions ... ok
[INFO] [stdout] test extract::tests::build_target_ions_simple_peptide ... ok
[INFO] [stdout] test extract::tests::extract_intensity_max_in_window ... ok
[INFO] [stdout] test extract::tests::extract_intensity_nearest_peak ... ok
[INFO] [stdout] test extract::tests::build_target_ions_empty_sequence ... ok
[INFO] [stdout] test extract::tests::compute_ion_metadata_preserves_light_mz ... ok
[INFO] [stdout] test extract::tests::extract_intensity_sum_in_window ... ok
[INFO] [stdout] test extract::tests::extract_intensity_no_match_returns_zero ... ok
[INFO] [stdout] test extract::tests::build_target_ions_high_charge_gets_doubly_charged ... ok
[INFO] [stdout] test extract::tests::extract_intensity_ppm_tolerance ... ok
[INFO] [stdout] test extract::tests::same_isolation_window_different_center ... ok
[INFO] [stdout] test extract::tests::same_isolation_window_different_width ... ok
[INFO] [stdout] test extract::tests::same_isolation_window_identical ... ok
[INFO] [stdout] test extract::tests::trim_ms1_peaks_filters_by_mz_window ... ok
[INFO] [stdout] test heavy::tests::find_dda_heavy_scan_not_found ... ok
[INFO] [stdout] test heavy::tests::find_dda_heavy_scan_picks_closest_rt ... ok
[INFO] [stdout] test heavy::tests::find_heavy_dia_window_basic ... ok
[INFO] [stdout] test heavy::tests::find_heavy_dia_window_not_found ... ok
[INFO] [stdout] test heavy::tests::heavy_fragment_b_ion_prefix ... ok
[INFO] [stdout] test heavy::tests::heavy_fragment_doubly_charged ... ok
[INFO] [stdout] test heavy::tests::heavy_fragment_y_ion_suffix ... ok
[INFO] [stdout] test heavy::tests::heavy_precursor_k_and_r ... ok
[INFO] [stdout] test heavy::tests::heavy_precursor_no_label_residues ... ok
[INFO] [stdout] test heavy::tests::heavy_precursor_single_k ... ok
[INFO] [stdout] test extract::tests::zero_offset_peptide_skips_heavy ... ok
[INFO] [stdout] test heavy::tests::find_dda_heavy_scan_basic ... ok
[INFO] [stdout] test heavy::tests::window_contains_mz_outside ... ok
[INFO] [stdout] test heavy::tests::window_contains_mz_inside ... ok
[INFO] [stdout] test extract::tests::pfb_end_to_end_xic_via_indexed_reader ... ok
[INFO] [stdout] test extract::tests::dda_silac_heavy_extracted_from_heavy_precursor_scan ... ok
[INFO] [stdout] test extract::tests::dda_silac_missing_heavy_scan_emits_warning ... ok
[INFO] [stdout] test extract::tests::extract_intensity_empty_spectrum ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_core
[INFO] [stderr]    Doc-tests protein_copilot_dia_extraction
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_entrapment_analysis
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/entrapment-analysis/src/mod_parser.rs - mod_parser::parse_modified_sequence (line 51) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.21s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_fasta_db
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_fdr
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests test_helpers
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_param_recommend
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_protein_inference
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_report
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_result_import
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_search_engine
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_spectrum_io
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/spectrum-io/src/lib.rs - (line 13) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests protein_copilot_xic
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019", kill_on_drop: false }`
[INFO] [stdout] f55088390816157ddb204611ad17432ef9b7e4312badc76c24b4e7de36dda019
