[INFO] fetching crate mdk-core 0.7.1... [INFO] testing mdk-core-0.7.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate mdk-core 0.7.1 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate mdk-core 0.7.1 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate mdk-core 0.7.1 [INFO] tweaked toml for crates.io crate mdk-core 0.7.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate mdk-core 0.7.1 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate mdk-core 0.7.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 33aa74b24c2217c8b12ff64cc244e2700e0b2d711a1d607cb1021b27dc79ef4a [INFO] running `Command { std: "docker" "start" "-a" "33aa74b24c2217c8b12ff64cc244e2700e0b2d711a1d607cb1021b27dc79ef4a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "33aa74b24c2217c8b12ff64cc244e2700e0b2d711a1d607cb1021b27dc79ef4a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33aa74b24c2217c8b12ff64cc244e2700e0b2d711a1d607cb1021b27dc79ef4a", kill_on_drop: false }` [INFO] [stdout] 33aa74b24c2217c8b12ff64cc244e2700e0b2d711a1d607cb1021b27dc79ef4a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 254a57d932df1aaf14b238bb16f7e118fb3cd2ff8e897289e6a7a2b6e69bd98b [INFO] running `Command { std: "docker" "start" "-a" "254a57d932df1aaf14b238bb16f7e118fb3cd2ff8e897289e6a7a2b6e69bd98b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.104 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling base64ct v1.8.1 [INFO] [stderr] Compiling rand_core v0.10.0 [INFO] [stderr] Compiling hax-lib v0.3.6 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling find-msvc-tools v0.1.6 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling zmij v1.0.3 [INFO] [stderr] Compiling serde_json v1.0.148 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling libcrux-intrinsics v0.0.5 [INFO] [stderr] Compiling bitcoin-io v0.1.4 [INFO] [stderr] Compiling keccak v0.2.0-rc.2 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling cc v1.2.51 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling libcrux-sha3 v0.0.6 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling pem-rfc7468 v0.7.0 [INFO] [stderr] Compiling hex-conservative v0.2.2 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling libcrux-platform v0.0.3 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling pxfm v0.1.27 [INFO] [stderr] Compiling serde_bytes v0.11.19 [INFO] [stderr] Compiling byteorder-lite v0.1.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling zune-core v0.5.0 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling curve25519-dalek v5.0.0-pre.6 [INFO] [stderr] Compiling weezl v0.1.12 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling hybrid-array v0.4.7 [INFO] [stderr] Compiling ff v0.13.1 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling flate2 v1.1.5 [INFO] [stderr] Compiling quick-error v2.0.1 [INFO] [stderr] Compiling bech32 v0.11.1 [INFO] [stderr] Compiling blurhash v0.2.3 [INFO] [stderr] Compiling zune-jpeg v0.5.8 [INFO] [stderr] Compiling mutate_once v0.1.2 [INFO] [stderr] Compiling bytemuck v1.24.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling kamadak-exif v0.6.1 [INFO] [stderr] Compiling image-webp v0.2.4 [INFO] [stderr] Compiling group v0.13.0 [INFO] [stderr] Compiling syn v2.0.112 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling secp256k1-sys v0.10.1 [INFO] [stderr] Compiling png v0.18.0 [INFO] [stderr] Compiling gif v0.14.1 [INFO] [stderr] Compiling crypto-common v0.2.1 [INFO] [stderr] Compiling block-buffer v0.12.0 [INFO] [stderr] Compiling module-lattice v0.1.0 [INFO] [stderr] Compiling moxcms v0.7.11 [INFO] [stderr] Compiling digest v0.11.1 [INFO] [stderr] Compiling kem v0.3.0-rc.6 [INFO] [stderr] Compiling sha3 v0.11.0-rc.8 [INFO] [stderr] Compiling ml-kem v0.3.0-rc.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling tls_codec_derive v0.4.2 [INFO] [stderr] Compiling hax-lib-macros v0.3.6 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling der v0.7.10 [INFO] [stderr] Compiling hpke-rs-crypto v0.6.0 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling image v0.25.9 [INFO] [stderr] Compiling cobs v0.3.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling libcrux-secrets v0.0.5 [INFO] [stderr] Compiling libcrux-traits v0.0.5 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-bigint v0.5.5 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling universal-hash v0.5.1 [INFO] [stderr] Compiling aead v0.5.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling x25519-dalek v3.0.0-pre.6 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling polyval v0.6.2 [INFO] [stderr] Compiling poly1305 v0.8.0 [INFO] [stderr] Compiling x-wing v0.1.0-rc.0 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling hkdf v0.12.4 [INFO] [stderr] Compiling rfc6979 v0.4.0 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling ghash v0.5.1 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling ctr v0.9.2 [INFO] [stderr] Compiling chacha20 v0.9.1 [INFO] [stderr] Compiling aes v0.8.4 [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 chacha20poly1305 v0.10.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling aes-gcm v0.10.3 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling x25519-dalek v2.0.1 [INFO] [stderr] Compiling spki v0.7.3 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling pkcs8 v0.10.2 [INFO] [stderr] Compiling sec1 v0.7.3 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling elliptic-curve v0.13.8 [INFO] [stderr] Compiling primeorder v0.13.6 [INFO] [stderr] Compiling ecdsa v0.16.9 [INFO] [stderr] Compiling k256 v0.13.4 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling p384 v0.13.1 [INFO] [stderr] Compiling tls_codec v0.4.2 [INFO] [stderr] Compiling bitcoin_hashes v0.14.1 [INFO] [stderr] Compiling secp256k1 v0.29.1 [INFO] [stderr] Compiling postcard v1.1.3 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling p256 v0.13.2 [INFO] [stderr] Compiling hpke-rs-rust-crypto v0.6.0 [INFO] [stderr] Compiling nostr v0.44.2 [INFO] [stderr] Compiling openmls_traits v0.5.0 [INFO] [stderr] Compiling hpke-rs v0.6.0 [INFO] [stderr] Compiling openmls_memory_storage v0.5.0 [INFO] [stderr] Compiling openmls v0.8.1 [INFO] [stderr] Compiling openmls_basic_credential v0.5.0 [INFO] [stderr] Compiling openmls_rust_crypto v0.5.1 [INFO] [stderr] Compiling mdk-storage-traits v0.7.1 [INFO] [stderr] Compiling mdk-core v0.7.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 59.84s [INFO] running `Command { std: "docker" "inspect" "254a57d932df1aaf14b238bb16f7e118fb3cd2ff8e897289e6a7a2b6e69bd98b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "254a57d932df1aaf14b238bb16f7e118fb3cd2ff8e897289e6a7a2b6e69bd98b", kill_on_drop: false }` [INFO] [stdout] 254a57d932df1aaf14b238bb16f7e118fb3cd2ff8e897289e6a7a2b6e69bd98b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8edf9e66e1ecc2bf57a0aa07fc6c8e69f460c36c95e41c2418cd042a580f11e1 [INFO] running `Command { std: "docker" "start" "-a" "8edf9e66e1ecc2bf57a0aa07fc6c8e69f460c36c95e41c2418cd042a580f11e1", kill_on_drop: false }` [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling libsqlite3-sys v0.35.0 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling deranged v0.5.5 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling png v0.18.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling keyring-core v0.7.1 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling tokio v1.48.0 [INFO] [stderr] Compiling nostr v0.44.2 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling image v0.25.9 [INFO] [stderr] Compiling toml_edit v0.22.27 [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 refinery-core v0.9.0 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling refinery-macros v0.9.0 [INFO] [stderr] Compiling mdk-storage-traits v0.7.1 [INFO] [stderr] Compiling mdk-memory-storage v0.7.1 [INFO] [stderr] Compiling mdk-core v0.7.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling rusqlite v0.37.0 [INFO] [stderr] Compiling refinery v0.9.0 [INFO] [stderr] Compiling mdk-sqlite-storage v0.7.1 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 58.49s [INFO] running `Command { std: "docker" "inspect" "8edf9e66e1ecc2bf57a0aa07fc6c8e69f460c36c95e41c2418cd042a580f11e1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8edf9e66e1ecc2bf57a0aa07fc6c8e69f460c36c95e41c2418cd042a580f11e1", kill_on_drop: false }` [INFO] [stdout] 8edf9e66e1ecc2bf57a0aa07fc6c8e69f460c36c95e41c2418cd042a580f11e1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] fd99baac3f3ba60b1aee320e3d84f52ad38dc5822b069e2dd22074643940b25d [INFO] running `Command { std: "docker" "start" "-a" "fd99baac3f3ba60b1aee320e3d84f52ad38dc5822b069e2dd22074643940b25d", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mdk_core-3ff0b3a182521f8c) [INFO] [stdout] [INFO] [stdout] running 359 tests [INFO] [stdout] test epoch_snapshots::tests::test_epoch_snapshot_debug_redacts_sensitive_data ... ok [INFO] [stdout] test epoch_snapshots::tests::test_hydration_skipped_for_memory_storage ... ok [INFO] [stdout] test epoch_snapshots::tests::test_epoch_snapshot_manager_inner_debug_shows_counts ... ok [INFO] [stdout] test epoch_snapshots::tests::test_is_better_candidate_unknown_group_returns_false ... ok [INFO] [stdout] test epoch_snapshots::tests::test_is_better_candidate_smaller_id_wins_on_same_timestamp ... ok [INFO] [stdout] test epoch_snapshots::tests::test_epoch_snapshot_manager_debug_redacts_inner ... ok [INFO] [stdout] test epoch_snapshots::tests::test_create_snapshot_generates_unique_name ... ok [INFO] [stdout] test epoch_snapshots::tests::test_memory_storage_not_tracked_for_hydration ... ok [INFO] [stdout] test epoch_snapshots::tests::test_snapshot_name_format ... ok [INFO] [stdout] test epoch_snapshots::tests::test_is_better_candidate_same_id_returns_false ... ok [INFO] [stdout] test epoch_snapshots::tests::test_is_better_candidate_wrong_epoch_returns_false ... ok [INFO] [stdout] test error::tests::test_error_display_messages ... ok [INFO] [stdout] test error::tests::test_error_equality ... ok [INFO] [stdout] test epoch_snapshots::tests::test_snapshots_isolated_per_group ... ok [INFO] [stdout] test epoch_snapshots::tests::test_snapshot_retention_pruning ... ok [INFO] [stdout] test error::tests::test_error_debug ... ok [INFO] [stdout] test epoch_snapshots::tests::test_is_better_candidate_earlier_timestamp_wins ... ok [INFO] [stdout] test epoch_snapshots::tests::test_new_creates_manager_with_retention_count ... ok [INFO] [stdout] test error::tests::test_from_utf8_error_conversion ... ok [INFO] [stdout] test epoch_snapshots::tests::test_is_better_candidate_larger_id_loses_on_same_timestamp ... ok [INFO] [stdout] test error::tests::test_snapshot_creation_failed ... ok [INFO] [stdout] test error::tests::test_identity_change_not_allowed_error ... ok [INFO] [stdout] test error::tests::test_storage_error_conversion ... ok [INFO] [stdout] test error::tests::test_unexpected_event_error ... ok [INFO] [stdout] test extension::group_image::tests::test_encrypted_hash_calculation ... ok [INFO] [stdout] test extension::group_image::tests::test_decrypt_with_wrong_key ... ok [INFO] [stdout] test extension::group_image::tests::test_decrypt_with_wrong_nonce ... ok [INFO] [stdout] test extension::group_image::tests::test_hash_verification_failure_wrong_hash ... ok [INFO] [stdout] test extension::group_image::tests::test_hash_verification_failure_wrong_blob ... ok [INFO] [stdout] test error::tests::test_own_commit_pending ... ok [INFO] [stdout] test error::tests::test_key_package_identity_mismatch_error ... ok [INFO] [stdout] test extension::group_image::tests::test_derive_upload_keypair_deterministic ... ok [INFO] [stdout] test extension::group_image::tests::test_encrypt_decrypt_roundtrip ... ok [INFO] [stdout] test extension::group_image::tests::test_derive_upload_keypair_different_keys ... ok [INFO] [stdout] test extension::group_image::tests::test_hash_verification_backward_compatibility_none ... ok [INFO] [stdout] test epoch_snapshots::tests::test_new_with_zero_retention ... ok [INFO] [stdout] test extension::group_image::tests::test_migrate_v1_to_v2_wrong_key ... ok [INFO] [stdout] test epoch_snapshots::tests::test_rollback_removes_subsequent_snapshots ... ok [INFO] [stdout] test epoch_snapshots::tests::test_rollback_to_unknown_group_fails ... ok [INFO] [stdout] test extension::group_image::tests::test_custom_size_limits ... ok [INFO] [stdout] test extension::group_image::tests::test_hash_verification_success ... ok [INFO] [stdout] test extension::group_image::tests::test_v1_v2_keypair_difference ... ok [INFO] [stdout] test extension::group_image::tests::test_tampering_detection ... ok [INFO] [stdout] test extension::group_image::tests::test_v2_encryption_uses_seed_derivation ... ok [INFO] [stdout] test extension::group_image::tests::test_migrate_v1_to_v2_corrupted_data ... ok [INFO] [stdout] test extension::group_image::tests::test_v1_upload_keypair_derivation ... ok [INFO] [stdout] test extension::group_image::tests::test_v2_upload_keypair_derivation ... ok [INFO] [stdout] test extension::group_image::tests::test_v2_encryption_and_upload_derivation ... ok [INFO] [stdout] test extension::types::tests::test_description_operations ... ok [INFO] [stdout] test extension::types::tests::test_admin_pubkey_operations ... ok [INFO] [stdout] test extension::group_image::tests::test_prepare_group_image_for_upload ... ok [INFO] [stdout] test extension::types::tests::test_deserialize_bytes ... ok [INFO] [stdout] test extension::types::tests::test_deserialize_bytes_invalid_data ... ok [INFO] [stdout] test extension::types::tests::test_deserialize_bytes_rejects_trailing_bytes ... ok [INFO] [stdout] test extension::types::tests::test_migrate_to_v2_all_none ... ok [INFO] [stdout] test extension::types::tests::test_image_operations ... ok [INFO] [stdout] test extension::types::tests::test_group_id_operations ... ok [INFO] [stdout] test extension::types::tests::test_migrate_to_v2 ... ok [INFO] [stdout] test extension::types::tests::test_name_operations ... ok [INFO] [stdout] test extension::types::tests::test_new_fields_in_serialization ... ok [INFO] [stdout] test extension::types::tests::test_new_and_getters ... ok [INFO] [stdout] test extension::types::tests::test_serialization_overhead ... ok [INFO] [stdout] test extension::types::tests::test_version_field_roundtrip ... ok [INFO] [stdout] test extension::types::tests::test_migrate_to_v2_already_v2 ... ok [INFO] [stdout] test extension::types::tests::test_version_validation ... ok [INFO] [stdout] test extension::group_image::tests::test_v1_backward_compatibility_decryption ... ok [INFO] [stdout] test extension::group_image::tests::test_prepare_with_default_options ... ok [INFO] [stdout] test extension::types::tests::test_version_field_serialization ... ok [INFO] [stdout] test extension::group_image::tests::test_v1_v2_produce_different_encryption ... ok [INFO] [stdout] test extension::group_image::tests::test_upload_keypair_depends_only_on_upload_seed ... ok [INFO] [stdout] test epoch_snapshots::tests::test_is_better_candidate_later_timestamp_loses ... ok [INFO] [stdout] test epoch_snapshots::tests::test_rollback_to_nonexistent_epoch_fails ... ok [INFO] [stdout] test error::tests::test_process_message_wrong_epoch ... ok [INFO] [stdout] test extension::types::tests::test_relay_operations ... ok [INFO] [stdout] test extension::group_image::tests::test_v1_decryption_still_works_after_migration ... ok [INFO] [stdout] test extension::group_image::tests::test_mime_type_validation ... ok [INFO] [stdout] test groups::tests::test_clear_pending_commit_group_not_found ... ok [INFO] [stdout] test groups::tests::test_create_single_member_group ... ok [INFO] [stdout] test groups::tests::test_creator_validation_errors ... ok [INFO] [stdout] test extension::group_image::tests::test_migrate_v1_to_v2 ... ok [INFO] [stdout] test groups::tests::test_clear_pending_commit_no_pending ... ok [INFO] [stdout] test groups::tests::test_get_groups_empty ... ok [INFO] [stdout] test groups::tests::test_empty_group_operations ... ok [INFO] [stdout] test groups::tests::test_admin_update_accepts_valid_member_admins ... ok [INFO] [stdout] test groups::tests::test_get_members_nonexistent_group ... ok [INFO] [stdout] test groups::tests::test_get_nonexistent_group ... ok [INFO] [stdout] test extension::group_image::tests::test_migration_preserves_metadata ... ok [INFO] [stdout] test groups::tests::test_admin_update_rejects_non_member_admins ... ok [INFO] [stdout] test groups::tests::test_extension_updates_create_processed_messages ... ok [INFO] [stdout] test groups::tests::test_get_ratchet_tree_info_nonexistent_group ... ok [INFO] [stdout] test groups::tests::test_cannot_add_existing_member ... ok [INFO] [stdout] test groups::tests::test_create_group_basic ... ok [INFO] [stdout] test groups::tests::test_get_own_pubkey ... ok [INFO] [stdout] test groups::tests::test_admin_update_rejects_previously_removed_member ... ok [INFO] [stdout] test groups::tests::test_get_groups_with_data ... ok [INFO] [stdout] test groups::tests::test_admin_check_uses_mls_state_not_stale_storage ... ok [INFO] [stdout] test groups::tests::test_get_members ... ok [INFO] [stdout] test groups::tests::test_admin_check ... ok [INFO] [stdout] test groups::tests::test_admin_update_rejects_empty_admin_set ... ok [INFO] [stdout] test groups::tests::test_add_members_epoch_advancement ... ok [INFO] [stdout] test groups::tests::test_clear_pending_commit_after_failed_remove ... ok [INFO] [stdout] test groups::tests::test_admin_permission_checks ... ok [INFO] [stdout] test groups::tests::test_get_ratchet_tree_info ... ok [INFO] [stdout] test groups::tests::test_pending_member_methods_group_not_found ... ok [INFO] [stdout] test groups::tests::test_get_relays ... ok [INFO] [stdout] test groups::tests::test_group_with_empty_name ... ok [INFO] [stdout] test groups::tests::test_get_ratchet_tree_info_deterministic ... ok [INFO] [stdout] test groups::tests::test_group_with_long_name ... ok [INFO] [stdout] test groups::tests::test_member_operation_state_consistency ... ok [INFO] [stdout] test groups::tests::test_remove_members_group_not_found ... ok [INFO] [stdout] test groups::tests::test_group_metadata_updates ... ok [INFO] [stdout] test groups::tests::test_pubkey_for_member ... ok [INFO] [stdout] test groups::tests::test_self_update_group_not_found ... ok [INFO] [stdout] test groups::tests::test_self_update_exporter_secret_rotation ... ok [INFO] [stdout] test groups::tests::test_remove_members_epoch_advancement ... ok [INFO] [stdout] test groups::tests::test_pending_member_changes_empty ... ok [INFO] [stdout] test groups::tests::test_pending_added_members_pubkeys_empty ... ok [INFO] [stdout] test groups::tests::test_non_admin_cannot_add_members ... ok [INFO] [stdout] test groups::tests::test_self_update_key_rotation ... ok [INFO] [stdout] test groups::tests::test_pending_removed_members_from_self_leave_proposal ... ok [INFO] [stdout] test groups::tests::test_sync_group_metadata_error_cases ... ok [INFO] [stdout] test groups::tests::test_self_update_then_clear_removes_orphaned_keypair ... ok [INFO] [stdout] test groups::tests::test_remove_members_with_tree_holes ... ok [INFO] [stdout] test groups::tests::test_validate_group_members ... ok [INFO] [stdout] test key_packages::tests::test_ciphersuite_tag_format ... ok [INFO] [stdout] test key_packages::tests::test_complete_tag_structure_mip00_compliance_without_protected ... ok [INFO] [stdout] test groups::tests::test_self_update_success ... ok [INFO] [stdout] test key_packages::tests::test_credential_generation ... ok [INFO] [stdout] test key_packages::tests::test_complete_tag_structure_with_protected ... ok [INFO] [stdout] test key_packages::tests::test_extensions_tag_format ... ok [INFO] [stdout] test key_packages::tests::test_invalid_key_package_parsing ... ok [INFO] [stdout] test groups::tests::test_self_update_then_merge_no_orphan ... ok [INFO] [stdout] test key_packages::tests::test_key_package_creation_and_parsing ... ok [INFO] [stdout] test key_packages::tests::test_key_package_deletion ... ok [INFO] [stdout] test key_packages::tests::test_key_package_deletion_by_hash_ref ... ok [INFO] [stdout] test groups::tests::test_pending_member_changes_with_leave_proposal ... ok [INFO] [stdout] test groups::tests::test_clear_pending_commit_after_failed_add ... ok [INFO] [stdout] test key_packages::tests::test_i_tag_contains_valid_key_package_ref ... ok [INFO] [stdout] test key_packages::tests::test_new_credentials_use_32_byte_format ... ok [INFO] [stdout] test key_packages::tests::test_parse_credential_identity ... ok [INFO] [stdout] test key_packages::tests::test_parse_key_package_fails_with_missing_tags ... ok [INFO] [stdout] test key_packages::tests::test_key_package_base64_encoding ... ok [INFO] [stdout] test groups::tests::test_remove_members_no_matching_members ... ok [INFO] [stdout] test key_packages::tests::test_parse_key_package_rejects_identity_mismatch ... ok [INFO] [stdout] test key_packages::tests::test_protocol_version_tag_format ... ok [INFO] [stdout] test key_packages::tests::test_validate_ciphersuite_tag_without_value ... ok [INFO] [stdout] test key_packages::tests::test_validate_empty_i_tag ... ok [INFO] [stdout] test key_packages::tests::test_validate_empty_string_i_tag ... ok [INFO] [stdout] test key_packages::tests::test_validate_extensions_tag_without_values ... ok [INFO] [stdout] test key_packages::tests::test_key_package_parsing_base64 ... ok [INFO] [stdout] test key_packages::tests::test_parse_key_package_accepts_matching_identity ... ok [INFO] [stdout] test key_packages::tests::test_validate_invalid_ciphersuite_values ... ok [INFO] [stdout] test key_packages::tests::test_validate_invalid_i_tag_hex ... ok [INFO] [stdout] test groups::tests::test_non_admin_cannot_update_group_extensions ... ok [INFO] [stdout] test key_packages::tests::test_validate_invalid_extensions_hex_format ... ok [INFO] [stdout] test key_packages::tests::test_validate_invalid_ciphersuite_hex_format ... ok [INFO] [stdout] test key_packages::tests::test_validate_invalid_protocol_version ... ok [INFO] [stdout] test key_packages::tests::test_validate_missing_required_extensions ... ok [INFO] [stdout] test key_packages::tests::test_validate_missing_i_tag ... ok [INFO] [stdout] test key_packages::tests::test_validate_uppercase_hex_values ... ok [INFO] [stdout] test media_processing::metadata::tests::test_animated_format_fallback ... ok [INFO] [stdout] test media_processing::metadata::tests::test_animated_format_without_sanitize ... ok [INFO] [stdout] test key_packages::tests::test_validate_multi_value_i_tag ... ok [INFO] [stdout] test media_processing::metadata::tests::test_extract_metadata_dimension_validation ... ok [INFO] [stdout] test key_packages::tests::test_validate_missing_required_tags ... ok [INFO] [stdout] test key_packages::tests::test_parse_key_package_rejects_mismatched_i_tag ... ok [INFO] [stdout] test media_processing::metadata::tests::test_extract_metadata_with_blurhash_generation ... ok [INFO] [stdout] test media_processing::metadata::tests::test_extract_metadata_from_decoded_image_dimension_validation ... ok [INFO] [stdout] test media_processing::metadata::tests::test_extract_metadata_from_encoded_image ... ok [INFO] [stdout] test key_packages::tests::test_validate_relays_tag ... ok [INFO] [stdout] test media_processing::metadata::tests::test_preflight_invalid_data ... ok [INFO] [stdout] test media_processing::metadata::tests::test_safe_raster_format_detection ... ok [INFO] [stdout] test media_processing::metadata::tests::test_generate_blurhash_produces_valid_hash ... ok [INFO] [stdout] test media_processing::metadata::tests::test_extract_metadata_from_decoded_image ... ok [INFO] [stdout] test media_processing::metadata::tests::test_strip_exif_invalid_data ... ok [INFO] [stdout] test key_packages::tests::test_parse_key_package_with_valid_tags ... ok [INFO] [stdout] test media_processing::metadata::tests::test_svg_passthrough_with_sanitize_requested ... ok [INFO] [stdout] test media_processing::types::tests::test_image_metadata ... ok [INFO] [stdout] test media_processing::types::tests::test_media_processing_options_default ... ok [INFO] [stdout] test media_processing::types::tests::test_media_processing_options_validation_only ... ok [INFO] [stdout] test media_processing::validation::tests::test_detect_mime_type_from_data ... ok [INFO] [stdout] test media_processing::validation::tests::test_validate_file_size ... ok [INFO] [stdout] test media_processing::validation::tests::test_validate_group_image_mime_type_matches_data ... ok [INFO] [stdout] test media_processing::metadata::tests::test_strip_exif_unsupported_format ... ok [INFO] [stdout] test media_processing::metadata::tests::test_strip_exif_png ... ok [INFO] [stdout] test media_processing::validation::tests::test_validate_group_image_mime_type_strict ... ok [INFO] [stdout] test media_processing::validation::tests::test_validate_image_dimensions_decompression_bomb_protection ... ok [INFO] [stdout] test media_processing::validation::tests::test_validate_image_dimensions ... ok [INFO] [stdout] test media_processing::metadata::tests::test_preflight_accepts_valid_image ... ok [INFO] [stdout] test groups::tests::test_sync_group_metadata_propagates_extension_parse_failure ... ok [INFO] [stdout] test media_processing::metadata::tests::test_strip_exif_jpeg ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_is_better_candidate_earlier_timestamp_wins ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_is_better_candidate_same_id_returns_false ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_is_better_candidate_smaller_id_wins_on_same_timestamp ... ok [INFO] [stdout] test groups::tests::test_sync_group_metadata_from_mls ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_is_better_candidate_wrong_epoch_returns_false ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_rollback_to_nonexistent_epoch_fails ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_rollback_to_unknown_group_fails ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_snapshot_retention_pruning ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_snapshots_isolated_per_group ... ok [INFO] [stdout] test groups::tests::test_member_self_removal ... ok [INFO] [stdout] test messages::commit::tests::epoch_snapshot_manager_tests::test_rollback_removes_subsequent_snapshots ... ok [INFO] [stdout] test groups::tests::test_update_nostr_group_id ... ok [INFO] [stdout] test media_processing::metadata::tests::test_preflight_rejects_oversized_image ... ok [INFO] [stdout] test groups::tests::test_non_admin_cannot_remove_members ... ok [INFO] [stdout] test groups::tests::test_update_group_data ... ok [INFO] [stdout] test messages::application::tests::test_message_state_transitions ... ok [INFO] [stdout] test groups::tests::test_stored_group_sync_after_all_operations ... ok [INFO] [stdout] test messages::application::tests::test_message_state_tracking ... ok [INFO] [stdout] test groups::tests::test_operation_from_removed_member ... ok [INFO] [stdout] test messages::application::tests::test_message_from_non_member ... ok [INFO] [stdout] test messages::commit::tests::test_admin_add_member_commit_is_processed_successfully ... ok [INFO] [stdout] test messages::commit::tests::test_admin_extension_update_commit_is_processed_successfully ... ok [INFO] [stdout] test key_packages::tests::test_last_resort_keypackage_lifecycle ... ok [INFO] [stdout] test messages::commit::tests::test_epoch_snapshot_retention_pruning ... ok [INFO] [stdout] test messages::application::tests::test_message_from_non_member_rejected ... ok [INFO] [stdout] test messages::commit::tests::test_commit_race_simple_rollback ... ok [INFO] [stdout] test messages::create::tests::test_complete_message_lifecycle_spec_compliance ... ok [INFO] [stdout] test messages::create::tests::test_create_message_for_nonexistent_group ... ok [INFO] [stdout] test messages::create::tests::test_create_message_group_not_found ... ok [INFO] [stdout] test messages::commit::tests::test_concurrent_commit_race_conditions ... ok [INFO] [stdout] test messages::commit::tests::test_removed_member_processed_message_saved_correctly ... ok [INFO] [stdout] test messages::create::tests::test_commit_event_structure_mip03_compliance ... ok [INFO] [stdout] test groups::tests::test_rapid_sequential_member_operations ... ok [INFO] [stdout] test messages::create::tests::test_group_id_consistency_across_messages ... ok [INFO] [stdout] test messages::commit::tests::test_member_addition_commit ... ok [INFO] [stdout] test messages::commit::tests::test_add_member_commit_from_non_admin_is_rejected ... ok [INFO] [stdout] test messages::application::tests::test_multi_client_message_synchronization ... ok [INFO] [stdout] test messages::create::tests::test_create_message_updates_group_metadata ... ok [INFO] [stdout] test messages::create::tests::test_create_message_ensures_rumor_id ... ok [INFO] [stdout] test messages::create::tests::test_create_message_success ... ok [INFO] [stdout] test messages::create::tests::test_group_message_event_structure_mip03_compliance ... ok [INFO] [stdout] test messages::crypto::tests::test_chacha20poly1305_roundtrip ... ok [INFO] [stdout] test messages::crypto::tests::test_chacha20poly1305_tampered_ciphertext_fails ... ok [INFO] [stdout] test messages::crypto::tests::test_decrypt_rejects_invalid_base64 ... ok [INFO] [stdout] test messages::crypto::tests::test_decrypt_rejects_short_nonce ... ok [INFO] [stdout] test messages::create::tests::test_group_id_consistency_mip03 ... ok [INFO] [stdout] test messages::commit::tests::test_commit_race_worse_late_commit_rejected ... ok [INFO] [stdout] test messages::create::tests::test_message_content_encryption_mip03 ... ok [INFO] [stdout] test messages::decryption::tests::test_past_epoch_decryption_guards_epoch_zero ... ok [INFO] [stdout] test messages::commit::tests::test_removed_member_processes_own_removal_commit ... ok [INFO] [stdout] test messages::create::tests::test_message_content_preservation ... ok [INFO] [stdout] test messages::error_handling::tests::test_decryption_failure_persists_failed_state ... ok [INFO] [stdout] test messages::commit::tests::test_commit_race_simple_better_commit_wins ... ok [INFO] [stdout] test messages::error_handling::tests::test_deduplication_only_blocks_failed_state ... ok [INFO] [stdout] test messages::error_handling::tests::test_missing_group_id_tag_persists_failed_state ... ok [INFO] [stdout] test messages::create::tests::test_group_message_ephemeral_keys_mip03_compliance ... ok [INFO] [stdout] test messages::create::tests::test_message_event_validation ... ok [INFO] [stdout] test messages::error_handling::tests::test_previously_failed_message_with_oversized_hex ... ok [INFO] [stdout] test messages::error_handling::tests::test_previously_failed_message_with_undersized_hex ... ok [INFO] [stdout] test messages::decryption::tests::test_past_epoch_decryption_guards_zero_lookback ... ok [INFO] [stdout] test messages::error_handling::tests::test_record_failure_preserves_message_event_id ... ok [INFO] [stdout] test messages::error_handling::tests::test_previously_failed_message_without_group_in_storage ... ok [INFO] [stdout] test messages::error_handling::tests::test_repeated_validation_failure_rejected_immediately ... ok [INFO] [stdout] test messages::error_handling::tests::test_sanitize_error_reason_all_variants ... ok [INFO] [stdout] test messages::error_handling::tests::test_validation_failure_persists_failed_state ... ok [INFO] [stdout] test messages::error_handling::tests::test_repeated_decryption_failure_rejected_immediately ... ok [INFO] [stdout] test messages::error_handling::tests::test_previously_failed_message_with_invalid_hex_chars ... ok [INFO] [stdout] test messages::create::tests::test_message_encryption_uniqueness ... ok [INFO] [stdout] test messages::error_handling::tests::test_previously_failed_message_with_group_in_storage ... ok [INFO] [stdout] test messages::decryption::tests::test_past_epoch_application_message_succeeds_with_max_past_epochs ... ok [INFO] [stdout] test messages::create::tests::test_message_with_empty_content ... ok [INFO] [stdout] test messages::process::tests::test_message_processing_result_variants ... ok [INFO] [stdout] test messages::create::tests::test_message_with_long_content ... ok [INFO] [stdout] test messages::process::tests::test_message_processing_order_independence ... ok [INFO] [stdout] test messages::process::tests::test_merge_pending_commit_syncs_group_metadata ... ok [INFO] [stdout] test messages::error_handling::tests::test_previously_failed_message_returns_unprocessable_not_error ... ok [INFO] [stdout] test messages::commit::tests::test_admin_remove_member_commit_is_processed_successfully ... ok [INFO] [stdout] test messages::process::tests::test_duplicate_message_from_multiple_relays ... ok [INFO] [stdout] test messages::commit::tests::test_commit_race_event_id_tiebreaker ... ok [INFO] [stdout] test messages::process::tests::test_single_client_message_idempotency ... ok [INFO] [stdout] test messages::process::tests::test_process_message_idempotency ... ok [INFO] [stdout] test messages::commit::tests::test_message_invalidation_during_rollback ... ok [INFO] [stdout] test messages::proposal::tests::test_non_admin_extension_update_rejected_at_client ... ok [INFO] [stdout] test messages::tests::test_get_messages_nonexistent_group ... ok [INFO] [stdout] test messages::decryption::tests::test_past_epoch_application_message_fails_without_max_past_epochs ... ok [INFO] [stdout] test messages::process::tests::test_processing_own_commit_syncs_group_metadata ... ok [INFO] [stdout] test messages::tests::test_get_messages_with_pagination ... ok [INFO] [stdout] test messages::commit::tests::test_group_membership_preserved_after_rollback ... ok [INFO] [stdout] test messages::process::tests::test_message_processing_across_epochs ... ok [INFO] [stdout] test messages::validation::tests::test_commit_update_path_identity_change_rejected ... ok [INFO] [stdout] test messages::validation::tests::test_extract_group_id_rejects_invalid_hex ... ok [INFO] [stdout] test messages::tests::test_get_message_not_found ... ok [INFO] [stdout] test messages::validation::tests::test_extract_group_id_rejects_missing_h_tag ... ok [INFO] [stdout] test messages::tests::test_get_messages_empty_group ... ok [INFO] [stdout] test messages::validation::tests::test_extract_group_id_rejects_multiple_h_tags ... ok [INFO] [stdout] test messages::validation::tests::test_identity_change_error_contains_identities ... ok [INFO] [stdout] test messages::validation::tests::test_extract_group_id_rejects_wrong_length ... ok [INFO] [stdout] test messages::validation::tests::test_identity_change_not_allowed_error ... ok [INFO] [stdout] test messages::process::tests::test_extended_offline_period_sync ... ok [INFO] [stdout] test messages::process::tests::test_device_sync_after_member_changes ... ok [INFO] [stdout] test messages::tests::test_get_messages_for_group ... ok [INFO] [stdout] test messages::validation::tests::test_malformed_message_handling ... ok [INFO] [stdout] test messages::validation::tests::test_multiple_identity_change_attempts_rejected ... ok [INFO] [stdout] test messages::validation::tests::test_process_message_group_not_found ... ok [INFO] [stdout] test messages::validation::tests::test_process_message_invalid_group_id_format ... ok [INFO] [stdout] test messages::validation::tests::test_process_message_invalid_kind ... ok [INFO] [stdout] test messages::validation::tests::test_process_message_missing_group_id ... ok [INFO] [stdout] test messages::validation::tests::test_process_message_missing_group_id_tag ... ok [INFO] [stdout] test messages::validation::tests::test_process_message_wrong_event_kind ... ok [INFO] [stdout] test messages::validation::tests::test_proposal_identity_change_rejected ... ok [INFO] [stdout] test messages::tests::test_get_nonexistent_message ... ok [INFO] [stdout] test messages::validation::tests::test_identity_validation_with_tls_serialization ... ok [INFO] [stdout] test messages::validation::tests::test_identity_parsing_for_validation ... ok [INFO] [stdout] test messages::validation::tests::test_extract_group_id_returns_valid_id ... ok [INFO] [stdout] test messages::validation::tests::test_author_verification_binding ... ok [INFO] [stdout] test messages::proposal::tests::test_self_leave_proposal_auto_committed_by_admin ... ok [INFO] [stdout] test messages::validation::tests::test_commit_processing_validates_identity_multi_member ... ok [INFO] [stdout] test messages::validation::tests::test_validate_identity_unchanged_rejects_different_identity ... ok [INFO] [stdout] test messages::validation::tests::test_validate_identity_unchanged_same_identity ... ok [INFO] [stdout] test messages::validation::tests::test_identity_validation_detects_changes ... ok [INFO] [stdout] test messages::proposal::tests::test_non_admin_empty_self_update_commit_succeeds ... ok [INFO] [stdout] test test_util::tests::test_helper_function_randomness ... ok [INFO] [stdout] test messages::validation::tests::test_verify_rumor_author_mismatch ... ok [INFO] [stdout] test tests::grease_tests::test_capabilities_include_grease_credentials ... ok [INFO] [stdout] test tests::grease_tests::test_capabilities_include_grease_ciphersuites ... ok [INFO] [stdout] test tests::grease_tests::test_capabilities_include_grease_extensions ... ok [INFO] [stdout] test tests::grease_tests::test_capabilities_include_grease_proposals ... ok [INFO] [stdout] test tests::grease_tests::test_capabilities_still_include_real_values ... ok [INFO] [stdout] test tests::grease_tests::test_different_mdk_instances_get_different_grease_values ... ok [INFO] [stdout] test messages::proposal::tests::test_self_update_commit_from_non_admin_is_allowed ... ok [INFO] [stdout] test messages::validation::tests::test_validate_event_rejects_future_timestamp ... ok [INFO] [stdout] test messages::validation::tests::test_self_update_preserves_identity_passes_validation ... ok [INFO] [stdout] test util::tests::test_decode_invalid_content ... ok [INFO] [stdout] test util::tests::test_encode_decode_roundtrip ... ok [INFO] [stdout] test util::tests::test_from_tags_returns_encoding ... ok [INFO] [stdout] test welcomes::tests::test_accept_nonexistent_welcome ... ok [INFO] [stdout] test welcomes::tests::test_failed_welcome_retry_returns_original_error ... ok [INFO] [stdout] test welcomes::tests::test_get_pending_welcomes_empty ... ok [INFO] [stdout] test util::tests::test_content_encoding_tag_value_roundtrip ... ok [INFO] [stdout] test messages::validation::tests::test_validate_event_rejects_old_timestamp ... ok [INFO] [stdout] test messages::validation::tests::test_validate_proposal_identity_non_update_proposals ... ok [INFO] [stdout] test messages::validation::tests::test_staged_commit_identity_validation_logic ... ok [INFO] [stdout] test welcomes::tests::test_process_welcome_invalid_message ... ok [INFO] [stdout] test messages::validation::tests::test_add_members_commit_triggers_identity_validation ... ok [INFO] [stdout] test messages::validation::tests::test_validate_event_accepts_valid_timestamp ... ok [INFO] [stdout] test welcomes::tests::test_get_pending_welcomes_with_pagination ... ok [INFO] [stdout] test messages::validation::tests::test_remove_members_commit_triggers_identity_validation ... ok [INFO] [stdout] test welcomes::tests::test_welcome_content_validation_mip02 ... ok [INFO] [stdout] test welcomes::tests::test_welcome_event_structure_mip02_compliance ... ok [INFO] [stdout] test tests::sender_ratchet_tests::test_custom_config_is_applied ... ok [INFO] [stdout] test welcomes::tests::test_welcome_relays_tag_content ... ok [INFO] [stdout] test welcomes::tests::test_leave_group ... ok [INFO] [stdout] test welcomes::tests::test_welcome_validation_rejects_invalid_events ... ok [INFO] [stdout] test welcomes::tests::test_process_welcome_missing_rumor_id ... ok [INFO] [stdout] test welcomes::tests::test_welcome_processing_error_recovery ... ok [INFO] [stdout] test welcomes::tests::test_welcome_validation_accepts_missing_client_tag ... ok [INFO] [stdout] test welcomes::tests::test_welcome_processing_flow ... ok [INFO] [stdout] test messages::proposal::tests::test_self_leave_proposal_stored_pending_by_non_admin ... ok [INFO] [stdout] test welcomes::tests::test_multiple_welcomes_for_multiple_members ... ok [INFO] [stdout] test welcomes::tests::test_welcome_references_correct_keypackage ... ok [INFO] [stdout] test welcomes::tests::test_welcome_structure_consistency ... ok [INFO] [stdout] test tests::sender_ratchet_tests::test_low_tolerance_rejects_distant_messages ... ok [INFO] [stdout] test messages::validation::tests::test_identity_validation_across_epochs ... ok [INFO] [stdout] test messages::decryption::tests::test_epoch_lookback_limits ... ok [INFO] [stdout] test messages::validation::tests::test_sequential_commits_identity_validation ... ok [INFO] [stdout] test tests::sender_ratchet_tests::test_high_tolerance_allows_reordered_messages ... ok [INFO] [stdout] test welcomes::tests::test_large_group_welcome_size_limits ... ok [INFO] [stdout] test messages::error_handling::tests::test_commit_race_rollback_enables_message_retry ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 359 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.30s [INFO] [stdout] [INFO] [stderr] Running tests/storage_traits_cross.rs (/opt/rustwide/target/debug/deps/storage_traits_cross-58aa2488edde42b6) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_replace_relays_error_consistency ... ok [INFO] [stdout] test test_replace_relays_basic_consistency ... ok [INFO] [stdout] test test_exporter_secret_pruning_consistency ... ok [INFO] [stdout] test test_exporter_secret_label_isolation_consistency ... ok [INFO] [stdout] test test_replace_relays_sequence_consistency ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/storage_traits_memory.rs (/opt/rustwide/target/debug/deps/storage_traits_memory-fd812cf982ed4281) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test test_all_groups_memory ... ok [INFO] [stdout] test test_exporter_secret_label_isolation_memory ... ok [INFO] [stdout] test test_messages_error_for_nonexistent_group_memory ... ok [INFO] [stdout] test test_admins_error_for_nonexistent_group_memory ... ok [INFO] [stdout] test test_group_relays_error_for_nonexistent_group_memory ... ok [INFO] [stdout] test test_group_mip04_exporter_secret_memory ... ok [INFO] [stdout] test test_admins_memory ... ok [INFO] [stdout] test test_group_exporter_secret_memory ... ok [INFO] [stdout] test test_messages_for_group_memory ... ok [INFO] [stdout] test test_messages_sort_order_pagination_memory ... ok [INFO] [stdout] test test_last_message_memory ... ok [INFO] [stdout] test test_messages_sort_order_memory ... ok [INFO] [stdout] test test_group_edge_cases_memory ... ok [INFO] [stdout] test test_processed_message_memory ... ok [INFO] [stdout] test test_replace_group_relays_comprehensive_memory ... ok [INFO] [stdout] test test_exporter_secret_pruning_by_epoch_memory ... ok [INFO] [stdout] test test_basic_group_relays_memory ... ok [INFO] [stdout] test test_replace_group_relays_duplicate_handling_memory ... ok [INFO] [stdout] test test_replace_group_relays_error_cases_memory ... ok [INFO] [stdout] test test_processed_welcome_memory ... ok [INFO] [stdout] test test_replace_relays_edge_cases_memory ... ok [INFO] [stdout] test test_groups_needing_self_update_memory ... ok [INFO] [stdout] test test_save_and_find_group_memory ... ok [INFO] [stdout] test test_save_and_find_message_memory ... ok [INFO] [stdout] test test_save_and_find_welcome_memory ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/storage_traits_sqlite.rs (/opt/rustwide/target/debug/deps/storage_traits_sqlite-dd2738a5282a4780) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test test_admins_sqlite ... ok [INFO] [stdout] test test_group_exporter_secret_sqlite ... ok [INFO] [stdout] test test_messages_for_group_sqlite ... ok [INFO] [stdout] test test_messages_error_for_nonexistent_group_sqlite ... ok [INFO] [stdout] test test_group_mip04_exporter_secret_sqlite ... ok [INFO] [stdout] test test_admins_error_for_nonexistent_group_sqlite ... ok [INFO] [stdout] test test_groups_needing_self_update_sqlite ... ok [INFO] [stdout] test test_last_message_sqlite ... ok [INFO] [stdout] test test_group_relays_error_for_nonexistent_group_sqlite ... ok [INFO] [stdout] test test_exporter_secret_label_isolation_sqlite ... ok [INFO] [stdout] test test_messages_sort_order_pagination_sqlite ... ok [INFO] [stdout] test test_messages_sort_order_sqlite ... ok [INFO] [stdout] test test_exporter_secret_pruning_by_epoch_sqlite ... ok [INFO] [stdout] test test_all_groups_sqlite ... ok [INFO] [stdout] test test_group_edge_cases_sqlite ... ok [INFO] [stdout] test test_basic_group_relays_sqlite ... ok [INFO] [stdout] test test_processed_message_sqlite ... ok [INFO] [stdout] test test_replace_group_relays_duplicate_handling_sqlite ... ok [INFO] [stdout] test test_processed_welcome_sqlite ... ok [INFO] [stdout] test test_save_and_find_group_sqlite ... ok [INFO] [stdout] test test_replace_group_relays_comprehensive_sqlite ... ok [INFO] [stdout] test test_replace_group_relays_error_cases_sqlite ... ok [INFO] [stdout] test test_save_and_find_message_sqlite ... ok [INFO] [stdout] test test_save_and_find_welcome_sqlite ... ok [INFO] [stdout] test test_replace_relays_edge_cases_sqlite ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stderr] Doc-tests mdk_core [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test src/extension/group_image.rs - extension::group_image::decrypt_group_image (line 215) ... ignored [INFO] [stdout] test src/extension/group_image.rs - extension::group_image::derive_upload_keypair (line 319) ... ignored [INFO] [stdout] test src/extension/group_image.rs - extension::group_image::migrate_group_image_v1_to_v2 (line 558) ... ignored [INFO] [stdout] test src/extension/group_image.rs - extension::group_image::prepare_group_image_for_upload (line 385) ... ignored [INFO] [stdout] test src/extension/group_image.rs - extension::group_image::prepare_group_image_for_upload_with_options (line 443) ... ignored [INFO] [stdout] test src/extension/types.rs - extension::types::NostrGroupDataExtension::group_image_encryption_data (line 489) ... ignored [INFO] [stdout] test src/extension/types.rs - extension::types::NostrGroupDataExtension::migrate_to_v2 (line 428) ... ignored [INFO] [stdout] test src/groups.rs - groups::MDK::update_group_data (line 974) ... ignored [INFO] [stdout] test src/key_packages.rs - key_packages::MDK::parse_key_package (line 251) - compile ... ok [INFO] [stdout] test src/lib.rs - MDK::new (line 373) - compile ... ok [INFO] [stdout] test src/lib.rs - MDK::builder (line 359) - compile ... ok [INFO] [stdout] test src/messages/mod.rs - messages::MDK::get_messages (line 210) ... ignored [INFO] [stdout] test src/lib.rs - MdkBuilder (line 191) - compile ... ok [INFO] [stdout] test src/welcomes.rs - welcomes::MDK::get_pending_welcomes (line 61) ... ignored [INFO] [stdout] test src/lib.rs - MdkBuilder::with_config (line 227) - compile ... ok [INFO] [stdout] test src/lib.rs - MdkConfig (line 55) ... ok [INFO] [stdout] test src/prelude.rs - prelude (line 9) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 10 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] all doctests ran in 2.00s; merged doctests compilation took 1.87s [INFO] running `Command { std: "docker" "inspect" "fd99baac3f3ba60b1aee320e3d84f52ad38dc5822b069e2dd22074643940b25d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd99baac3f3ba60b1aee320e3d84f52ad38dc5822b069e2dd22074643940b25d", kill_on_drop: false }` [INFO] [stdout] fd99baac3f3ba60b1aee320e3d84f52ad38dc5822b069e2dd22074643940b25d