[INFO] cloning repository https://github.com/ANAVHEOBA/p2pmesh
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ANAVHEOBA/p2pmesh" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FANAVHEOBA%2Fp2pmesh", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FANAVHEOBA%2Fp2pmesh'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 10557b712b1aad75aa24858bd23518c9b1b3d84e
[INFO] testing ANAVHEOBA/p2pmesh against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FANAVHEOBA%2Fp2pmesh" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ANAVHEOBA/p2pmesh
[INFO] finished tweaking git repo https://github.com/ANAVHEOBA/p2pmesh
[INFO] tweaked toml for git repo https://github.com/ANAVHEOBA/p2pmesh written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ANAVHEOBA/p2pmesh on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ANAVHEOBA/p2pmesh 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bitcoin-io v0.1.4
[INFO] [stderr]   Downloaded rw-stream-sink v0.4.0
[INFO] [stderr]   Downloaded data-encoding-macro v0.1.18
[INFO] [stderr]   Downloaded multibase v0.9.2
[INFO] [stderr]   Downloaded data-encoding-macro-internal v0.1.16
[INFO] [stderr]   Downloaded multiaddr v0.18.2
[INFO] [stderr]   Downloaded unsigned-varint v0.8.0
[INFO] [stderr]   Downloaded match-lookup v0.1.1
[INFO] [stderr]   Downloaded base256emoji v1.0.2
[INFO] [stderr]   Downloaded multihash v0.19.3
[INFO] [stderr]   Downloaded const-str v0.4.3
[INFO] [stderr]   Downloaded libp2p-yamux v0.47.0
[INFO] [stderr]   Downloaded unsigned-varint v0.7.2
[INFO] [stderr]   Downloaded multistream-select v0.13.0
[INFO] [stderr]   Downloaded libp2p v0.56.0
[INFO] [stderr]   Downloaded libp2p-identity v0.2.13
[INFO] [stderr]   Downloaded libp2p-swarm-derive v0.35.1
[INFO] [stderr]   Downloaded xmltree v0.10.3
[INFO] [stderr]   Downloaded yamux v0.13.8
[INFO] [stderr]   Downloaded yamux v0.12.1
[INFO] [stderr]   Downloaded quick-protobuf v0.8.1
[INFO] [stderr]   Downloaded libp2p-core v0.43.2
[INFO] [stderr]   Downloaded libp2p-upnp v0.5.0
[INFO] [stderr]   Downloaded igd-next v0.16.2
[INFO] [stderr]   Downloaded secp256k1 v0.29.1
[INFO] [stderr]   Downloaded attohttpc v0.30.1
[INFO] [stderr]   Downloaded libp2p-tcp v0.44.0
[INFO] [stderr]   Downloaded libp2p-swarm v0.47.0
[INFO] [stderr]   Downloaded portable-atomic v1.12.0
[INFO] [stderr]   Downloaded sled v0.34.7
[INFO] [stderr]   Downloaded if-watch v3.2.1
[INFO] [stderr]   Downloaded windows-core v0.53.0
[INFO] [stderr]   Downloaded rtnetlink v0.13.1
[INFO] [stderr]   Downloaded netlink-sys v0.8.7
[INFO] [stderr]   Downloaded netlink-proto v0.11.5
[INFO] [stderr]   Downloaded if-addrs v0.10.2
[INFO] [stderr]   Downloaded netlink-packet-route v0.17.1
[INFO] [stderr]   Downloaded secp256k1-sys v0.10.1
[INFO] [stderr]   Downloaded libp2p-quic v0.13.0
[INFO] [stderr]   Downloaded libp2p-tls v0.6.2
[INFO] [stderr]   Downloaded x509-parser v0.17.0
[INFO] [stderr]   Downloaded asn1-rs v0.7.1
[INFO] [stderr]   Downloaded windows v0.53.0
[INFO] [stderr]   Downloaded rcgen v0.13.2
[INFO] [stderr]   Downloaded libp2p-noise v0.46.1
[INFO] [stderr]   Downloaded snow v0.9.6
[INFO] [stderr]   Downloaded asynchronous-codec v0.7.0
[INFO] [stderr]   Downloaded libp2p-metrics v0.17.0
[INFO] [stderr]   Downloaded quick-protobuf-codec v0.3.1
[INFO] [stderr]   Downloaded prometheus-client v0.23.1
[INFO] [stderr]   Downloaded libp2p-identify v0.47.0
[INFO] [stderr]   Downloaded futures-bounded v0.2.4
[INFO] [stderr]   Downloaded hex_fmt v0.3.0
[INFO] [stderr]   Downloaded libp2p-mdns v0.48.0
[INFO] [stderr]   Downloaded libp2p-gossipsub v0.49.2
[INFO] [stderr]   Downloaded libp2p-dns v0.44.0
[INFO] [stderr]   Downloaded ipconfig v0.3.2
[INFO] [stderr]   Downloaded hickory-proto v0.25.2
[INFO] [stderr]   Downloaded moka v0.12.12
[INFO] [stderr]   Downloaded libp2p-connection-limits v0.6.0
[INFO] [stderr]   Downloaded libp2p-allow-block-list v0.6.0
[INFO] [stderr]   Downloaded hickory-resolver v0.25.2
[INFO] [stderr]   Downloaded bitcoin-units v0.1.2
[INFO] [stderr]   Downloaded bech32 v0.11.1
[INFO] [stderr]   Downloaded hex_lit v0.1.1
[INFO] [stderr]   Downloaded bitcoin-internals v0.3.0
[INFO] [stderr]   Downloaded bitcoin v0.32.8
[INFO] [stderr]   Downloaded base58ck v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c
[INFO] running `Command { std: "docker" "start" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c", 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" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c", 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" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling portable-atomic v1.12.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling unsigned-varint v0.8.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling quick-protobuf v0.8.1
[INFO] [stderr]    Compiling const-str v0.4.3
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling multihash v0.19.3
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling base-x v0.2.11
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling unsigned-varint v0.7.2
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling bitcoin-io v0.1.4
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling bitcoin-internals v0.3.0
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling hex-conservative v0.2.2
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling snow v0.9.6
[INFO] [stderr]    Compiling bitcoin_hashes v0.14.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling nohash-hasher v0.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling heapless v0.7.17
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling hash32 v0.2.1
[INFO] [stderr]    Compiling hex_fmt v0.3.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling bitcoin v0.32.8
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling base58ck v0.1.0
[INFO] [stderr]    Compiling bitcoin-units v0.1.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling bech32 v0.11.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling sled v0.34.7
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling match-lookup v0.1.1
[INFO] [stderr]    Compiling base256emoji v1.0.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling data-encoding-macro-internal v0.1.16
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling data-encoding-macro v0.1.18
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling multibase v0.9.2
[INFO] [stderr]    Compiling libp2p-swarm-derive v0.35.1
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling cobs v0.3.0
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling secp256k1 v0.29.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling libp2p-identity v0.2.13
[INFO] [stderr]    Compiling netlink-packet-utils v0.5.2
[INFO] [stderr]    Compiling x25519-dalek v2.0.1
[INFO] [stderr]    Compiling netlink-packet-core v0.7.0
[INFO] [stderr]    Compiling netlink-packet-route v0.17.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling bip39 v2.2.2
[INFO] [stderr]    Compiling clap v4.5.53
[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 postcard v1.1.3
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling asynchronous-codec v0.7.0
[INFO] [stderr]    Compiling futures-bounded v0.2.4
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling rw-stream-sink v0.4.0
[INFO] [stderr]    Compiling multistream-select v0.13.0
[INFO] [stderr]    Compiling yamux v0.13.8
[INFO] [stderr]    Compiling yamux v0.12.1
[INFO] [stderr]    Compiling quick-protobuf-codec v0.3.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling multiaddr v0.18.2
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling netlink-sys v0.8.7
[INFO] [stderr]    Compiling netlink-proto v0.11.5
[INFO] [stderr]    Compiling libp2p-core v0.43.2
[INFO] [stderr]    Compiling rtnetlink v0.13.1
[INFO] [stderr]    Compiling libp2p-swarm v0.47.0
[INFO] [stderr]    Compiling libp2p-yamux v0.47.0
[INFO] [stderr]    Compiling libp2p-noise v0.46.1
[INFO] [stderr]    Compiling if-watch v3.2.1
[INFO] [stderr]    Compiling libp2p-tcp v0.44.0
[INFO] [stderr]    Compiling libp2p-identify v0.47.0
[INFO] [stderr]    Compiling libp2p-mdns v0.48.0
[INFO] [stderr]    Compiling libp2p-gossipsub v0.49.2
[INFO] [stderr]    Compiling libp2p-connection-limits v0.6.0
[INFO] [stderr]    Compiling libp2p-allow-block-list v0.6.0
[INFO] [stderr]    Compiling libp2p v0.56.0
[INFO] [stderr]    Compiling p2pmesh v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/lora.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let mut info = ConnectionInfo::new(address.clone());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/gateway/settler.rs:524:30
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let mut last_error = String::new();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 558 |                     last_error = e;
[INFO] [stdout]     |                     ---------- `last_error` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_id_write`
[INFO] [stdout]    --> src/transport/tcp.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let conn_id_write = conn_id.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id_write`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]    --> src/transport/lora.rs:519:25
[INFO] [stdout]     |
[INFO] [stdout] 519 |         let (device_id, frequency) = match address {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_bytes`
[INFO] [stdout]    --> src/transport/lora.rs:541:13
[INFO] [stdout]     |
[INFO] [stdout] 541 |         let header_bytes = header.to_bytes();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inner` is never used
[INFO] [stdout]    --> src/identity/keypair.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl SecretKey {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub(crate) fn inner(&self) -> &SigningKey {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `rssi` are never read
[INFO] [stdout]    --> src/transport/ble.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | struct DiscoveredDevice {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 211 |     address: PeerAddress,
[INFO] [stdout] 212 |     name: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 213 |     rssi: Option<i8>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiscoveredDevice` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c", 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" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/lora.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let mut info = ConnectionInfo::new(address.clone());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/gateway/settler.rs:524:30
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let mut last_error = String::new();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 558 |                     last_error = e;
[INFO] [stdout]     |                     ---------- `last_error` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_id_write`
[INFO] [stdout]    --> src/transport/tcp.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let conn_id_write = conn_id.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id_write`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]    --> src/transport/lora.rs:519:25
[INFO] [stdout]     |
[INFO] [stdout] 519 |         let (device_id, frequency) = match address {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_bytes`
[INFO] [stdout]    --> src/transport/lora.rs:541:13
[INFO] [stdout]     |
[INFO] [stdout] 541 |         let header_bytes = header.to_bytes();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inner` is never used
[INFO] [stdout]    --> src/identity/keypair.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl SecretKey {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub(crate) fn inner(&self) -> &SigningKey {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `rssi` are never read
[INFO] [stdout]    --> src/transport/ble.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | struct DiscoveredDevice {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 211 |     address: PeerAddress,
[INFO] [stdout] 212 |     name: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 213 |     rssi: Option<i8>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiscoveredDevice` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling p2pmesh v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Vault`
[INFO] [stdout]   --> tests/ledger/conflict_test.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use p2pmesh::vault::{Vault, UTXOId};
[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: `MergeResult`
[INFO] [stdout]  --> tests/ledger/crdt_test.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use p2pmesh::ledger::{GSet, IOUEntry, MergeResult};
[INFO] [stdout]   |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GossipEvent`
[INFO] [stdout]  --> tests/sync/gossip_test.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GossipConfig, GossipEngine, GossipEvent, SyncRequest, SyncResponse,
[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: `PublicKey`
[INFO] [stdout]  --> tests/identity/did_test.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use p2pmesh::identity::{Keypair, Did, PublicKey};
[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: `SignedIOU`
[INFO] [stdout]  --> tests/vault/balance_test.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use p2pmesh::iou::{IOUBuilder, SignedIOU};
[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: `VaultError`
[INFO] [stdout]  --> tests/vault/critical_fixes_test.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use p2pmesh::vault::{Vault, VaultError, UTXOType};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SignedIOU`
[INFO] [stdout]  --> tests/vault/spending_test.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use p2pmesh::iou::{IOUBuilder, SignedIOU, IOUId};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SignedIOU`
[INFO] [stdout]  --> tests/vault/utxo_test.rs:4:32
[INFO] [stdout]   |
[INFO] [stdout] 4 | use p2pmesh::iou::{IOUBuilder, SignedIOU, IOUId};
[INFO] [stdout]   |                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NetPosition`
[INFO] [stdout]   --> tests/gateway/collector_test.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 |     SettlementEntry, NetPosition,
[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: `SignedIOU`
[INFO] [stdout]  --> tests/iou/builder_test.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 | use p2pmesh::iou::{IOUBuilder, SignedIOU, IOUError};
[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: `Signer`
[INFO] [stdout]  --> tests/iou/edge_cases_test.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use p2pmesh::identity::{Keypair, Did, Signer, Signature};
[INFO] [stdout]   |                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CollectorError` and `SettlerError`
[INFO] [stdout]  --> tests/gateway/edge_cases_test.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Collector, CollectorConfig, CollectorError,
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 9 |     Settler, SettlerConfig, SettlerError,
[INFO] [stdout]   |                             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `p2pmesh::sync::Message`
[INFO] [stdout]  --> tests/transport/traits_test.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use p2pmesh::sync::Message;
[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: `p2pmesh::sync::Message`
[INFO] [stdout]  --> tests/transport/tcp_test.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use p2pmesh::sync::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `p2pmesh::ledger::NodeId`
[INFO] [stdout]  --> tests/transport/tcp_test.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use p2pmesh::ledger::NodeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `p2pmesh::ledger::NodeId`
[INFO] [stdout]  --> tests/transport/ble_test.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use p2pmesh::ledger::NodeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConnectionId`
[INFO] [stdout]  --> tests/transport/lora_test.rs:8:50
[INFO] [stdout]   |
[INFO] [stdout] 8 |     TransportEvent, TransportState, PeerAddress, ConnectionId,
[INFO] [stdout]   |                                                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `p2pmesh::ledger::NodeId`
[INFO] [stdout]   --> tests/transport/lora_test.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use p2pmesh::ledger::NodeId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `p2pmesh::sync::Message`
[INFO] [stdout]  --> tests/transport/edge_cases_test.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use p2pmesh::sync::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `p2pmesh::ledger::NodeId`
[INFO] [stdout]  --> tests/transport/edge_cases_test.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use p2pmesh::ledger::NodeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `recipient_kp`
[INFO] [stdout]   --> tests/iou/validator_test.rs:36:33
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let (signed_iou, sender_kp, recipient_kp) = create_valid_signed_iou();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipient_kp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/vault/balance_test.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut vault = Vault::new(bob.public_key());
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vault`
[INFO] [stdout]    --> tests/vault/balance_test.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let mut vault = Vault::new(bob.public_key());
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vault`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alice`
[INFO] [stdout]    --> tests/vault/balance_test.rs:537:9
[INFO] [stdout]     |
[INFO] [stdout] 537 |     let alice = Keypair::generate();
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `batch_id`
[INFO] [stdout]    --> tests/gateway/settler_test.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let batch_id = batch.id().clone();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tests/vault/edge_cases_test.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     for i in 0..num_senders {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r1`
[INFO] [stdout]    --> tests/vault/edge_cases_test.rs:439:9
[INFO] [stdout]     |
[INFO] [stdout] 439 |     let r1 = vault.reserve_balance(30).unwrap();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r3`
[INFO] [stdout]    --> tests/vault/edge_cases_test.rs:441:9
[INFO] [stdout]     |
[INFO] [stdout] 441 |     let r3 = vault.reserve_balance(40).unwrap();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `incoming_id`
[INFO] [stdout]    --> tests/vault/spending_test.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |     let incoming_id = incoming.id();
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_incoming_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outgoing_charlie`
[INFO] [stdout]    --> tests/vault/spending_test.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |     let outgoing_charlie = IOUBuilder::new()
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outgoing_charlie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> tests/vault/edge_cases_test.rs:566:37
[INFO] [stdout]     |
[INFO] [stdout] 566 |         assert!(utxos.is_empty() || change >= 0);
[INFO] [stdout]     |                                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> tests/vault/spending_test.rs:349:5
[INFO] [stdout]     |
[INFO] [stdout] 349 |     set.add(spent);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 349 |     let _ = set.add(spent);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `settlement_result`
[INFO] [stdout]    --> tests/gateway/edge_cases_test.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |     let settlement_result = result.unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settlement_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]   --> tests/gateway/collector_test.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |     assert!(config.min_iou_age_secs >= 0);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transport`
[INFO] [stdout]  --> tests/transport/traits_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Transport, TransportConfig, TransportError, TransportEvent, TransportState,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_id`
[INFO] [stdout]    --> tests/transport/tcp_test.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |     let conn_id = result.unwrap();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_id`
[INFO] [stdout]    --> tests/transport/tcp_test.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |     let conn_id = client.connect(server_addr).await.unwrap();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transport`
[INFO] [stdout]    --> tests/transport/ble_test.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |     let transport = BleTransport::new(config);
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/lora.rs:647:13
[INFO] [stdout]     |
[INFO] [stdout] 647 |         let mut info = ConnectionInfo::new(address.clone());
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_error` is never read
[INFO] [stdout]    --> src/gateway/settler.rs:524:30
[INFO] [stdout]     |
[INFO] [stdout] 524 |         let mut last_error = String::new();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 558 |                     last_error = e;
[INFO] [stdout]     |                     ---------- `last_error` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_id_write`
[INFO] [stdout]    --> src/transport/tcp.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let conn_id_write = conn_id.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id_write`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]    --> src/transport/lora.rs:519:25
[INFO] [stdout]     |
[INFO] [stdout] 519 |         let (device_id, frequency) = match address {
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header_bytes`
[INFO] [stdout]    --> src/transport/lora.rs:541:13
[INFO] [stdout]     |
[INFO] [stdout] 541 |         let header_bytes = header.to_bytes();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_bytes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inner` is never used
[INFO] [stdout]    --> src/identity/keypair.rs:142:19
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl SecretKey {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub(crate) fn inner(&self) -> &SigningKey {
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `rssi` are never read
[INFO] [stdout]    --> src/transport/ble.rs:212:5
[INFO] [stdout]     |
[INFO] [stdout] 210 | struct DiscoveredDevice {
[INFO] [stdout]     |        ---------------- fields in this struct
[INFO] [stdout] 211 |     address: PeerAddress,
[INFO] [stdout] 212 |     name: Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 213 |     rssi: Option<i8>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DiscoveredDevice` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.77s
[INFO] running `Command { std: "docker" "inspect" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c", 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" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/lora.rs:647:13
[INFO] [stderr]     |
[INFO] [stderr] 647 |         let mut info = ConnectionInfo::new(address.clone());
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `last_error` is never read
[INFO] [stderr]    --> src/gateway/settler.rs:524:30
[INFO] [stderr]     |
[INFO] [stderr] 524 |         let mut last_error = String::new();
[INFO] [stderr]     |                              ^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 558 |                     last_error = e;
[INFO] [stderr]     |                     ---------- `last_error` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conn_id_write`
[INFO] [stderr]    --> src/transport/tcp.rs:155:13
[INFO] [stderr]     |
[INFO] [stderr] 155 |         let conn_id_write = conn_id.clone();
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id_write`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `frequency`
[INFO] [stderr]    --> src/transport/lora.rs:519:25
[INFO] [stderr]     |
[INFO] [stderr] 519 |         let (device_id, frequency) = match address {
[INFO] [stderr]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `header_bytes`
[INFO] [stderr]    --> src/transport/lora.rs:541:13
[INFO] [stderr]     |
[INFO] [stderr] 541 |         let header_bytes = header.to_bytes();
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_header_bytes`
[INFO] [stderr] 
[INFO] [stderr] warning: method `inner` is never used
[INFO] [stderr]    --> src/identity/keypair.rs:142:19
[INFO] [stderr]     |
[INFO] [stderr] 118 | impl SecretKey {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 142 |     pub(crate) fn inner(&self) -> &SigningKey {
[INFO] [stderr]     |                   ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `rssi` are never read
[INFO] [stderr]    --> src/transport/ble.rs:212:5
[INFO] [stderr]     |
[INFO] [stderr] 210 | struct DiscoveredDevice {
[INFO] [stderr]     |        ---------------- fields in this struct
[INFO] [stderr] 211 |     address: PeerAddress,
[INFO] [stderr] 212 |     name: Option<String>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 213 |     rssi: Option<i8>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DiscoveredDevice` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `p2pmesh` (lib) generated 7 warnings (run `cargo fix --lib -p p2pmesh` to apply 4 suggestions)
[INFO] [stderr] warning: unused import: `PublicKey`
[INFO] [stderr]  --> tests/identity/did_test.rs:1:39
[INFO] [stderr]   |
[INFO] [stderr] 1 | use p2pmesh::identity::{Keypair, Did, PublicKey};
[INFO] [stderr]   |                                       ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Vault`
[INFO] [stderr]   --> tests/ledger/conflict_test.rs:10:22
[INFO] [stderr]    |
[INFO] [stderr] 10 | use p2pmesh::vault::{Vault, UTXOId};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MergeResult`
[INFO] [stderr]  --> tests/ledger/crdt_test.rs:6:39
[INFO] [stderr]   |
[INFO] [stderr] 6 | use p2pmesh::ledger::{GSet, IOUEntry, MergeResult};
[INFO] [stderr]   |                                       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GossipEvent`
[INFO] [stderr]  --> tests/sync/gossip_test.rs:8:33
[INFO] [stderr]   |
[INFO] [stderr] 8 |     GossipConfig, GossipEngine, GossipEvent, SyncRequest, SyncResponse,
[INFO] [stderr]   |                                 ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NetPosition`
[INFO] [stderr]   --> tests/gateway/collector_test.rs:10:22
[INFO] [stderr]    |
[INFO] [stderr] 10 |     SettlementEntry, NetPosition,
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CollectorError` and `SettlerError`
[INFO] [stderr]  --> tests/gateway/edge_cases_test.rs:8:33
[INFO] [stderr]   |
[INFO] [stderr] 8 |     Collector, CollectorConfig, CollectorError,
[INFO] [stderr]   |                                 ^^^^^^^^^^^^^^
[INFO] [stderr] 9 |     Settler, SettlerConfig, SettlerError,
[INFO] [stderr]   |                             ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `batch_id`
[INFO] [stderr]    --> tests/gateway/settler_test.rs:122:9
[INFO] [stderr]     |
[INFO] [stderr] 122 |     let batch_id = batch.id().clone();
[INFO] [stderr]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_batch_id`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `settlement_result`
[INFO] [stderr]    --> tests/gateway/edge_cases_test.rs:380:9
[INFO] [stderr]     |
[INFO] [stderr] 380 |     let settlement_result = result.unwrap();
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_settlement_result`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]   --> tests/gateway/collector_test.rs:45:13
[INFO] [stderr]    |
[INFO] [stderr] 45 |     assert!(config.min_iou_age_secs >= 0);
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SignedIOU`
[INFO] [stderr]  --> tests/vault/balance_test.rs:4:32
[INFO] [stderr]   |
[INFO] [stderr] 4 | use p2pmesh::iou::{IOUBuilder, SignedIOU};
[INFO] [stderr]   |                                ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `VaultError`
[INFO] [stderr]  --> tests/vault/critical_fixes_test.rs:8:29
[INFO] [stderr]   |
[INFO] [stderr] 8 | use p2pmesh::vault::{Vault, VaultError, UTXOType};
[INFO] [stderr]   |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SignedIOU`
[INFO] [stderr]  --> tests/vault/spending_test.rs:4:32
[INFO] [stderr]   |
[INFO] [stderr] 4 | use p2pmesh::iou::{IOUBuilder, SignedIOU, IOUId};
[INFO] [stderr]   |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SignedIOU`
[INFO] [stderr]  --> tests/vault/utxo_test.rs:4:32
[INFO] [stderr]   |
[INFO] [stderr] 4 | use p2pmesh::iou::{IOUBuilder, SignedIOU, IOUId};
[INFO] [stderr]   |                                ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/vault/balance_test.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |     let mut vault = Vault::new(bob.public_key());
[INFO] [stderr]     |         ----^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vault`
[INFO] [stderr]    --> tests/vault/balance_test.rs:170:9
[INFO] [stderr]     |
[INFO] [stderr] 170 |     let mut vault = Vault::new(bob.public_key());
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vault`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alice`
[INFO] [stderr]    --> tests/vault/balance_test.rs:537:9
[INFO] [stderr]     |
[INFO] [stderr] 537 |     let alice = Keypair::generate();
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_alice`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tests/vault/edge_cases_test.rs:171:9
[INFO] [stderr]     |
[INFO] [stderr] 171 |     for i in 0..num_senders {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r1`
[INFO] [stderr]    --> tests/vault/edge_cases_test.rs:439:9
[INFO] [stderr]     |
[INFO] [stderr] 439 |     let r1 = vault.reserve_balance(30).unwrap();
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `r3`
[INFO] [stderr]    --> tests/vault/edge_cases_test.rs:441:9
[INFO] [stderr]     |
[INFO] [stderr] 441 |     let r3 = vault.reserve_balance(40).unwrap();
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_r3`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `incoming_id`
[INFO] [stderr]    --> tests/vault/spending_test.rs:174:9
[INFO] [stderr]     |
[INFO] [stderr] 174 |     let incoming_id = incoming.id();
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_incoming_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `outgoing_charlie`
[INFO] [stderr]    --> tests/vault/spending_test.rs:191:9
[INFO] [stderr]     |
[INFO] [stderr] 191 |     let outgoing_charlie = IOUBuilder::new()
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outgoing_charlie`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> tests/vault/edge_cases_test.rs:566:37
[INFO] [stderr]     |
[INFO] [stderr] 566 |         assert!(utxos.is_empty() || change >= 0);
[INFO] [stderr]     |                                     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> tests/vault/spending_test.rs:349:5
[INFO] [stderr]     |
[INFO] [stderr] 349 |     set.add(spent);
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 349 |     let _ = set.add(spent);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SignedIOU`
[INFO] [stderr]  --> tests/iou/builder_test.rs:2:32
[INFO] [stderr]   |
[INFO] [stderr] 2 | use p2pmesh::iou::{IOUBuilder, SignedIOU, IOUError};
[INFO] [stderr]   |                                ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Signer`
[INFO] [stderr]  --> tests/iou/edge_cases_test.rs:1:39
[INFO] [stderr]   |
[INFO] [stderr] 1 | use p2pmesh::identity::{Keypair, Did, Signer, Signature};
[INFO] [stderr]   |                                       ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `recipient_kp`
[INFO] [stderr]   --> tests/iou/validator_test.rs:36:33
[INFO] [stderr]    |
[INFO] [stderr] 36 |     let (signed_iou, sender_kp, recipient_kp) = create_valid_signed_iou();
[INFO] [stderr]    |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_recipient_kp`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `p2pmesh::sync::Message`
[INFO] [stderr]  --> tests/transport/traits_test.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use p2pmesh::sync::Message;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `p2pmesh::sync::Message`
[INFO] [stderr]  --> tests/transport/tcp_test.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use p2pmesh::sync::Message;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `p2pmesh::ledger::NodeId`
[INFO] [stderr]  --> tests/transport/tcp_test.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use p2pmesh::ledger::NodeId;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `p2pmesh::ledger::NodeId`
[INFO] [stderr]  --> tests/transport/ble_test.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use p2pmesh::ledger::NodeId;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ConnectionId`
[INFO] [stderr]  --> tests/transport/lora_test.rs:8:50
[INFO] [stderr]   |
[INFO] [stderr] 8 |     TransportEvent, TransportState, PeerAddress, ConnectionId,
[INFO] [stderr]   |                                                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `p2pmesh::ledger::NodeId`
[INFO] [stderr]   --> tests/transport/lora_test.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use p2pmesh::ledger::NodeId;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `p2pmesh::sync::Message`
[INFO] [stderr]  --> tests/transport/edge_cases_test.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use p2pmesh::sync::Message;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `p2pmesh::ledger::NodeId`
[INFO] [stderr]  --> tests/transport/edge_cases_test.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use p2pmesh::ledger::NodeId;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transport`
[INFO] [stderr]  --> tests/transport/traits_test.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     Transport, TransportConfig, TransportError, TransportEvent, TransportState,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conn_id`
[INFO] [stderr]    --> tests/transport/tcp_test.rs:215:9
[INFO] [stderr]     |
[INFO] [stderr] 215 |     let conn_id = result.unwrap();
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conn_id`
[INFO] [stderr]    --> tests/transport/tcp_test.rs:433:9
[INFO] [stderr]     |
[INFO] [stderr] 433 |     let conn_id = client.connect(server_addr).await.unwrap();
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conn_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `transport`
[INFO] [stderr]    --> tests/transport/ble_test.rs:449:9
[INFO] [stderr]     |
[INFO] [stderr] 449 |     let transport = BleTransport::new(config);
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transport`
[INFO] [stderr] 
[INFO] [stderr] warning: `p2pmesh` (test "identity_tests") generated 1 warning (run `cargo fix --test "identity_tests" -p p2pmesh` to apply 1 suggestion)
[INFO] [stderr] warning: `p2pmesh` (test "ledger_tests") generated 2 warnings (run `cargo fix --test "ledger_tests" -p p2pmesh` to apply 2 suggestions)
[INFO] [stderr] warning: `p2pmesh` (test "sync_tests") generated 1 warning (run `cargo fix --test "sync_tests" -p p2pmesh` to apply 1 suggestion)
[INFO] [stderr] warning: `p2pmesh` (test "gateway_tests") generated 5 warnings (run `cargo fix --test "gateway_tests" -p p2pmesh` to apply 4 suggestions)
[INFO] [stderr] warning: `p2pmesh` (lib test) generated 7 warnings (7 duplicates)
[INFO] [stderr] warning: `p2pmesh` (test "vault_tests") generated 14 warnings (run `cargo fix --test "vault_tests" -p p2pmesh` to apply 12 suggestions)
[INFO] [stderr] warning: `p2pmesh` (test "iou_tests") generated 3 warnings (run `cargo fix --test "iou_tests" -p p2pmesh` to apply 3 suggestions)
[INFO] [stderr] warning: `p2pmesh` (test "transport_tests") generated 12 warnings (run `cargo fix --test "transport_tests" -p p2pmesh` to apply 11 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/p2pmesh-3d69ecaf10cb40dd)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test identity::did::tests::test_did_roundtrip ... ok
[INFO] [stdout] test ledger::crdt::tests::test_gset_merge ... ok
[INFO] [stdout] test ledger::crdt::tests::test_gset_basic_operations ... ok
[INFO] [stdout] test sync::gossip::tests::test_gossip_engine_basic ... ok
[INFO] [stdout] test ledger::conflict::tests::test_spending_claim_creation ... ok
[INFO] [stdout] test sync::peer::tests::test_peer_registry_add_remove ... ok
[INFO] [stdout] test sync::protocol::tests::test_message_id_uniqueness ... ok
[INFO] [stdout] test sync::protocol::tests::test_message_serialization ... ok
[INFO] [stdout] test ledger::conflict::tests::test_double_spend_detection ... ok
[INFO] [stdout] test ledger::crdt::tests::test_gset_delta ... ok
[INFO] [stdout] test ledger::state::tests::test_mesh_state_basic ... ok
[INFO] [stdout] test sync::peer::tests::test_peer_registry_cannot_add_self ... ok
[INFO] [stdout] test ledger::conflict::tests::test_conflict_detector_basic ... ok
[INFO] [stdout] test sync::peer::tests::test_peer_info_basic ... ok
[INFO] [stdout] test identity::keypair::tests::test_generate_keypair ... ok
[INFO] [stdout] test sync::gossip::tests::test_gossip_announce_and_collect ... ok
[INFO] [stdout] test ledger::state::tests::test_add_iou ... ok
[INFO] [stdout] test ledger::state::tests::test_merge_states ... ok
[INFO] [stdout] test sync::gossip::tests::test_gossip_process_iou_announcement ... ok
[INFO] [stdout] test identity::signer::tests::test_sign_and_verify ... ok
[INFO] [stdout] test identity::signer::tests::test_wrong_message_fails ... ok
[INFO] [stdout] test storage::store::tests::test_store_basic ... ok
[INFO] [stdout] test storage::store::tests::test_store_persistence ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mesh-b05654fbd3593cfd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/gateway_tests.rs (/opt/rustwide/target/debug/deps/gateway_tests-8ea9ff40e95bccf2)
[INFO] [stdout] 
[INFO] [stdout] running 103 tests
[INFO] [stdout] test gateway::collector_test::test_batch_id_from_bytes ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_collect_from_empty_state ... ok
[INFO] [stdout] test gateway::collector_test::test_batch_id_display ... ok
[INFO] [stdout] test gateway::collector_test::test_batch_id_generation ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_config_default ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_create_batch_empty ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_config_custom ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_config_with_settlement_threshold ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_new ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_config_validation ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_with_config ... ok
[INFO] [stdout] test gateway::collector_test::test_net_position_bidirectional ... ok
[INFO] [stdout] test gateway::collector_test::test_net_position_perfectly_balanced ... ok
[INFO] [stdout] test gateway::collector_test::test_net_position_single_direction ... ok
[INFO] [stdout] test gateway::collector_test::test_net_position_three_parties ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_collect_single_iou ... ok
[INFO] [stdout] test gateway::collector_test::test_settlement_batch_created_at ... ok
[INFO] [stdout] test gateway::collector_test::test_settlement_batch_creation ... ok
[INFO] [stdout] test gateway::collector_test::test_settlement_batch_has_id ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_reset_stats ... ok
[INFO] [stdout] test gateway::collector_test::test_settlement_batch_add_entry ... ok
[INFO] [stdout] test gateway::collector_test::test_settlement_batch_status_transitions ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_update_batch_status ... ok
[INFO] [stdout] test gateway::collector_test::test_settlement_entry_from_iou ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_skips_already_collected ... ok
[INFO] [stdout] test gateway::collector_test::test_settlement_batch_multiple_entries ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_batch_id_all_ones ... ok
[INFO] [stdout] test gateway::collector_test::test_settlement_entry_serialization ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_batch_id_all_zeros ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_batch_status_all_states ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_batch_id_serialization ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_batch_status_display ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_collector_invalid_config ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_collector_max_batch_size_boundary ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_remove_batch ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_get_batch ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_stats ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_net_position_circular_debt ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_net_position_empty_batch ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_collector_min_batch_size_one ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_filters_by_min_amount ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_net_position_single_entry ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_collector_state_after_clear ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settlement_batch_large_amounts ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_create_batch_min_size_not_met ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settlement_batch_serialization ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settler_config_zero_retries ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settlement_entry_preserves_iou_id ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_net_position_star_topology ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settler_recovery_after_failure ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settler_process_all_batches ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_create_batch ... ok
[INFO] [stdout] test gateway::settler_test::test_mock_target_failure ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_collect_by_sender ... ok
[INFO] [stdout] test gateway::settler_test::test_settlement_receipt_creation ... ok
[INFO] [stdout] test gateway::settler_test::test_settlement_receipt_serialization ... ok
[INFO] [stdout] test gateway::settler_test::test_settlement_receipt_with_metadata ... ok
[INFO] [stdout] test gateway::settler_test::test_settlement_result_failure ... ok
[INFO] [stdout] test gateway::settler_test::test_settlement_result_success ... ok
[INFO] [stdout] test gateway::settler_test::test_settlement_result_with_attempts ... ok
[INFO] [stdout] test gateway::settler_test::test_settlement_result_with_receipt ... ok
[INFO] [stdout] test gateway::settler_test::test_mock_target_success ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_cancel_not_found ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_cancel_already_processed ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_config_custom ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_cancel_pending ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_config_default ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_config_validation ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_config_with_api_key ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_config_with_endpoint ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_event_settlement_complete ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_event_batch_submitted ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_collect_by_recipient ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_events ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_get_status ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_batch_id_uniqueness ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_new ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_event_settlement_failed ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_process_max_retries_exceeded ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_process_success ... ok
[INFO] [stdout] test gateway::settler_test::test_mock_target_delay ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_process_not_found ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_process_with_retry ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_stats_with_failures ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_submit_duplicate_batch ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_list_by_status ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_submit_empty_batch ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settler_many_batches ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_submit_batch ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_submit_without_target ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_stats ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_with_mock_target ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_pending_batches ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_collect_multiple_ious ... ok
[INFO] [stdout] test gateway::collector_test::test_collector_create_batch_respects_max_size ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_net_position_many_small_transactions ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_collector_sequential_operations ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settlement_batch_max_entries ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_collector_many_different_parties ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_collector_rapid_batch_creation ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_collector_many_ious_same_parties ... ok
[INFO] [stdout] test gateway::settler_test::test_settler_process_failure ... ok
[INFO] [stdout] test gateway::edge_cases_test::test_settler_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 103 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 34.29s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/identity_tests.rs (/opt/rustwide/target/debug/deps/identity_tests-899fb79e232c65e5)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test identity::did_test::test_did_deterministic ... ok
[INFO] [stdout] test identity::keypair_test::test_invalid_public_key_bytes_fails ... ok
[INFO] [stdout] test identity::keypair_test::test_keypairs_are_unique ... ok
[INFO] [stdout] test identity::keypair_test::test_keypair_from_secret_key ... ok
[INFO] [stdout] test identity::keypair_test::test_generate_keypair ... ok
[INFO] [stdout] test identity::did_test::test_did_hashable ... ok
[INFO] [stdout] test identity::keypair_test::test_keypair_serialization ... ok
[INFO] [stdout] test identity::did_test::test_did_format ... ok
[INFO] [stdout] test identity::did_test::test_did_parse ... ok
[INFO] [stdout] test identity::signer_test::test_sign_message ... ok
[INFO] [stdout] test identity::signer_test::test_invalid_signature_bytes_fails ... ok
[INFO] [stdout] test identity::did_test::test_did_equality ... ok
[INFO] [stdout] test identity::did_test::test_did_from_public_key ... ok
[INFO] [stdout] test identity::keypair_test::test_public_key_length ... ok
[INFO] [stdout] test identity::did_test::test_did_case_sensitive ... ok
[INFO] [stdout] test identity::signer_test::test_different_messages_different_signatures ... ok
[INFO] [stdout] test identity::did_test::test_different_keys_different_dids ... ok
[INFO] [stdout] test identity::did_test::test_invalid_did_format_fails ... ok
[INFO] [stdout] test identity::did_test::test_did_to_public_key ... ok
[INFO] [stdout] test identity::signer_test::test_signing_deterministic ... ok
[INFO] [stdout] test identity::keypair_test::test_public_key_serialization ... ok
[INFO] [stdout] test identity::keypair_test::test_invalid_keypair_bytes_fails ... ok
[INFO] [stdout] test identity::signer_test::test_wrong_public_key_fails ... ok
[INFO] [stdout] test identity::signer_test::test_signature_serialization ... ok
[INFO] [stdout] test identity::signer_test::test_corrupted_signature_fails ... ok
[INFO] [stdout] test identity::signer_test::test_sign_binary_data ... ok
[INFO] [stdout] test identity::signer_test::test_empty_message ... ok
[INFO] [stdout] test identity::signer_test::test_tampered_message_fails ... ok
[INFO] [stdout] test identity::signer_test::test_verify_valid_signature ... ok
[INFO] [stdout] test identity::signer_test::test_large_message ... ok
[INFO] [stderr]      Running tests/iou_tests.rs (/opt/rustwide/target/debug/deps/iou_tests-5f2c743f012b37d8)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.59s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 81 tests
[INFO] [stdout] test iou::builder_test::test_builder_fails_without_recipient ... ok
[INFO] [stdout] test iou::builder_test::test_builder_fails_without_sender ... ok
[INFO] [stdout] test iou::builder_test::test_builder_produces_unique_ious ... ok
[INFO] [stdout] test iou::builder_test::test_builder_auto_generates_timestamp ... ok
[INFO] [stdout] test iou::builder_test::test_builder_auto_generates_nonce ... ok
[INFO] [stdout] test iou::builder_test::test_builder_max_amount ... ok
[INFO] [stdout] test iou::builder_test::test_builder_rejects_self_payment ... ok
[INFO] [stdout] test iou::codec_test::test_corrupted_bytes_fail ... ok
[INFO] [stdout] test iou::builder_test::test_builder_derives_sender_did ... ok
[INFO] [stdout] test iou::codec_test::test_decode_from_hex ... ok
[INFO] [stdout] test iou::codec_test::test_decode_from_base64 ... ok
[INFO] [stdout] test iou::builder_test::test_builder_custom_timestamp ... ok
[INFO] [stdout] test iou::builder_test::test_builder_same_nonce_same_id ... ok
[INFO] [stdout] test iou::codec_test::test_deserialize_from_bytes ... ok
[INFO] [stdout] test iou::codec_test::test_different_ious_different_bytes ... ok
[INFO] [stdout] test iou::codec_test::test_empty_bytes_fail ... ok
[INFO] [stdout] test iou::builder_test::test_builder_chainable ... ok
[INFO] [stdout] test iou::codec_test::test_invalid_bytes_fail ... ok
[INFO] [stdout] test iou::builder_test::test_build_basic_iou ... ok
[INFO] [stdout] test iou::codec_test::test_invalid_hex_fails ... ok
[INFO] [stdout] test iou::codec_test::test_encode_to_hex ... ok
[INFO] [stdout] test iou::codec_test::test_max_amount_serializes ... ok
[INFO] [stdout] test iou::codec_test::test_roundtrip_preserves_all_fields ... ok
[INFO] [stdout] test iou::codec_test::test_encode_deterministic ... ok
[INFO] [stdout] test iou::builder_test::test_builder_fails_without_amount ... ok
[INFO] [stdout] test iou::builder_test::test_builder_signs_iou ... ok
[INFO] [stdout] test iou::codec_test::test_serialize_to_bytes ... ok
[INFO] [stdout] test iou::codec_test::test_encode_to_base64 ... ok
[INFO] [stdout] test iou::edge_cases_test::test_different_content_different_signature ... ok
[INFO] [stdout] test iou::edge_cases_test::test_max_nonce_handling ... ok
[INFO] [stdout] test iou::edge_cases_test::test_error_messages_descriptive ... ok
[INFO] [stdout] test iou::codec_test::test_extra_bytes_handling ... ok
[INFO] [stdout] test iou::edge_cases_test::test_id_includes_all_fields ... ok
[INFO] [stdout] test iou::edge_cases_test::test_min_amount_handling ... ok
[INFO] [stdout] test iou::edge_cases_test::test_iou_id_can_detect_replay ... ok
[INFO] [stdout] test iou::edge_cases_test::test_signing_is_deterministic ... ok
[INFO] [stdout] test iou::edge_cases_test::test_did_format_consistency ... ok
[INFO] [stdout] test iou::edge_cases_test::test_max_timestamp_handling ... ok
[INFO] [stdout] test iou::edge_cases_test::test_zero_nonce_valid ... ok
[INFO] [stdout] test iou::edge_cases_test::test_zero_timestamp_valid ... ok
[INFO] [stdout] test iou::edge_cases_test::test_concurrent_ious_distinguishable ... ok
[INFO] [stdout] test iou::model_test::test_different_amount_different_id ... ok
[INFO] [stdout] test iou::model_test::test_different_nonce_different_id ... ok
[INFO] [stdout] test iou::model_test::test_different_recipient_different_id ... ok
[INFO] [stdout] test iou::model_test::test_different_sender_different_id ... ok
[INFO] [stdout] test iou::model_test::test_iou_has_unique_id ... ok
[INFO] [stdout] test iou::model_test::test_iou_has_required_fields ... ok
[INFO] [stdout] test iou::model_test::test_different_timestamp_different_id ... ok
[INFO] [stdout] test iou::builder_test::test_builder_rejects_zero_amount ... ok
[INFO] [stdout] test iou::codec_test::test_truncated_bytes_fail ... ok
[INFO] [stdout] test iou::model_test::test_iou_id_hashable ... ok
[INFO] [stdout] test iou::codec_test::test_serialized_size_is_compact ... ok
[INFO] [stdout] test iou::edge_cases_test::test_max_amount_handling ... ok
[INFO] [stdout] test iou::codec_test::test_zero_nonce_serializes ... ok
[INFO] [stdout] test iou::builder_test::test_builder_custom_nonce ... ok
[INFO] [stdout] test iou::model_test::test_iou_clone ... ok
[INFO] [stdout] test iou::model_test::test_iou_equality ... ok
[INFO] [stdout] test iou::model_test::test_iou_id_deterministic ... ok
[INFO] [stdout] test iou::model_test::test_iou_inequality ... ok
[INFO] [stdout] test iou::validator_test::test_tampered_sender_fails ... ok
[INFO] [stdout] test iou::validator_test::test_sender_did_must_match_public_key ... ok
[INFO] [stdout] test iou::builder_test::test_builder_signature_is_valid ... ok
[INFO] [stdout] test iou::validator_test::test_expired_iou_rejected ... ok
[INFO] [stdout] test iou::validator_test::test_corrupted_signature_fails ... ok
[INFO] [stdout] test iou::codec_test::test_serialization_preserves_signature ... ok
[INFO] [stdout] test iou::validator_test::test_wrong_public_key_fails ... ok
[INFO] [stdout] test iou::validator_test::test_tampered_nonce_fails ... ok
[INFO] [stdout] test iou::validator_test::test_basic_validation_ignores_timestamp ... ok
[INFO] [stdout] test iou::validator_test::test_tampered_amount_fails ... ok
[INFO] [stdout] test iou::validator_test::test_tampered_recipient_fails ... ok
[INFO] [stdout] test iou::validator_test::test_future_timestamp_rejected ... ok
[INFO] [stdout] test iou::validator_test::test_valid_iou_passes ... ok
[INFO] [stdout] test iou::validator_test::test_self_payment_fails_validation ... ok
[INFO] [stdout] test iou::validator_test::test_tampered_timestamp_fails ... ok
[INFO] [stdout] test iou::validator_test::test_timestamp_within_tolerance_accepted ... ok
[INFO] [stdout] test iou::validator_test::test_sender_did_matches_public_key_succeeds ... ok
[INFO] [stdout] test iou::validator_test::test_validate_returns_iou_on_success ... ok
[INFO] [stdout] test iou::validator_test::test_zero_amount_fails_validation ... ok
[INFO] [stdout] test iou::edge_cases_test::test_unique_ids_for_different_transactions ... ok
[INFO] [stdout] test iou::edge_cases_test::test_large_batch_handling ... ok
[INFO] [stderr]      Running tests/ledger_tests.rs (/opt/rustwide/target/debug/deps/ledger_tests-74fea954a947d273)
[INFO] [stdout] test iou::edge_cases_test::test_signature_not_malleable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 81 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.44s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 63 tests
[INFO] [stdout] test ledger::conflict_test::test_merge_detectors_from_different_nodes ... ok
[INFO] [stdout] test ledger::conflict_test::test_get_conflicting_claims ... ok
[INFO] [stdout] test ledger::conflict_test::test_spending_claim_creation ... ok
[INFO] [stdout] test ledger::conflict_test::test_empty_detector_merge ... ok
[INFO] [stdout] test ledger::conflict_test::test_spending_claim_with_witnesses ... ok
[INFO] [stdout] test ledger::conflict_test::test_different_utxos_no_conflict ... ok
[INFO] [stdout] test ledger::conflict_test::test_merge_detectors_finds_conflict ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_delta_empty_when_subset ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_does_not_contain_missing ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_empty_serialization ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_insert ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_insert_duplicate_no_change ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_insert_multiple ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_merge_disjoint ... ok
[INFO] [stdout] test ledger::conflict_test::test_resolve_nonexistent_conflict ... ok
[INFO] [stdout] test ledger::conflict_test::test_conflict_detector_new ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_merge_identical ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_iter ... ok
[INFO] [stdout] test ledger::conflict_test::test_register_same_claim_twice_ok ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_delta ... ok
[INFO] [stdout] test ledger::conflict_test::test_conflict_type_double_spend ... ok
[INFO] [stdout] test ledger::conflict_test::test_register_spending_claim ... ok
[INFO] [stdout] test ledger::conflict_test::test_conflict_detector_serialization ... ok
[INFO] [stdout] test ledger::conflict_test::test_witness_deduplication ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_merge_empty_into_full ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_merge_full_into_empty ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_merge_is_associative ... ok
[INFO] [stdout] test ledger::conflict_test::test_resolve_by_witness_count ... ok
[INFO] [stdout] test ledger::conflict_test::test_detect_double_spend ... ok
[INFO] [stdout] test ledger::conflict_test::test_spending_claim_serialization ... ok
[INFO] [stdout] test ledger::conflict_test::test_resolve_by_first_seen ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_new_is_empty ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_serialization_roundtrip ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_merge_is_commutative ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_merge_is_idempotent ... ok
[INFO] [stdout] test ledger::crdt_test::test_iou_entry_gset_insert ... ok
[INFO] [stdout] test ledger::crdt_test::test_gset_merge_overlapping ... ok
[INFO] [stdout] test ledger::crdt_test::test_iou_entry_gset_merge_from_different_nodes ... ok
[INFO] [stdout] test ledger::crdt_test::test_iou_entry_gset_duplicate_detection ... ok
[INFO] [stdout] test ledger::crdt_test::test_iou_entry_has_timestamp ... ok
[INFO] [stdout] test ledger::crdt_test::test_merge_result_reports_new_entries ... ok
[INFO] [stdout] test ledger::crdt_test::test_iou_entry_gset_different_ious ... ok
[INFO] [stdout] test ledger::crdt_test::test_merge_result_no_new_entries ... ok
[INFO] [stdout] test ledger::state_test::test_mesh_state_new ... ok
[INFO] [stdout] test ledger::state_test::test_node_id_from_keypair ... ok
[INFO] [stdout] test ledger::state_test::test_node_id_generate_unique ... ok
[INFO] [stdout] test ledger::crdt_test::test_iou_entry_ordering_by_timestamp ... ok
[INFO] [stdout] test ledger::state_test::test_add_iou_wrong_sender_pubkey_fails ... ok
[INFO] [stdout] test ledger::state_test::test_get_iou_by_id ... ok
[INFO] [stdout] test ledger::state_test::test_state_serialization_roundtrip ... ok
[INFO] [stdout] test ledger::state_test::test_state_version_increments_on_merge ... ok
[INFO] [stdout] test ledger::state_test::test_state_version_increments ... ok
[INFO] [stdout] test ledger::conflict_test::test_validate_iou_against_detector ... ok
[INFO] [stdout] test ledger::state_test::test_merge_identical_states ... ok
[INFO] [stdout] test ledger::state_test::test_merge_states ... ok
[INFO] [stdout] test ledger::state_test::test_add_duplicate_iou_fails ... ok
[INFO] [stdout] test ledger::state_test::test_compute_balance_for_did ... ok
[INFO] [stdout] test ledger::state_test::test_add_iou_to_state ... ok
[INFO] [stdout] test ledger::state_test::test_get_ious_by_recipient ... ok
[INFO] [stdout] test ledger::state_test::test_get_delta_for_sync ... ok
[INFO] [stdout] test ledger::state_test::test_state_statistics ... ok
[INFO] [stdout] test ledger::state_test::test_add_multiple_ious ... ok
[INFO] [stdout] test ledger::state_test::test_get_ious_by_sender ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 63 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/storage_tests.rs (/opt/rustwide/target/debug/deps/storage_tests-8cf155b299b2917b)
[INFO] [stdout] 
[INFO] [stdout] running 26 tests
[INFO] [stdout] test storage::store_test::test_delete_with_prefix ... ok
[INFO] [stdout] test storage::store_test::test_get_or_create_node_id ... ok
[INFO] [stdout] test storage::store_test::test_corrupted_data_returns_error ... ok
[INFO] [stdout] test storage::store_test::test_list_keys_with_prefix ... ok
[INFO] [stdout] test storage::store_test::test_save_load_node_id ... ok
[INFO] [stdout] test storage::store_test::test_load_keypair_none_when_empty ... ok
[INFO] [stdout] test storage::store_test::test_store_delete ... ok
[INFO] [stdout] test storage::store_test::test_load_mesh_state_none_when_empty ... ok
[INFO] [stdout] test storage::store_test::test_load_vault_none_when_empty ... ok
[INFO] [stdout] test storage::store_test::test_flush_persists_immediately ... ok
[INFO] [stdout] test storage::store_test::test_store_get_nonexistent ... ok
[INFO] [stdout] test storage::store_test::test_save_keypair_with_label ... ok
[INFO] [stdout] test storage::store_test::test_save_load_keypair ... ok
[INFO] [stdout] test storage::store_test::test_store_overwrite ... ok
[INFO] [stdout] test storage::store_test::test_store_open_new ... ok
[INFO] [stdout] test storage::store_test::test_store_put_get_raw ... ok
[INFO] [stdout] test storage::store_test::test_keypair_persists_across_reopens ... ok
[INFO] [stdout] test storage::store_test::test_store_open_existing ... ok
[INFO] [stdout] test storage::store_test::test_save_load_mesh_state ... ok
[INFO] [stdout] test storage::store_test::test_save_load_vault ... ok
[INFO] [stdout] test storage::store_test::test_vault_persists_across_reopens ... ok
[INFO] [stdout] test storage::store_test::test_vault_update_persists ... ok
[INFO] [stdout] test storage::store_test::test_storage_stats ... ok
[INFO] [stdout] test storage::store_test::test_mesh_state_persists_across_reopens ... ok
[INFO] [stdout] test storage::store_test::test_mesh_state_indexes_rebuilt_on_load ... ok
[INFO] [stdout] test storage::store_test::test_save_all_state ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.24s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sync_tests.rs (/opt/rustwide/target/debug/deps/sync_tests-ecf623deab3a1d28)
[INFO] [stdout] 
[INFO] [stdout] running 65 tests
[INFO] [stdout] test sync::gossip_test::test_gossip_config_defaults ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_engine_new ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_handle_sync_request_empty ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_config_custom ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_generate_sync_request ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_duplicate_announcement_ignored ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_announce_new_iou ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_process_heartbeat ... ok
[INFO] [stdout] test sync::peer_test::test_peer_info_rtt_tracking ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_generate_heartbeat ... ok
[INFO] [stdout] test sync::peer_test::test_peer_info_creation ... ok
[INFO] [stdout] test sync::peer_test::test_peer_info_is_stale ... ok
[INFO] [stdout] test sync::peer_test::test_peer_info_update_state ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_stats ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_collect_outgoing_messages ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_receive_invalid_iou_rejected ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_add_duplicate ... ok
[INFO] [stdout] test sync::peer_test::test_peer_info_version_tracking ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_add_peer ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_remove_stale ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_get_peer_mut ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_new ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_remove_peer ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_add_self_rejected ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_select_random_fewer_available ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_get_peer ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_apply_sync_response ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_select_by_state ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_select_random ... ok
[INFO] [stdout] test sync::peer_test::test_peer_info_last_seen ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_all_peers ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_get_outdated_peers ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_stats ... ok
[INFO] [stdout] test sync::protocol_test::test_heartbeat_serialization_roundtrip ... ok
[INFO] [stdout] test sync::peer_test::test_peer_registry_serialization_roundtrip ... ok
[INFO] [stdout] test sync::protocol_test::test_invalid_message_bytes ... ok
[INFO] [stdout] test sync::protocol_test::test_heartbeat_creation ... ok
[INFO] [stdout] test sync::protocol_test::test_message_has_unique_id ... ok
[INFO] [stdout] test sync::protocol_test::test_heartbeat_timestamp ... ok
[INFO] [stdout] test sync::protocol_test::test_message_type_peer_announcement ... ok
[INFO] [stdout] test sync::protocol_test::test_iou_announcement_creation ... ok
[INFO] [stdout] test sync::protocol_test::test_iou_announcement_max_hops ... ok
[INFO] [stdout] test sync::protocol_test::test_message_type_sync_request ... ok
[INFO] [stdout] test sync::protocol_test::test_message_type_sync_response ... ok
[INFO] [stdout] test sync::protocol_test::test_peer_announcement_creation ... ok
[INFO] [stdout] test sync::protocol_test::test_peer_announcement_serialization_roundtrip ... ok
[INFO] [stdout] test sync::protocol_test::test_message_type_heartbeat ... ok
[INFO] [stdout] test sync::protocol_test::test_peer_announcement_capabilities ... ok
[INFO] [stdout] test sync::protocol_test::test_message_type_iou_announcement ... ok
[INFO] [stdout] test sync::protocol_test::test_iou_announcement_hop_count ... ok
[INFO] [stdout] test sync::protocol_test::test_sync_request_creation ... ok
[INFO] [stdout] test sync::protocol_test::test_sync_response_empty ... ok
[INFO] [stdout] test sync::protocol_test::test_peer_announcement_with_address ... ok
[INFO] [stdout] test sync::protocol_test::test_sync_response_serialization_roundtrip ... ok
[INFO] [stdout] test sync::protocol_test::test_sync_request_with_filter ... ok
[INFO] [stdout] test sync::protocol_test::test_iou_announcement_serialization_roundtrip ... ok
[INFO] [stdout] test sync::protocol_test::test_sync_request_serialization_roundtrip ... ok
[INFO] [stdout] test sync::protocol_test::test_sync_response_with_entries ... ok
[INFO] [stdout] test sync::protocol_test::test_same_content_same_id ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_process_message ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_state_access ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_tracks_seen_messages ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_receive_iou_announcement ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_handle_sync_request_with_delta ... ok
[INFO] [stdout] test sync::gossip_test::test_gossip_prune_seen_messages ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.34s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/transport_tests.rs (/opt/rustwide/target/debug/deps/transport_tests-b77dc8058bf2a440)
[INFO] [stdout] 
[INFO] [stdout] running 238 tests
[INFO] [stdout] test transport::ble_test::test_ble_address_display ... ok
[INFO] [stdout] test transport::ble_test::test_ble_characteristic_full ... ok
[INFO] [stdout] test transport::ble_test::test_ble_characteristic_read_only ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_base_config ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_dual_mode ... ok
[INFO] [stdout] test transport::ble_test::test_ble_address_lowercase ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_peripheral_mode ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_advertise_name ... ok
[INFO] [stdout] test transport::ble_test::test_ble_address_equality ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_central_mode ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_custom_service ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_default ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_scan_duration ... ok
[INFO] [stdout] test transport::ble_test::test_ble_characteristic_write_only ... ok
[INFO] [stdout] test transport::ble_test::test_ble_address_valid_format ... ok
[INFO] [stdout] test transport::ble_test::test_ble_service_creation ... ok
[INFO] [stdout] test transport::ble_test::test_ble_default_mtu ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_connect_invalid_address ... ok
[INFO] [stdout] test transport::ble_test::test_ble_service_with_characteristics ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_advertise_not_peripheral ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_new_central ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_auto_reconnect_config ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_device_discovered_event ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_disconnect ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_new ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_discovered_devices ... ok
[INFO] [stdout] test transport::ble_test::test_ble_characteristic_notify ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_new_peripheral ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_mtu ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_connect_not_running ... ok
[INFO] [stdout] test transport::ble_test::test_ble_config_min_mtu ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_poll_events_empty ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_start_advertising ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_rssi ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_scan_not_central ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_send_exceeds_mtu ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_start_scan ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_send_not_connected ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_stop_when_stopped ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_start_peripheral ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_start_central ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_stop ... ok
[INFO] [stdout] test transport::edge_cases_test::test_address_type_string_representation ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_stats ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_stop_scan ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_requires_permissions ... ok
[INFO] [stdout] test transport::ble_test::test_ble_transport_stop_advertising ... ok
[INFO] [stdout] test transport::edge_cases_test::test_address_type_mismatch_detection ... ok
[INFO] [stdout] test transport::edge_cases_test::test_config_builder_chain ... ok
[INFO] [stdout] test transport::edge_cases_test::test_config_override_values ... ok
[INFO] [stdout] test transport::edge_cases_test::test_ble_address_all_zeros ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_id_all_zeros ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_info_latency_updates ... ok
[INFO] [stdout] test transport::edge_cases_test::test_config_all_defaults ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_id_clone_equality ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_info_serializable ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_info_bytes_overflow ... ok
[INFO] [stdout] test transport::edge_cases_test::test_binary_message_data ... ok
[INFO] [stdout] test transport::edge_cases_test::test_ble_address_all_fs ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_state_error_empty_message ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_id_all_ones ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_state_error_message ... ok
[INFO] [stdout] test transport::edge_cases_test::test_double_disconnect ... ok
[INFO] [stdout] test transport::ble_test::test_ble_mtu_negotiation_ready ... ok
[INFO] [stdout] test transport::edge_cases_test::test_drop_cleans_up_resources ... ok
[INFO] [stdout] test transport::edge_cases_test::test_empty_message_data ... ok
[INFO] [stdout] test transport::edge_cases_test::test_event_accumulation ... ok
[INFO] [stdout] test transport::edge_cases_test::test_lora_address_device_id_max ... ok
[INFO] [stdout] test transport::edge_cases_test::test_max_connections_boundary ... ok
[INFO] [stdout] test transport::edge_cases_test::test_lora_address_frequency_boundaries ... ok
[INFO] [stdout] test transport::edge_cases_test::test_tcp_address_ipv6 ... ok
[INFO] [stdout] test transport::edge_cases_test::test_large_message_data ... ok
[INFO] [stdout] test transport::edge_cases_test::test_large_buffer_size ... ok
[INFO] [stdout] test transport::edge_cases_test::test_tcp_address_ipv6_full ... ok
[INFO] [stdout] test transport::edge_cases_test::test_min_connections_boundary ... ok
[INFO] [stdout] test transport::edge_cases_test::test_send_after_disconnect ... ok
[INFO] [stdout] test transport::edge_cases_test::test_many_rapid_sends ... ok
[INFO] [stdout] test transport::edge_cases_test::test_max_timeout_value ... ok
[INFO] [stdout] test transport::edge_cases_test::test_stop_with_pending_connections ... ok
[INFO] [stdout] test transport::edge_cases_test::test_lora_address_device_id_zero ... ok
[INFO] [stdout] test transport::lora_test::test_lora_address_broadcast ... ok
[INFO] [stdout] test transport::lora_test::test_lora_address_components ... ok
[INFO] [stdout] test transport::lora_test::test_lora_address_creation ... ok
[INFO] [stdout] test transport::edge_cases_test::test_transport_error_empty_message ... ok
[INFO] [stdout] test transport::lora_test::test_lora_address_equality ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_all_bandwidths ... ok
[INFO] [stdout] test transport::edge_cases_test::test_transport_error_long_message ... ok
[INFO] [stdout] test transport::lora_test::test_lora_address_display ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_all_spreading_factors ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_crc_enabled ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_default ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_duty_cycle ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_frequency_as923 ... ok
[INFO] [stdout] test transport::edge_cases_test::test_tcp_address_port_max ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_all_coding_rates ... ok
[INFO] [stdout] test transport::edge_cases_test::test_zero_timeout_handled ... ok
[INFO] [stdout] test transport::edge_cases_test::test_tcp_address_port_zero ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_implicit_header ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_low_power_mode ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_sync_word ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_tx_power ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_base_config ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_coding_rate ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_device_id ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_bandwidth ... ok
[INFO] [stdout] test transport::lora_test::test_lora_mesh_header_broadcast ... ok
[INFO] [stdout] test transport::lora_test::test_lora_mesh_header_increment_hop ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_frequency_eu868 ... ok
[INFO] [stdout] test transport::edge_cases_test::test_transport_error_unicode_message ... ok
[INFO] [stdout] test transport::lora_test::test_lora_mesh_header_serialization ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_frequency_us915 ... ok
[INFO] [stdout] test transport::edge_cases_test::test_zero_buffer_size ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_spreading_factor ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_tx_power_limits ... ok
[INFO] [stdout] test transport::lora_test::test_lora_mesh_header ... ok
[INFO] [stdout] test transport::lora_test::test_lora_config_preamble_length ... ok
[INFO] [stdout] test transport::lora_test::test_lora_modulation_max_payload ... ok
[INFO] [stdout] test transport::lora_test::test_lora_modulation_time_on_air ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_can_transmit ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_battery_voltage ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_channel_activity_detection ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_broadcast ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_new ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_receive_mode ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_error_timeout ... ok
[INFO] [stdout] test transport::lora_test::test_lora_packet_received_event ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_poll_events_empty ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_rssi ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_send_exceeds_max_payload ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_set_frequency ... ok
[INFO] [stdout] test transport::edge_cases_test::test_simultaneous_connect_disconnect ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_send_invalid_address ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_error_channel_busy ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_sleep_mode ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_error_crc_mismatch ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_snr ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_send_not_running ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_set_spreading_factor ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_start ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_config_base_config ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_time_until_transmit ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_config_with_nodelay ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_config_default ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_config_with_port ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_stats ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_stop ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_stop_when_stopped ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_config_with_keepalive ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_set_tx_power ... ok
[INFO] [stdout] test transport::lora_test::test_lora_modulation_creation ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_broadcast ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_config_with_reuse_address ... ok
[INFO] [stdout] test transport::lora_test::test_lora_modulation_data_rate ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_connect ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_connect_unreachable ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_connection_count ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_connect_when_stopped ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_broadcast_no_connections ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_disconnect ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_new ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_local_address_when_stopped ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_local_address ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_get_connection_info ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_listening_event ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_max_connections ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_restart ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_send_large_message ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_send_message ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_stats ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_send_empty_message ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_stop_when_stopped ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_start ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_start_twice_fails ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_send_to_unknown_connection ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_with_random_port ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_disconnect ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_connect ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_max_connections ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_connect_when_stopped ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_disconnect_unknown ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_start_stop ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_poll_events ... ok
[INFO] [stdout] test transport::traits_test::test_connection_id_generation ... ok
[INFO] [stdout] test transport::traits_test::test_connection_id_display ... ok
[INFO] [stdout] test transport::traits_test::test_connection_id_from_bytes ... ok
[INFO] [stdout] test transport::traits_test::test_connection_id_hashable ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_with_spi_device ... ok
[INFO] [stdout] test transport::traits_test::test_connection_info_latency ... ok
[INFO] [stdout] test transport::traits_test::test_connection_info_creation ... ok
[INFO] [stdout] test transport::traits_test::test_connection_info_bytes_tracking ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_stats_after_activity ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_connect_invalid_address ... ok
[INFO] [stdout] test transport::lora_test::test_lora_transport_standby_mode ... ok
[INFO] [stdout] test transport::traits_test::test_connection_info_timestamps ... ok
[INFO] [stdout] test transport::traits_test::test_connection_state_initial ... ok
[INFO] [stdout] test transport::traits_test::test_connection_state_transitions ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_send ... ok
[INFO] [stdout] test transport::traits_test::test_peer_address_clone ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_send_to_unknown ... ok
[INFO] [stdout] test transport::traits_test::test_connection_info_update_activity ... ok
[INFO] [stdout] test transport::traits_test::test_connection_info_with_node_id ... ok
[INFO] [stdout] test transport::traits_test::mock_transport::test_mock_transport_stop_clears_connections ... ok
[INFO] [stdout] test transport::traits_test::test_connection_state_is_active ... ok
[INFO] [stdout] test transport::traits_test::test_peer_address_ble_creation ... ok
[INFO] [stdout] test transport::traits_test::test_transport_config_validation ... ok
[INFO] [stdout] test transport::traits_test::test_peer_address_equality ... ok
[INFO] [stdout] test transport::traits_test::test_peer_address_hashable ... ok
[INFO] [stdout] test transport::traits_test::test_peer_address_lora_creation ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_display ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_invalid_address ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_is_retryable ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_not_connected ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_receive_failed ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_send_failed ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_already_connected ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_connection_failed ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_timeout ... ok
[INFO] [stdout] test transport::traits_test::test_transport_event_error ... ok
[INFO] [stdout] test transport::traits_test::test_transport_event_connected ... ok
[INFO] [stdout] test transport::traits_test::test_transport_config_custom ... ok
[INFO] [stdout] test transport::traits_test::test_transport_config_zero_connections_invalid ... ok
[INFO] [stdout] test transport::traits_test::test_transport_state_is_running ... ok
[INFO] [stdout] test transport::traits_test::test_transport_state_initial ... ok
[INFO] [stdout] test transport::traits_test::test_transport_error_max_connections ... ok
[INFO] [stdout] test transport::traits_test::test_transport_config_default ... ok
[INFO] [stdout] test transport::traits_test::test_transport_state_is_transitioning ... ok
[INFO] [stdout] test transport::traits_test::test_transport_state_transitions ... ok
[INFO] [stdout] test transport::traits_test::test_transport_event_disconnected ... ok
[INFO] [stdout] test transport::traits_test::test_transport_event_listening ... ok
[INFO] [stdout] test transport::traits_test::test_transport_event_message_received ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_stop ... ok
[INFO] [stdout] test transport::traits_test::test_peer_address_tcp_creation ... ok
[INFO] [stdout] test transport::edge_cases_test::test_many_rapid_connections ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_connected_event ... ok
[INFO] [stdout] test transport::traits_test::test_peer_address_display ... ok
[INFO] [stdout] test transport::tcp_test::test_tcp_transport_receive_message ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connection_id_uniqueness_stress ... ok
[INFO] [stdout] test transport::edge_cases_test::test_connect_after_server_restart ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 238 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/vault_tests.rs (/opt/rustwide/target/debug/deps/vault_tests-b84825ee98336b0d)
[INFO] [stdout] 
[INFO] [stdout] running 114 tests
[INFO] [stdout] test vault::balance_test::test_new_vault_has_zero_balance ... ok
[INFO] [stdout] test vault::balance_test::test_receive_iou_zero_amount_fails ... ok
[INFO] [stdout] test vault::balance_test::test_balance_from_unknown_sender_is_zero ... ok
[INFO] [stdout] test vault::balance_test::test_receive_iou_wrong_recipient_fails ... ok
[INFO] [stdout] test vault::balance_test::test_new_vault_has_no_transactions ... ok
[INFO] [stdout] test vault::balance_test::test_receive_iou_invalid_signature_fails ... ok
[INFO] [stdout] test vault::balance_test::test_send_iou_insufficient_balance_fails ... ok
[INFO] [stdout] test vault::balance_test::test_get_received_transactions_only ... ok
[INFO] [stdout] test vault::balance_test::test_vault_owner_matches_public_key ... ok
[INFO] [stdout] test vault::balance_test::test_available_balance_excludes_pending ... ok
[INFO] [stdout] test vault::balance_test::test_send_exact_balance_succeeds ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_get_lock_info ... ok
[INFO] [stdout] test vault::balance_test::test_balance_from_specific_sender ... ok
[INFO] [stdout] test vault::balance_test::test_reserve_more_than_available_fails ... ok
[INFO] [stdout] test vault::balance_test::test_receive_duplicate_iou_fails ... ok
[INFO] [stdout] test vault::balance_test::test_release_reserved_balance ... ok
[INFO] [stdout] test vault::balance_test::test_send_iou_wrong_sender_fails ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_change_utxo_has_unique_id ... ok
[INFO] [stdout] test vault::balance_test::test_commit_reservation_releases_hold ... ok
[INFO] [stdout] test vault::balance_test::test_get_transaction_history ... ok
[INFO] [stdout] test vault::balance_test::test_get_sent_transactions_only ... ok
[INFO] [stdout] test vault::balance_test::test_receive_iou_increases_balance ... ok
[INFO] [stdout] test vault::balance_test::test_send_iou_decreases_balance ... ok
[INFO] [stdout] test vault::balance_test::test_receive_iou_from_different_senders ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_lock_persists_before_timeout ... ok
[INFO] [stdout] test vault::edge_cases_test::test_empty_vault_balance_is_zero ... ok
[INFO] [stdout] test vault::edge_cases_test::test_empty_vault_can_afford_zero ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_sequential_change_utxos_unique ... ok
[INFO] [stdout] test vault::edge_cases_test::test_empty_vault_cannot_spend ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_utxo_type_distinguishable ... ok
[INFO] [stdout] test vault::edge_cases_test::test_empty_vault_transaction_history_empty ... ok
[INFO] [stdout] test vault::edge_cases_test::test_empty_vault_utxo_set_empty ... ok
[INFO] [stdout] test vault::edge_cases_test::test_commit_already_released_reservation_fails ... ok
[INFO] [stdout] test vault::balance_test::test_receive_multiple_ious_accumulates_balance ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_full_lifecycle_with_fixes ... ok
[INFO] [stdout] test vault::edge_cases_test::test_failed_operations_dont_affect_state ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_lock_expires_after_timeout ... ok
[INFO] [stdout] test vault::edge_cases_test::test_balance_overflow_protection ... ok
[INFO] [stdout] test vault::edge_cases_test::test_multiple_reservations ... ok
[INFO] [stdout] test vault::edge_cases_test::test_release_invalid_reservation_fails ... ok
[INFO] [stdout] test vault::edge_cases_test::test_maximum_amount_value ... ok
[INFO] [stdout] test vault::edge_cases_test::test_self_payment_rejected_at_builder ... ok
[INFO] [stdout] test vault::edge_cases_test::test_minimum_nonzero_amount ... ok
[INFO] [stdout] test vault::balance_test::test_transaction_count_increases ... ok
[INFO] [stdout] test vault::edge_cases_test::test_utxo_id_equality ... ok
[INFO] [stdout] test vault::edge_cases_test::test_utxo_id_from_all_ones ... ok
[INFO] [stdout] test vault::edge_cases_test::test_utxo_id_from_all_zeros ... ok
[INFO] [stdout] test vault::edge_cases_test::test_utxo_id_hash_consistency ... ok
[INFO] [stdout] test vault::edge_cases_test::test_utxo_set_add_duplicate_id_fails ... ok
[INFO] [stdout] test vault::edge_cases_test::test_utxo_set_select_empty ... ok
[INFO] [stdout] test vault::edge_cases_test::test_utxo_set_select_zero_amount ... ok
[INFO] [stdout] test vault::edge_cases_test::test_reserve_zero_amount ... ok
[INFO] [stdout] test vault::edge_cases_test::test_same_nonce_same_timestamp_rejected ... ok
[INFO] [stdout] test vault::edge_cases_test::test_spend_exact_max_balance ... ok
[INFO] [stdout] test vault::edge_cases_test::test_vault_state_serializable ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_recent_iou_protected_from_prune ... ok
[INFO] [stdout] test vault::spending_test::test_cannot_spend_more_than_balance ... ok
[INFO] [stdout] test vault::spending_test::test_can_spend_received_funds ... ok
[INFO] [stdout] test vault::spending_test::test_can_afford_considers_pending ... ok
[INFO] [stdout] test vault::spending_test::test_concurrent_spend_attempt_fails ... ok
[INFO] [stdout] test vault::spending_test::test_estimate_utxos_needed_insufficient ... ok
[INFO] [stdout] test vault::edge_cases_test::test_same_amount_different_nonce_accepted ... ok
[INFO] [stdout] test vault::spending_test::test_check_double_spend_by_iou_id ... ok
[INFO] [stdout] test vault::edge_cases_test::test_transaction_count_consistency ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_multiple_locks_different_timeouts ... ok
[INFO] [stdout] test vault::spending_test::test_double_spend_detection_across_sync ... ok
[INFO] [stdout] test vault::spending_test::test_spend_nonexistent_utxo_fails ... ok
[INFO] [stdout] test vault::spending_test::test_same_iou_cannot_be_received_twice ... ok
[INFO] [stdout] test vault::spending_test::test_spent_output_records_spending_transaction ... ok
[INFO] [stdout] test vault::edge_cases_test::test_balance_equals_utxo_sum ... ok
[INFO] [stdout] test vault::spending_test::test_spent_output_set_add ... ok
[INFO] [stdout] test vault::spending_test::test_spent_output_set_duplicate_rejected ... ok
[INFO] [stdout] test vault::spending_test::test_spending_tracks_consumed_utxos ... ok
[INFO] [stdout] test vault::spending_test::test_spent_output_set_get ... ok
[INFO] [stdout] test vault::spending_test::test_spent_output_set_new_is_empty ... ok
[INFO] [stdout] test vault::utxo_test::test_get_nonexistent_utxo_returns_none ... ok
[INFO] [stdout] test vault::spending_test::test_spend_specific_utxo ... ok
[INFO] [stdout] test vault::utxo_test::test_lock_nonexistent_utxo_fails ... ok
[INFO] [stdout] test vault::spending_test::test_spend_specific_utxo_insufficient_fails ... ok
[INFO] [stdout] test vault::utxo_test::test_get_utxo_by_id ... ok
[INFO] [stdout] test vault::spending_test::test_spent_utxo_cannot_be_spent_again ... ok
[INFO] [stdout] test vault::spending_test::test_spent_output_records_timestamp ... ok
[INFO] [stdout] test vault::spending_test::test_get_all_spent_outputs ... ok
[INFO] [stdout] test vault::spending_test::test_validate_spending_amount_check ... ok
[INFO] [stdout] test vault::utxo_test::test_lock_utxo_prevents_spending ... ok
[INFO] [stdout] test vault::utxo_test::test_locked_utxos_excluded_from_available_balance ... ok
[INFO] [stdout] test vault::utxo_test::test_partial_spend_creates_change_utxo ... ok
[INFO] [stdout] test vault::utxo_test::test_unlock_utxo_allows_spending ... ok
[INFO] [stdout] test vault::utxo_test::test_spending_removes_utxo ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_owner_matches_recipient ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_created_from_received_iou ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_add ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_contains ... ok
[INFO] [stdout] test vault::spending_test::test_estimate_utxos_needed ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_new_is_empty ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_remove ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_references_source_iou ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_select_for_amount_exact ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_select_for_amount_with_change ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_select_insufficient_returns_none ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_select_multiple_utxos ... ok
[INFO] [stdout] test vault::edge_cases_test::test_rapid_receive_send_cycles ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_has_unique_id ... ok
[INFO] [stdout] test vault::utxo_test::test_spending_selects_optimal_utxos ... ok
[INFO] [stdout] test vault::utxo_test::test_total_utxo_value_equals_balance ... ok
[INFO] [stdout] test vault::utxo_test::test_utxo_set_is_ordered_by_amount ... ok
[INFO] [stdout] test vault::utxo_test::test_spending_consolidates_small_utxos ... ok
[INFO] [stdout] test vault::edge_cases_test::test_fragmented_balance_consolidation ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_memory_stats ... ok
[INFO] [stdout] test vault::edge_cases_test::test_many_senders ... ok
[INFO] [stdout] test vault::edge_cases_test::test_vault_handles_many_utxos ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_prune_old_processed_ious ... ok
[INFO] [stdout] test vault::edge_cases_test::test_spend_consolidates_many_small_utxos ... ok
[INFO] [stdout] test vault::critical_fixes_test::test_prune_to_max_count ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 114 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.09s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests p2pmesh
[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" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c", kill_on_drop: false }`
[INFO] [stdout] 1073cdfc70442d69e48be1ca94ed4fdb5a4dc84b7cb44d7811ba728e307e602c
