[INFO] fetching crate rusty-haystack-server 0.8.1...
[INFO] testing rusty-haystack-server-0.8.1 against 1.95.0 for beta-1.96-2
[INFO] extracting crate rusty-haystack-server 0.8.1 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate rusty-haystack-server 0.8.1
[INFO] finished tweaking crates.io crate rusty-haystack-server 0.8.1
[INFO] tweaked toml for crates.io crate rusty-haystack-server 0.8.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rusty-haystack-server 0.8.1 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rusty-haystack-server 0.8.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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml_datetime v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded rusty-haystack-client v0.8.1
[INFO] [stderr]   Downloaded toml v1.1.0+spec-1.1.0
[INFO] [stderr]   Downloaded rusty-haystack-core v0.8.1
[INFO] [stderr]   Downloaded iri-string v0.7.11
[INFO] [stderr]   Downloaded roaring v0.11.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1456b2a7f659117efc2526a859499300f31bd7e0d81b2a66a0f421fd60bb07a8
[INFO] running `Command { std: "docker" "start" "-a" "1456b2a7f659117efc2526a859499300f31bd7e0d81b2a66a0f421fd60bb07a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1456b2a7f659117efc2526a859499300f31bd7e0d81b2a66a0f421fd60bb07a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1456b2a7f659117efc2526a859499300f31bd7e0d81b2a66a0f421fd60bb07a8", kill_on_drop: false }`
[INFO] [stdout] 1456b2a7f659117efc2526a859499300f31bd7e0d81b2a66a0f421fd60bb07a8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] af8ab9511782ef6ec3b5dd60ecee2e358f31670cb7d8932057d09d7477c289af
[INFO] running `Command { std: "docker" "start" "-a" "af8ab9511782ef6ec3b5dd60ecee2e358f31670cb7d8932057d09d7477c289af", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling rand_core v0.10.0
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling slotmap v1.1.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling password-hash v0.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling iri-string v0.7.11
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling rand v0.10.0
[INFO] [stderr]    Compiling roaring v0.11.3
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling env_filter v1.0.1
[INFO] [stderr]    Compiling toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling jiff v0.2.23
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling serde_spanned v1.1.0
[INFO] [stderr]    Compiling toml_datetime v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling toml v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling env_logger v0.11.10
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[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 serde v1.0.228
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rusty-haystack-core v0.8.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling tokio-tungstenite v0.29.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling rusty-haystack-client v0.8.1
[INFO] [stderr]    Compiling rusty-haystack-server v0.8.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "af8ab9511782ef6ec3b5dd60ecee2e358f31670cb7d8932057d09d7477c289af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af8ab9511782ef6ec3b5dd60ecee2e358f31670cb7d8932057d09d7477c289af", kill_on_drop: false }`
[INFO] [stdout] af8ab9511782ef6ec3b5dd60ecee2e358f31670cb7d8932057d09d7477c289af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e8027555b53ceeb5c98b30d3eaf493b45d4c6659f1614afca65963d81fe5b1a5
[INFO] running `Command { std: "docker" "start" "-a" "e8027555b53ceeb5c98b30d3eaf493b45d4c6659f1614afca65963d81fe5b1a5", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling zerocopy-derive v0.8.47
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling rusty-haystack-core v0.8.1
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling tungstenite v0.29.0
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling tokio-tungstenite v0.29.0
[INFO] [stderr]    Compiling rusty-haystack-client v0.8.1
[INFO] [stderr]    Compiling rusty-haystack-server v0.8.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 41.93s
[INFO] running `Command { std: "docker" "inspect" "e8027555b53ceeb5c98b30d3eaf493b45d4c6659f1614afca65963d81fe5b1a5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8027555b53ceeb5c98b30d3eaf493b45d4c6659f1614afca65963d81fe5b1a5", kill_on_drop: false }`
[INFO] [stdout] e8027555b53ceeb5c98b30d3eaf493b45d4c6659f1614afca65963d81fe5b1a5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6bcb20f3a8f1672b32a4684572ca2cd10f99ca927fa41865fb065a15f8855fe8
[INFO] running `Command { std: "docker" "start" "-a" "6bcb20f3a8f1672b32a4684572ca2cd10f99ca927fa41865fb065a15f8855fe8", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/haystack_server-2e6efebbfbd366df)
[INFO] [stdout] 
[INFO] [stdout] running 78 tests
[INFO] [stdout] test actions::tests::empty_registry_has_no_actions ... ok
[INFO] [stdout] test actions::tests::list_actions_returns_registered_names ... ok
[INFO] [stdout] test actions::tests::invoke_known_action ... ok
[INFO] [stdout] test actions::tests::invoke_unknown_action_returns_error ... ok
[INFO] [stdout] test actions::tests::register_replaces_existing_handler ... ok
[INFO] [stdout] test app::tests::required_permission_read_ops ... ok
[INFO] [stdout] test app::tests::required_permission_write_ops ... ok
[INFO] [stdout] test auth::tests::check_permission_viewer_limited ... ok
[INFO] [stdout] test auth::tests::with_token_ttl_sets_custom_duration ... ok
[INFO] [stdout] test auth::users::tests::builtin_roles_exist ... ok
[INFO] [stdout] test auth::tests::empty_manager_is_disabled ... ok
[INFO] [stdout] test auth::users::tests::parse_invalid_format ... ok
[INFO] [stdout] test auth::tests::check_permission_admin_has_all ... ok
[INFO] [stdout] test auth::users::tests::resolve_permissions_both_prefers_permissions ... ok
[INFO] [stdout] test auth::users::tests::resolve_permissions_direct ... ok
[INFO] [stdout] test auth::users::tests::resolve_permissions_role ... ok
[INFO] [stdout] test auth::users::tests::load_users_mixed_role_and_permissions ... ok
[INFO] [stdout] test content::tests::decode_request_grid_empty_zinc ... ok
[INFO] [stdout] test content::tests::encode_response_grid_default ... ok
[INFO] [stdout] test content::tests::normalize_content_type_empty ... ok
[INFO] [stdout] test content::tests::normalize_content_type_json_v3 ... ok
[INFO] [stdout] test content::tests::normalize_content_type_with_charset ... ok
[INFO] [stdout] test content::tests::parse_accept_empty ... ok
[INFO] [stdout] test content::tests::parse_accept_json ... ok
[INFO] [stdout] test content::tests::parse_accept_json_v3 ... ok
[INFO] [stdout] test content::tests::parse_accept_multiple_with_quality ... ok
[INFO] [stdout] test content::tests::parse_accept_trio ... ok
[INFO] [stdout] test content::tests::parse_accept_unsupported_falls_back ... ok
[INFO] [stdout] test content::tests::parse_accept_wildcard ... ok
[INFO] [stdout] test content::tests::parse_accept_zinc ... ok
[INFO] [stdout] test demo::tests::demo_has_expected_count ... ok
[INFO] [stdout] test demo::tests::demo_points_have_kind ... ok
[INFO] [stdout] test demo::tests::demo_refs_are_valid ... ok
[INFO] [stdout] test demo::tests::demo_site_has_required_tags ... ok
[INFO] [stdout] test error::tests::error_grid_has_err_marker ... ok
[INFO] [stdout] test error::tests::grid_from_cols_rows_builds_correctly ... ok
[INFO] [stdout] test error::tests::haystack_error_display ... ok
[INFO] [stdout] test his_store::tests::duplicate_timestamp_replaces_value ... ok
[INFO] [stdout] test his_store::tests::empty_read_returns_empty ... ok
[INFO] [stdout] test his_store::tests::multiple_points_are_independent ... ok
[INFO] [stdout] test his_store::tests::range_query ... ok
[INFO] [stdout] test his_store::tests::sorted_order_maintained ... ok
[INFO] [stdout] test his_store::tests::write_and_read_back ... ok
[INFO] [stdout] test ws::tests::add_ids_ownership_check ... ok
[INFO] [stdout] test ws::tests::get_ids_returns_none_for_unknown_watch ... ok
[INFO] [stdout] test ws::tests::poll_no_changes ... ok
[INFO] [stdout] test ws::tests::poll_unknown_watch ... ok
[INFO] [stdout] test ws::tests::poll_with_changes ... ok
[INFO] [stdout] test ws::tests::poll_wrong_owner ... ok
[INFO] [stdout] test ws::tests::remove_ids_leaves_watch_alive ... ok
[INFO] [stdout] test ws::tests::remove_ids_nonexistent_watch ... ok
[INFO] [stdout] test ws::tests::remove_ids_selective ... ok
[INFO] [stdout] test ws::tests::remove_ids_wrong_owner ... ok
[INFO] [stdout] test ws::tests::subscribe_returns_watch_id ... ok
[INFO] [stdout] test ws::tests::unsubscribe_full_removal ... ok
[INFO] [stdout] test ws::tests::unsubscribe_removes_watch ... ok
[INFO] [stdout] test ws::tests::unsubscribe_wrong_owner ... ok
[INFO] [stdout] test ws::tests::ws_error_response_format ... ok
[INFO] [stdout] test ws::tests::ws_request_deserialization ... ok
[INFO] [stdout] test ws::tests::ws_request_deserialization_minimal ... ok
[INFO] [stdout] test ws::tests::ws_response_includes_req_id ... ok
[INFO] [stdout] test ws::tests::ws_response_omits_none_fields ... ok
[INFO] [stdout] test ws::tests::ws_response_serialization ... ok
[INFO] [stdout] test auth::users::tests::permissions_override_role ... ok
[INFO] [stdout] test auth::users::tests::no_role_no_permissions_gives_empty ... ok
[INFO] [stdout] test auth::tests::validate_token_succeeds_before_expiry ... ok
[INFO] [stdout] test auth::users::tests::hash_and_parse_roundtrip ... ok
[INFO] [stdout] test auth::tests::validate_token_fails_after_expiry ... ok
[INFO] [stdout] test auth::users::tests::load_users_direct_permissions ... ok
[INFO] [stdout] test auth::tests::validate_token_returns_none_for_unknown ... ok
[INFO] [stdout] test auth::tests::manager_with_users_is_enabled ... ok
[INFO] [stdout] test auth::users::tests::unknown_role_gives_empty_permissions ... ok
[INFO] [stdout] test auth::users::tests::load_users_role_based ... ok
[INFO] [stdout] test auth::tests::hello_known_user_succeeds ... ok
[INFO] [stdout] test auth::tests::revoke_token_returns_false_for_unknown ... ok
[INFO] [stdout] test auth::tests::hello_unknown_user_returns_fake_challenge ... ok
[INFO] [stdout] test auth::tests::hello_known_and_unknown_users_look_similar ... ok
[INFO] [stdout] test auth::tests::fake_challenge_is_deterministic_per_username ... ok
[INFO] [stderr]    Doc-tests haystack_server
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 78 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.73s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 17) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.15s; merged doctests compilation took 1.13s
[INFO] running `Command { std: "docker" "inspect" "6bcb20f3a8f1672b32a4684572ca2cd10f99ca927fa41865fb065a15f8855fe8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bcb20f3a8f1672b32a4684572ca2cd10f99ca927fa41865fb065a15f8855fe8", kill_on_drop: false }`
[INFO] [stdout] 6bcb20f3a8f1672b32a4684572ca2cd10f99ca927fa41865fb065a15f8855fe8
