[INFO] cloning repository https://github.com/Aux0x7F/constitute-nvr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Aux0x7F/constitute-nvr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAux0x7F%2Fconstitute-nvr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAux0x7F%2Fconstitute-nvr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1a48dbe77b7162c28dce7d9760130e267def5c60
[INFO] testing Aux0x7F/constitute-nvr against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAux0x7F%2Fconstitute-nvr" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Aux0x7F/constitute-nvr
[INFO] finished tweaking git repo https://github.com/Aux0x7F/constitute-nvr
[INFO] tweaked toml for git repo https://github.com/Aux0x7F/constitute-nvr written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Aux0x7F/constitute-nvr on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Aux0x7F/constitute-nvr 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/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] 0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a
[INFO] running `Command { std: "docker" "start" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a", 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" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a", 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" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling webrtc-util v0.7.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling opaque-debug v0.3.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling rusticata-macros v4.1.0
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling asn1-rs-impl v0.1.0
[INFO] [stderr]    Compiling pem-rfc7468 v0.6.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling zeroize_derive v1.4.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling der v0.6.1
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling spki v0.6.0
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling pkcs8 v0.9.0
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling crypto-bigint v0.4.9
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling asn1-rs-derive v0.4.0
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling ff v0.12.1
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling base16ct v0.1.1
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling sec1 v0.3.0
[INFO] [stderr]    Compiling asn1-rs v0.5.2
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling group v0.12.1
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling asn1-rs-derive v0.1.0
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling cipher v0.2.5
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling oid-registry v0.6.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling asn1-rs v0.3.1
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling elliptic-curve v0.12.3
[INFO] [stderr]    Compiling rfc6979 v0.3.1
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling signature v1.6.4
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]    Compiling cipher v0.3.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling oid-registry v0.4.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling rtp v0.8.0
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling ecdsa v0.14.8
[INFO] [stderr]    Compiling arc-swap v1.9.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling der-parser v8.2.0
[INFO] [stderr]    Compiling derive_builder_core v0.11.2
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling substring v1.4.5
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling stun v0.4.4
[INFO] [stderr]    Compiling x509-parser v0.14.0
[INFO] [stderr]    Compiling derive_builder_macro v0.11.2
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rtcp v0.9.0
[INFO] [stderr]    Compiling der-parser v7.0.0
[INFO] [stderr]    Compiling aes v0.7.5
[INFO] [stderr]    Compiling ctr v0.8.0
[INFO] [stderr]    Compiling aes-soft v0.6.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling waitgroup v0.1.2
[INFO] [stderr]    Compiling chacha20 v0.9.1
[INFO] [stderr]    Compiling webpki v0.21.4
[INFO] [stderr]    Compiling sct v0.6.1
[INFO] [stderr]    Compiling pem v1.1.1
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling poly1305 v0.8.0
[INFO] [stderr]    Compiling aead v0.4.3
[INFO] [stderr]    Compiling socket2 v0.4.10
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling aead v0.3.2
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling phf_shared v0.12.1
[INFO] [stderr]    Compiling webrtc-mdns v0.5.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling ccm v0.3.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling rcgen v0.10.0
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling chacha20poly1305 v0.10.1
[INFO] [stderr]    Compiling block-modes v0.7.0
[INFO] [stderr]    Compiling curve25519-dalek v3.2.0
[INFO] [stderr]    Compiling webrtc-srtp v0.10.0
[INFO] [stderr]    Compiling rustls v0.19.1
[INFO] [stderr]    Compiling aes v0.6.0
[INFO] [stderr]    Compiling x509-parser v0.13.2
[INFO] [stderr]    Compiling secp256k1 v0.29.1
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling turn v0.6.1
[INFO] [stderr]    Compiling derive_builder v0.11.2
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling p256 v0.11.1
[INFO] [stderr]    Compiling p384 v0.11.2
[INFO] [stderr]    Compiling webrtc-sctp v0.8.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling chrono-tz v0.10.4
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling webrtc-data v0.7.0
[INFO] [stderr]    Compiling webrtc-ice v0.9.1
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling webrtc-dtls v0.7.2
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling constitute-protocol v0.1.0 (https://github.com/Aux0x7F/constitute-protocol?branch=main#e0db9421)
[INFO] [stderr]    Compiling sdp v0.5.3
[INFO] [stderr]    Compiling interceptor v0.9.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling phf v0.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling webrtc-media v0.6.1
[INFO] [stderr]    Compiling smol_str v0.2.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling webrtc v0.8.0
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling cfb-mode v0.8.2
[INFO] [stderr]    Compiling des v0.8.1
[INFO] [stderr]    Compiling roxmltree v0.20.0
[INFO] [stderr]    Compiling constitute-fabric v0.1.0 (https://github.com/Aux0x7F/constitute-fabric?branch=main#433f5439)
[INFO] [stderr]    Compiling constitute-nvr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `CameraDeviceDesiredConfig`
[INFO] [stdout]  --> src/api.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::config::{CameraDeviceConfig, CameraDeviceDesiredConfig, Config};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mount::mount_camera_device`
[INFO] [stdout]    --> src/camera_device/mod.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub use mount::mount_camera_device;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webrtc::peer_connection::sdp::session_description::RTCSessionDescription`
[INFO] [stdout]   --> src/live/stream_records.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use webrtc::peer_connection::sdp::session_description::RTCSessionDescription;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `api_route_manifest` is never used
[INFO] [stdout]   --> src/api.rs:97:15
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub(crate) fn api_route_manifest() -> &'static [&'static str] {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraDeviceMountResult` is never constructed
[INFO] [stdout]    --> src/camera_device/mod.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct CameraDeviceMountResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_driver_mount` is never used
[INFO] [stdout]     --> src/camera_device/mod.rs:1685:10
[INFO] [stdout]      |
[INFO] [stdout] 1685 | async fn apply_driver_mount(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_vendor` is never used
[INFO] [stdout]     --> src/camera_device/mod.rs:3222:4
[INFO] [stdout]      |
[INFO] [stdout] 3222 | fn derive_vendor(candidate: &DiscoveredCameraCandidate, driver_id: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_state` is never used
[INFO] [stdout]    --> src/camera_device/drivers/reolink/cgi.rs:773:14
[INFO] [stdout]     |
[INFO] [stdout] 773 | pub async fn apply_state(request: &ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReolinkStateApplyRequest` is never constructed
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ReolinkStateApplyRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `normalized` is never used
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl ReolinkStateApplyRequest {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 295 |     pub fn normalized(self) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReolinkStateApplyResult` is never constructed
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct ReolinkStateApplyResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_state` is never used
[INFO] [stdout]     --> src/camera_device/drivers/reolink/driver.rs:1159:14
[INFO] [stdout]      |
[INFO] [stdout] 1159 | pub async fn read_state(request: ReolinkConnectRequest) -> Result<ReolinkStateResult> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_state` is never used
[INFO] [stdout]     --> src/camera_device/drivers/reolink/driver.rs:1216:14
[INFO] [stdout]      |
[INFO] [stdout] 1216 | pub async fn apply_state(request: ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mount_camera_device` is never used
[INFO] [stdout]  --> src/camera_device/mount.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn mount_camera_device(
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_hello_proof` is never used
[INFO] [stdout]   --> src/crypto.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn compute_hello_proof(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_hello_proof` is never used
[INFO] [stdout]   --> src/crypto.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn verify_hello_proof(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_session_key` is never used
[INFO] [stdout]   --> src/crypto.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn derive_session_key(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_payload` is never used
[INFO] [stdout]   --> src/crypto.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub fn decrypt_payload(session_key: &[u8], nonce: &[u8; 24], ciphertext: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_b64_exact` is never used
[INFO] [stdout]    --> src/crypto.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn decode_b64_exact(b64: &str, expected_len: usize) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stream_session_health_records` is never used
[INFO] [stdout]   --> src/media_projection/mod.rs:68:8
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn stream_session_health_records(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_token` is never used
[INFO] [stdout]    --> src/media_projection/mod.rs:341:4
[INFO] [stdout]     |
[INFO] [stdout] 341 | fn record_token(value: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `service_ref` is never used
[INFO] [stdout]    --> src/media_projection/mod.rs:356:4
[INFO] [stdout]     |
[INFO] [stdout] 356 | fn service_ref(service_pk: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_keypair` is never used
[INFO] [stdout]   --> src/nostr.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn generate_keypair() -> (String, String) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pubkey_from_sk_hex` is never used
[INFO] [stdout]   --> src/nostr.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn pubkey_from_sk_hex(sk_hex: &str) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `xonly_pk_hex` is never used
[INFO] [stdout]    --> src/nostr.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn xonly_pk_hex(keypair: &Keypair) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SegmentEntry` is never constructed
[INFO] [stdout]   --> src/storage.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct SegmentEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list_segments` and `read_segment` are never used
[INFO] [stdout]    --> src/storage.rs:83:18
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl StorageManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub async fn list_segments(&self, source_id: &str, limit: usize) -> Result<Vec<SegmentEntry>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn read_segment(&self, source_id: &str, name: &str) -> Result<Vec<u8>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_pin_intent_for_segment` is never used
[INFO] [stdout]    --> src/storage.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn storage_pin_intent_for_segment(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `storage_pin_intent_for_history` is never used
[INFO] [stdout]    --> src/storage.rs:169:8
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub fn storage_pin_intent_for_history(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decrypt_blob` is never used
[INFO] [stdout]    --> src/storage.rs:245:4
[INFO] [stdout]     |
[INFO] [stdout] 245 | fn decrypt_blob(key: &[u8], blob: &[u8]) -> Result<Vec<u8>> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `segment_object_ref` is never used
[INFO] [stdout]    --> src/storage.rs:259:4
[INFO] [stdout]     |
[INFO] [stdout] 259 | fn segment_object_ref(source_id: &str, name: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `metadata_manifest_hash` is never used
[INFO] [stdout]    --> src/storage.rs:267:4
[INFO] [stdout]     |
[INFO] [stdout] 267 | fn metadata_manifest_hash(value: &serde_json::Value) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_token` is never used
[INFO] [stdout]    --> src/storage.rs:274:4
[INFO] [stdout]     |
[INFO] [stdout] 274 | fn record_token(value: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `authority_ref` is never used
[INFO] [stdout]    --> src/storage.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn authority_ref(service_pk: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `retention_class` is never used
[INFO] [stdout]    --> src/storage.rs:303:4
[INFO] [stdout]     |
[INFO] [stdout] 303 | fn retention_class(retention: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_offer_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1673:4
[INFO] [stdout]      |
[INFO] [stdout] 1673 | fn is_stream_offer_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_control_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1683:4
[INFO] [stdout]      |
[INFO] [stdout] 1683 | fn is_stream_control_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_candidate_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1690:4
[INFO] [stdout]      |
[INFO] [stdout] 1690 | fn is_stream_candidate_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_close_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1697:4
[INFO] [stdout]      |
[INFO] [stdout] 1697 | fn is_stream_close_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5m 38s
[INFO] running `Command { std: "docker" "inspect" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a", 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" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling constitute-nvr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `mount::mount_camera_device`
[INFO] [stdout]    --> src/camera_device/mod.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub use mount::mount_camera_device;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CameraDeviceMountResult` is never constructed
[INFO] [stdout]    --> src/camera_device/mod.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct CameraDeviceMountResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_driver_mount` is never used
[INFO] [stdout]     --> src/camera_device/mod.rs:1685:10
[INFO] [stdout]      |
[INFO] [stdout] 1685 | async fn apply_driver_mount(
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_vendor` is never used
[INFO] [stdout]     --> src/camera_device/mod.rs:3222:4
[INFO] [stdout]      |
[INFO] [stdout] 3222 | fn derive_vendor(candidate: &DiscoveredCameraCandidate, driver_id: &str) -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_state` is never used
[INFO] [stdout]    --> src/camera_device/drivers/reolink/cgi.rs:773:14
[INFO] [stdout]     |
[INFO] [stdout] 773 | pub async fn apply_state(request: &ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReolinkStateApplyRequest` is never constructed
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ReolinkStateApplyRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `normalized` is never used
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl ReolinkStateApplyRequest {
[INFO] [stdout]     | ----------------------------- method in this implementation
[INFO] [stdout] 295 |     pub fn normalized(self) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReolinkStateApplyResult` is never constructed
[INFO] [stdout]    --> src/camera_device/drivers/reolink/driver.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct ReolinkStateApplyResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_state` is never used
[INFO] [stdout]     --> src/camera_device/drivers/reolink/driver.rs:1159:14
[INFO] [stdout]      |
[INFO] [stdout] 1159 | pub async fn read_state(request: ReolinkConnectRequest) -> Result<ReolinkStateResult> {
[INFO] [stdout]      |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_state` is never used
[INFO] [stdout]     --> src/camera_device/drivers/reolink/driver.rs:1216:14
[INFO] [stdout]      |
[INFO] [stdout] 1216 | pub async fn apply_state(request: ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mount_camera_device` is never used
[INFO] [stdout]  --> src/camera_device/mount.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub async fn mount_camera_device(
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `derive_session_key` is never used
[INFO] [stdout]   --> src/crypto.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn derive_session_key(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_b64_exact` is never used
[INFO] [stdout]    --> src/crypto.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub fn decode_b64_exact(b64: &str, expected_len: usize) -> Result<Vec<u8>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pubkey_from_sk_hex` is never used
[INFO] [stdout]   --> src/nostr.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn pubkey_from_sk_hex(sk_hex: &str) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list_segments` and `read_segment` are never used
[INFO] [stdout]    --> src/storage.rs:83:18
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl StorageManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub async fn list_segments(&self, source_id: &str, limit: usize) -> Result<Vec<SegmentEntry>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub async fn read_segment(&self, source_id: &str, name: &str) -> Result<Vec<u8>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_offer_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1673:4
[INFO] [stdout]      |
[INFO] [stdout] 1673 | fn is_stream_offer_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_stream_close_frame` is never used
[INFO] [stdout]     --> src/swarm_edge.rs:1697:4
[INFO] [stdout]      |
[INFO] [stdout] 1697 | fn is_stream_close_frame(frame: &SwarmFrame) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 43.18s
[INFO] running `Command { std: "docker" "inspect" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a", 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" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `mount::mount_camera_device`
[INFO] [stderr]    --> src/camera_device/mod.rs:236:9
[INFO] [stderr]     |
[INFO] [stderr] 236 | pub use mount::mount_camera_device;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CameraDeviceMountResult` is never constructed
[INFO] [stderr]    --> src/camera_device/mod.rs:259:12
[INFO] [stderr]     |
[INFO] [stderr] 259 | pub struct CameraDeviceMountResult {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `apply_driver_mount` is never used
[INFO] [stderr]     --> src/camera_device/mod.rs:1685:10
[INFO] [stderr]      |
[INFO] [stderr] 1685 | async fn apply_driver_mount(
[INFO] [stderr]      |          ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `derive_vendor` is never used
[INFO] [stderr]     --> src/camera_device/mod.rs:3222:4
[INFO] [stderr]      |
[INFO] [stderr] 3222 | fn derive_vendor(candidate: &DiscoveredCameraCandidate, driver_id: &str) -> String {
[INFO] [stderr]      |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `apply_state` is never used
[INFO] [stderr]    --> src/camera_device/drivers/reolink/cgi.rs:773:14
[INFO] [stderr]     |
[INFO] [stderr] 773 | pub async fn apply_state(request: &ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReolinkStateApplyRequest` is never constructed
[INFO] [stderr]    --> src/camera_device/drivers/reolink/driver.rs:269:12
[INFO] [stderr]     |
[INFO] [stderr] 269 | pub struct ReolinkStateApplyRequest {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `normalized` is never used
[INFO] [stderr]    --> src/camera_device/drivers/reolink/driver.rs:295:12
[INFO] [stderr]     |
[INFO] [stderr] 294 | impl ReolinkStateApplyRequest {
[INFO] [stderr]     | ----------------------------- method in this implementation
[INFO] [stderr] 295 |     pub fn normalized(self) -> Result<Self> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ReolinkStateApplyResult` is never constructed
[INFO] [stderr]    --> src/camera_device/drivers/reolink/driver.rs:314:12
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub struct ReolinkStateApplyResult {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `read_state` is never used
[INFO] [stderr]     --> src/camera_device/drivers/reolink/driver.rs:1159:14
[INFO] [stderr]      |
[INFO] [stderr] 1159 | pub async fn read_state(request: ReolinkConnectRequest) -> Result<ReolinkStateResult> {
[INFO] [stderr]      |              ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `apply_state` is never used
[INFO] [stderr]     --> src/camera_device/drivers/reolink/driver.rs:1216:14
[INFO] [stderr]      |
[INFO] [stderr] 1216 | pub async fn apply_state(request: ReolinkStateApplyRequest) -> Result<ReolinkStateApplyResult> {
[INFO] [stderr]      |              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mount_camera_device` is never used
[INFO] [stderr]  --> src/camera_device/mount.rs:3:14
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub async fn mount_camera_device(
[INFO] [stderr]   |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `derive_session_key` is never used
[INFO] [stderr]   --> src/crypto.rs:52:8
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub fn derive_session_key(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `decode_b64_exact` is never used
[INFO] [stderr]    --> src/crypto.rs:118:8
[INFO] [stderr]     |
[INFO] [stderr] 118 | pub fn decode_b64_exact(b64: &str, expected_len: usize) -> Result<Vec<u8>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pubkey_from_sk_hex` is never used
[INFO] [stderr]   --> src/nostr.rs:38:8
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub fn pubkey_from_sk_hex(sk_hex: &str) -> Result<String> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `list_segments` and `read_segment` are never used
[INFO] [stderr]    --> src/storage.rs:83:18
[INFO] [stderr]     |
[INFO] [stderr]  30 | impl StorageManager {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  83 |     pub async fn list_segments(&self, source_id: &str, limit: usize) -> Result<Vec<SegmentEntry>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 |     pub async fn read_segment(&self, source_id: &str, name: &str) -> Result<Vec<u8>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_stream_offer_frame` is never used
[INFO] [stderr]     --> src/swarm_edge.rs:1673:4
[INFO] [stderr]      |
[INFO] [stderr] 1673 | fn is_stream_offer_frame(frame: &SwarmFrame) -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_stream_close_frame` is never used
[INFO] [stderr]     --> src/swarm_edge.rs:1697:4
[INFO] [stderr]      |
[INFO] [stderr] 1697 | fn is_stream_close_frame(frame: &SwarmFrame) -> bool {
[INFO] [stderr]      |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `constitute-nvr` (bin "constitute-nvr" test) generated 17 warnings (run `cargo fix --bin "constitute-nvr" -p constitute-nvr --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.57s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/constitute_nvr-c43f8c60415d04c5)
[INFO] [stdout] 
[INFO] [stdout] running 195 tests
[INFO] [stdout] test api::tests::api_route_manifest_omits_retired_product_routes ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::parses_digest_challenge ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::reolink_date_format_label_accepts_string_payloads ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::presentation_verify_failures_accept_matching_requested_fields ... ok
[INFO] [stdout] test api::tests::camera_drift_reconcile_safe_facts_do_not_expose_transport_or_secrets ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::presentation_verify_failures_detect_requested_overlay_drift ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::cgi_net_port_maps_to_setup_configs ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::parses_login_uninitialized_error ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::set_reolink_timezone_preserves_numeric_wire_shape ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::converts_bridge_configs_to_core_models ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::native_password_candidates_preserve_blank_first_for_factory_reset ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::generates_device_password_with_expected_shape ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::normalizes_mac ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::parses_dhcp_message_type ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::parses_reolink_discovery_payload ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::setup_request_defaults_username ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::setup_request_generates_password_when_requested ... ok
[INFO] [stdout] test camera_device::drivers::reolink::driver::tests::skips_binary_garbage_in_reolink_discovery_payload ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_expected_handshake_probe_frame ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::reolink_hour_format_label_maps_one_to_12h ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::reolink_http_crypto_roundtrips ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::reolink_timezone_label_accepts_numeric_payloads ... ok
[INFO] [stdout] test camera_device::drivers::reolink::cgi::tests::set_reolink_date_format_preserves_string_wire_shape ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::bcencrypt_roundtrip ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_expected_login_xml_and_frame_shape ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_extended_frame_roundtrip ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_login_message_layout_roundtrip ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_observed_native_prepare_ptz_frame ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_observed_native_ptz_get_frame ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_observed_native_ptz_set_frame ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_observed_native_session_bind_frame ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_observed_native_session_login_frame ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::builds_short_frame_roundtrip ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::computes_expected_modern_login_hashes ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::decodes_observed_password_secret ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::encodes_observed_password_secret ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::decrypts_observed_native_ptz_get_response ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::exposes_public_wrapper_metadata ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::detects_diffs_confined_to_credential_blocks ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::decrypts_observed_handshake_and_extracts_nonce ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::derives_expected_native_aes_key ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::extracts_observed_handshake_windows ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::extracts_server_handshake_body ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::identifies_known_transport_ops ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::login_matches_observed_server_prefix ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::native_ptz_position_xml_roundtrips ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::observed_login_frame_matches_declared_length ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::maps_confirmed_observed_dispatches ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::observes_server_ok_code ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::maps_confirmed_observed_primary_transport ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::maps_confirmed_observed_transport_ops ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_and_builds_net_normal_port_layout ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_and_builds_force_password_layout ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_and_builds_net_advanced_port_layout ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_and_builds_p2p_cfg_layout ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_extended_request_header ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_short_handshake_header ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_login_message_layout ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::splits_multiple_extended_frames ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::replaces_login_blocks_and_preserves_observed_middle ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::splits_observed_login_blocks ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::encode_login_token_matches_camera_vector ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::parse_system_info_extracts_40e_family ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_and_builds_auth_info_layout ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::parse_time_config_extracts_ntp_and_timezone_code ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_and_builds_auth_code_layout ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::parses_and_builds_boot_pwd_state_layout ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::render_manual_time_config_xml_switches_to_manual ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::render_ntp_time_config_xml_clears_summer_offset_for_site_policy ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::user_overlay_requires_clear_detects_hidden_text_or_enabled_slots ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::parse_video_config_extracts_title_and_formats ... ok
[INFO] [stdout] test camera_device::drivers::reolink::proto::tests::extracts_login_credential_window ... ok
[INFO] [stdout] test camera_device::protocol::onvif::tests::maps_phoenix_onvif_timezone_bidirectionally ... ok
[INFO] [stdout] test camera_device::protocol::onvif::tests::manual_datetime_xml_accepts_datetime_local_values ... ok
[INFO] [stdout] test camera_device::protocol::onvif::tests::ntp_manual_entry_uses_ipv4_or_dns ... ok
[INFO] [stdout] test camera_device::reconcile::tests::neighbor_entries_parse_lladdr_rows ... ok
[INFO] [stdout] test camera_device::reconcile::tests::reolink_identity_match_accepts_existing_mac_source_id ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::render_user_overlay_config_xml_updates_first_user_overlay ... ok
[INFO] [stdout] test camera_device::reconcile::tests::camera_config_changed_detects_meaningful_delta ... ok
[INFO] [stdout] test camera_device::reconcile::tests::reconcile_gate_only_uses_actionable_drift ... ok
[INFO] [stdout] test camera_device::reconcile::tests::reolink_identity_macs_include_source_id_suffix ... ok
[INFO] [stdout] test camera_device::reconcile::tests::reolink_source_id_detects_ip_derived_legacy ... ok
[INFO] [stdout] test camera_device::tests::candidate_display_name_prefers_model_then_title_then_hostname ... ok
[INFO] [stdout] test camera_device::tests::candidate_ptz_detection_recognizes_reolink_e1_family ... ok
[INFO] [stdout] test camera_device::tests::derive_rtsp_url_uses_xm_path_shape ... ok
[INFO] [stdout] test camera_device::tests::display_name_change_keeps_overlay_text_linked_by_default ... ok
[INFO] [stdout] test camera_device::tests::display_name_change_preserves_custom_overlay_text ... ok
[INFO] [stdout] test camera_device::tests::observed_site_time_offset_secs_accepts_current_phoenix_time ... ok
[INFO] [stdout] test camera_device::tests::generic_driver_matches_standards_camera ... ok
[INFO] [stdout] test camera_device::reconcile::tests::reolink_resolved_config_prefers_uid_source_id_and_rewrites_endpoint ... ok
[INFO] [stdout] test camera_device::tests::reolink_match_wins_over_generic ... ok
[INFO] [stdout] test camera_device::tests::observed_ptz_capability_promotes_rendered_capabilities ... ok
[INFO] [stdout] test camera_device::tests::observed_site_time_offset_secs_detects_large_clock_lead ... ok
[INFO] [stdout] test camera_device::tests::reolink_native_settle_checks_only_requested_axes ... ok
[INFO] [stdout] test camera_device::tests::reolink_observed_manual_time_prefers_feed_truth_from_presentation ... ok
[INFO] [stdout] test camera_device::tests::reolink_cgi_fallback_uses_directional_pulse_for_steps ... ok
[INFO] [stdout] test camera_device::tests::reolink_e1_native_profile_round_trips_normalized_pose ... ok
[INFO] [stdout] test camera_device::tests::reolink_observed_step_plan_prefers_largest_remaining_axis ... ok
[INFO] [stdout] test camera_device::tests::reolink_observed_timezone_prefers_feed_truth_from_presentation ... ok
[INFO] [stdout] test camera_device::tests::reolink_source_id_prefers_uid_then_mac_over_ip ... ok
[INFO] [stdout] test camera_device::tests::reolink_observed_step_plan_returns_none_inside_tolerance ... ok
[INFO] [stdout] test camera_device::tests::requested_verification_failures_intersect_requested_fields_only ... ok
[INFO] [stdout] test camera_device::tests::reolink_onvif_plane_gates_capabilities_to_supported_fields ... ok
[INFO] [stdout] test camera_device::tests::reolink_verification_accepts_site_timezone_when_feed_truth_matches ... ok
[INFO] [stdout] test camera_device::tests::requested_apply_fields_include_display_and_overlay_changes ... ok
[INFO] [stdout] test camera_device::tests::rewrite_rtsp_url_host_preserves_credentials_and_path ... ok
[INFO] [stdout] test camera_device::tests::transport_only_fallback_does_not_advertise_config_controls ... ok
[INFO] [stdout] test camera_device::tests::site_local_time_string_formats_current_phoenix_time ... ok
[INFO] [stdout] test camera_device::tests::xm_display_name_change_does_not_link_hidden_overlay_fields ... ok
[INFO] [stdout] test camera_device::tests::xm_driver_matches_xm_fingerprint_before_generic ... ok
[INFO] [stdout] test config::tests::apply_defaults_falls_back_to_utc_when_timezone_cannot_be_detected ... ok
[INFO] [stdout] test config::tests::apply_defaults_derives_camera_network_ranges ... ok
[INFO] [stdout] test config::tests::apply_defaults_derives_camera_network_timezone_from_host_sources ... ok
[INFO] [stdout] test config::tests::apply_defaults_converges_reolink_ip_source_id_when_mac_is_known ... ok
[INFO] [stdout] test config::tests::apply_defaults_populates_keys ... ok
[INFO] [stdout] test config::tests::apply_defaults_allows_http_and_https_disabled_when_onvif_recovery_exists ... ok
[INFO] [stdout] test config::tests::apply_defaults_repairs_live_preview_port_range ... ok
[INFO] [stdout] test config::tests::apply_defaults_sets_pair_enrollment_defaults ... ok
[INFO] [stdout] test config::tests::apply_defaults_repairs_lockout_prone_hardening_defaults ... ok
[INFO] [stdout] test config::tests::apply_defaults_uses_generic_driver_when_driver_id_is_missing ... ok
[INFO] [stdout] test config::tests::apply_defaults_derives_manifest_url ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::clear_user_overlay_config_xml_blanks_all_slots ... ok
[INFO] [stdout] test crypto::tests::proof_roundtrip ... ok
[INFO] [stdout] test config::tests::default_config_has_expected_role ... ok
[INFO] [stdout] test config::tests::failed_rotation_keeps_pending_candidate_for_recovery ... ok
[INFO] [stdout] test hosted_registry::tests::hosted_service_manifest_omits_retired_product_routes ... ok
[INFO] [stdout] test config::tests::credential_rotation_history_retains_previous_and_pending_passwords ... ok
[INFO] [stdout] test live::preview::tests::firefox_compatible_answer_adds_media_stream_ids ... ok
[INFO] [stdout] test config::tests::default_config_has_ui_defaults ... ok
[INFO] [stdout] test crypto::tests::encrypt_roundtrip ... ok
[INFO] [stdout] test config::tests::camera_desired_config_accepts_camel_case_api_fields ... ok
[INFO] [stdout] test live::preview::tests::ice_lite_service_ignores_browser_stun_hints ... ok
[INFO] [stdout] test live::preview::tests::live_preview_udp_mux_skips_busy_port_in_range ... ok
[INFO] [stdout] test live::preview::tests::close_session_id_prefers_explicit_payload_session ... ok
[INFO] [stdout] test live::preview::tests::live_preview_ffmpeg_args_add_genpts_for_vp8 ... ok
[INFO] [stdout] test live::preview::tests::peer_state_maps_to_media_transport_witness_posture ... ok
[INFO] [stdout] test live::preview::tests::parse_offer_uses_nested_description ... ok
[INFO] [stdout] test live::preview::tests::live_preview_udp_mux_binds_one_owned_transport_port ... ok
[INFO] [stdout] test live::preview::tests::live_preview_ffmpeg_args_omit_genpts_for_h264_copy ... ok
[INFO] [stdout] test live::preview::tests::preview_rtsp_url_uses_xm_substream ... ok
[INFO] [stdout] test live::preview::tests::preview_refresh_matches_previous_or_current_source ... ok
[INFO] [stdout] test camera_device::drivers::xm_40e::driver::tests::render_overlay_config_xml_extracts_overlay_payload ... ok
[INFO] [stdout] test live::preview::tests::media_transport_leases_overlap_by_source_and_bound_capacity ... ok
[INFO] [stdout] test live::preview::tests::preview_url_prefers_reolink_substream ... ok
[INFO] [stdout] test live::preview::tests::request_candidates_accept_top_level_and_nested_offer_candidates ... ok
[INFO] [stdout] test live::preview::tests::answerer_advertises_ice_lite ... ok
[INFO] [stdout] test live::preview::tests::select_preview_codec_prefers_h264_when_available ... ok
[INFO] [stdout] test live::preview::tests::service_source_rtp_wait_observations_use_media_transport_contract ... ok
[INFO] [stdout] test live::preview::tests::select_preview_codec_prefers_vp8_for_xm_sources ... ok
[INFO] [stdout] test live::preview::tests::select_sources_defaults_to_enabled ... ok
[INFO] [stdout] test live::preview::tests::select_preview_codec_falls_back_to_vp8 ... ok
[INFO] [stdout] test live::preview::tests::request_candidates_reject_missing_actionable_endpoint ... ok
[INFO] [stdout] test live::stream_records::tests::parses_candidate_endpoint_evidence ... ok
[INFO] [stdout] test media_projection::tests::aggregate_projection_state_prefers_degraded_then_active ... ok
[INFO] [stdout] test media_projection::tests::media_projection_status_records_validate_without_sensitive_details ... ok
[INFO] [stdout] test media_projection::tests::preferred_projection_codec_uses_vp8_for_xm_only ... ok
[INFO] [stdout] test media_projection::tests::projection_logging_safe_facts_omit_credential_material ... ok
[INFO] [stdout] test media_projection::tests::projection_no_packet_timeout_stays_short ... ok
[INFO] [stdout] test media_projection::tests::projection_refresh_matches_previous_or_current_source ... ok
[INFO] [stdout] test media_projection::tests::projection_rtp_continuity_rewrites_large_restart_jumps ... ok
[INFO] [stdout] test live::stream_records::tests::maps_webrtc_answer_to_stream_record_without_media_bytes ... ok
[INFO] [stdout] test live::stream_records::tests::close_record_uses_explicit_session_id_over_fresh_authority_nonce ... ok
[INFO] [stdout] test recording::runtime::tests::backoff_bounds ... ok
[INFO] [stdout] test live::preview::tests::validate_stream_authority_accepts_matching_gateway_and_service ... ok
[INFO] [stdout] test live::stream_records::tests::maps_control_record_without_media_byte_fields ... ok
[INFO] [stdout] test nostr::tests::sign_and_verify_roundtrip ... ok
[INFO] [stdout] test recording::runtime::tests::xm_record_args_use_video_only_copy ... ok
[INFO] [stdout] test storage::tests::encrypt_decrypt_blob_roundtrip ... ok
[INFO] [stdout] test storage::tests::segment_and_history_outputs_create_valid_storage_pin_intents_without_media_bytes ... ok
[INFO] [stdout] test swarm_edge::tests::candidate_frames_are_routed_separately_from_control_frames ... ok
[INFO] [stdout] test recording::runtime::tests::parse_xaddr ... ok
[INFO] [stdout] test swarm::tests::device_record_advertises_swarm_edge_capabilities_without_session_route ... ok
[INFO] [stdout] test live::preview::tests::answer_uses_sendonly_for_recvonly_video_offer_lines ... ok
[INFO] [stdout] test swarm_edge::tests::gateway_frame_admission_ignores_non_executable_route_records ... ok
[INFO] [stdout] test live::preview::tests::select_preview_codec_rejects_xm_without_vp8_offer ... ok
[INFO] [stdout] test swarm_edge::tests::claims_accept_embedded_authority ... ok
[INFO] [stdout] test swarm::tests::pair_request_event_contains_required_tags_and_payload ... ok
[INFO] [stdout] test live::stream_records::tests::maps_webrtc_offer_and_candidates_to_valid_stream_records ... ok
[INFO] [stdout] test swarm_edge::tests::gateway_frame_admission_rejects_targeted_stream_without_zone_scope ... ok
[INFO] [stdout] test swarm_edge::tests::opened_claims_require_route_promise_reference ... ok
[INFO] [stdout] test swarm_edge::tests::non_targeted_frames_are_ignored ... ok
[INFO] [stdout] test swarm_edge::tests::stream_frame_headers_require_route_channel_and_capability ... ok
[INFO] [stdout] test swarm_edge::tests::stream_projection_delta_coverage_is_materializable_by_runtime ... ok
[INFO] [stdout] test swarm_edge::tests::candidate_response_emits_candidate_health_and_projection_delta_frames ... ok
[INFO] [stdout] test swarm_edge::tests::targeted_invalid_stream_frame_returns_reject_without_dropping_edge_session ... ok
[INFO] [stdout] test swarm_edge::tests::opens_runtime_issued_caac_and_rejects_issuer_mismatch ... ok
[INFO] [stdout] test swarm_edge::tests::member_read_observation_uses_shared_route_contract ... ok
[INFO] [stdout] test swarm_edge::tests::offer_admission_frames_emit_before_answer_materialization ... ok
[INFO] [stdout] test swarm_edge::tests::transport_observation_frame_uses_shared_media_contract ... ok
[INFO] [stdout] test swarm_edge::tests::transport_observation_frame_survives_parent_path_expiry ... ok
[INFO] [stdout] test swarm_edge_client::tests::builds_valid_swarm_edge_hello_wire_record ... ok
[INFO] [stdout] test swarm_edge_client::tests::parses_only_generic_gateway_edge_stream_records ... ok
[INFO] [stdout] test swarm_edge::tests::control_and_close_emit_stream_status_and_projection_delta_frames ... ok
[INFO] [stdout] test swarm_edge::tests::offer_response_emits_answer_candidate_status_and_projection_delta_frames ... ok
[INFO] [stdout] test swarm_edge::tests::offer_response_targets_runtime_return_zone_scope ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 195 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a", kill_on_drop: false }`
[INFO] [stdout] 0f72780d52d77f42c90bc9bea70f9877bd4e215423c99b01ce3a65298cddbc4a
