[INFO] fetching crate qora-fl 0.3.1...
[INFO] testing qora-fl-0.3.1 against 1.95.0 for beta-1.96-2
[INFO] extracting crate qora-fl 0.3.1 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate qora-fl 0.3.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate qora-fl 0.3.1
[INFO] tweaked toml for crates.io crate qora-fl 0.3.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate qora-fl 0.3.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 qora-fl 0.3.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 pyo3-ffi v0.20.3
[INFO] [stderr]   Downloaded pyo3-macros v0.20.3
[INFO] [stderr]   Downloaded pyo3-build-config v0.20.3
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.20.3
[INFO] [stderr]   Downloaded fixed v1.30.0
[INFO] [stderr]   Downloaded numpy v0.20.0
[INFO] [stderr]   Downloaded pyo3 v0.20.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] d70ec13dfc3ac4c4f53165a62e70b6ac2e59388df5140c3dd733656075c71ee1
[INFO] running `Command { std: "docker" "start" "-a" "d70ec13dfc3ac4c4f53165a62e70b6ac2e59388df5140c3dd733656075c71ee1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d70ec13dfc3ac4c4f53165a62e70b6ac2e59388df5140c3dd733656075c71ee1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d70ec13dfc3ac4c4f53165a62e70b6ac2e59388df5140c3dd733656075c71ee1", kill_on_drop: false }`
[INFO] [stdout] d70ec13dfc3ac4c4f53165a62e70b6ac2e59388df5140c3dd733656075c71ee1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 3c5b26eba533f90722df1f80ae356774172bd1ed4e9e263d0e691729561e8965
[INFO] running `Command { std: "docker" "start" "-a" "3c5b26eba533f90722df1f80ae356774172bd1ed4e9e263d0e691729561e8965", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling fixed v1.30.0
[INFO] [stderr]    Compiling az v1.3.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling qora-fl v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.36s
[INFO] running `Command { std: "docker" "inspect" "3c5b26eba533f90722df1f80ae356774172bd1ed4e9e263d0e691729561e8965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c5b26eba533f90722df1f80ae356774172bd1ed4e9e263d0e691729561e8965", kill_on_drop: false }`
[INFO] [stdout] 3c5b26eba533f90722df1f80ae356774172bd1ed4e9e263d0e691729561e8965
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] ca222e1c9cf5bc7faa616dfba7b6843fa82ac7aec9febe32e9aba9891714559c
[INFO] running `Command { std: "docker" "start" "-a" "ca222e1c9cf5bc7faa616dfba7b6843fa82ac7aec9febe32e9aba9891714559c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling qora-fl v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.13s
[INFO] running `Command { std: "docker" "inspect" "ca222e1c9cf5bc7faa616dfba7b6843fa82ac7aec9febe32e9aba9891714559c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ca222e1c9cf5bc7faa616dfba7b6843fa82ac7aec9febe32e9aba9891714559c", kill_on_drop: false }`
[INFO] [stdout] ca222e1c9cf5bc7faa616dfba7b6843fa82ac7aec9febe32e9aba9891714559c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] f8ca535b7673a6995b9b35411c1f9aef844f3dbb370f1990e64e5d3bb476364e
[INFO] running `Command { std: "docker" "start" "-a" "f8ca535b7673a6995b9b35411c1f9aef844f3dbb370f1990e64e5d3bb476364e", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/qora_fl-633886b2e7d04b5f)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test aggregators::adaptive::tests::test_no_suspicious ... ok
[INFO] [stdout] test aggregators::adaptive::tests::test_min_trim_floor ... ok
[INFO] [stdout] test aggregators::adaptive::tests::test_safety_margin_effect ... ok
[INFO] [stdout] test aggregators::fedavg::tests::test_fedavg_vulnerable_to_attack ... ok
[INFO] [stdout] test aggregators::fedavg::tests::test_fedavg_weighted ... ok
[INFO] [stdout] test aggregators::fedavg::tests::test_fedavg_weight_length_mismatch ... ok
[INFO] [stdout] test aggregators::fedavg::tests::test_fedavg_single_client ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_bfp16_different_exponents ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_bfp16_identical ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_bfp16_extreme_scale_difference ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_bfp16_empty ... ok
[INFO] [stdout] test aggregators::fedavg::tests::test_fedavg_unweighted ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_bfp16_length_mismatch ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_bfp16_simple ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_bfp16_symmetry ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_length_mismatch ... ok
[INFO] [stdout] test aggregators::krum::tests::test_krum_bfp16_returns_none_small_n ... ok
[INFO] [stdout] test aggregators::krum::tests::test_krum_f_zero_edge_case ... ok
[INFO] [stdout] test aggregators::krum::tests::test_krum_returns_none_for_small_n ... ok
[INFO] [stdout] test aggregators::krum::tests::test_krum_determinism ... ok
[INFO] [stdout] test aggregators::adaptive::tests::test_30_percent_suspicious ... ok
[INFO] [stdout] test aggregators::krum::tests::test_multi_krum_returns_none_small_n ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_identical ... ok
[INFO] [stdout] test aggregators::fedavg::tests::test_fedavg_empty ... ok
[INFO] [stdout] test aggregators::median::tests::test_median_dimension_mismatch ... ok
[INFO] [stdout] test aggregators::median::tests::test_median_empty ... ok
[INFO] [stdout] test aggregators::median::tests::test_median_30_percent_byzantine ... ok
[INFO] [stdout] test aggregators::median::tests::test_median_even_count ... ok
[INFO] [stdout] test aggregators::median::tests::test_median_rejects_outlier ... ok
[INFO] [stdout] test aggregators::median::tests::test_median_odd_count ... ok
[INFO] [stdout] test aggregators::krum::tests::test_krum_bfp16_selects_honest ... ok
[INFO] [stdout] test aggregators::krum::tests::test_multi_krum_m_clamped_to_n ... ok
[INFO] [stdout] test aggregators::krum::tests::test_multi_krum_selects_honest ... ok
[INFO] [stdout] test aggregators::tests::test_aggregator_fedavg ... ok
[INFO] [stdout] test aggregators::median::tests::test_median_multi_dimensional ... ok
[INFO] [stdout] test aggregators::krum::tests::test_krum_bfp16_large_values ... ok
[INFO] [stdout] test aggregators::krum::tests::test_multi_krum_m1_matches_single ... ok
[INFO] [stdout] test aggregators::krum::tests::test_krum_bfp16_determinism ... ok
[INFO] [stdout] test aggregators::tests::test_aggregator_krum_selects_honest ... ok
[INFO] [stdout] test aggregators::krum::tests::test_krum_selects_honest ... ok
[INFO] [stdout] test aggregators::tests::test_aggregator_krum_deterministic ... ok
[INFO] [stdout] test aggregators::tests::test_aggregator_median ... ok
[INFO] [stdout] test aggregators::trimmed_mean::tests::test_30_percent_byzantine ... ok
[INFO] [stdout] test aggregators::trimmed_mean::tests::test_empty_updates ... ok
[INFO] [stdout] test aggregators::krum::tests::test_multi_krum_determinism ... ok
[INFO] [stdout] test aggregators::tests::test_reset_reputation ... ok
[INFO] [stdout] test aggregators::trimmed_mean::tests::test_invalid_trim_fraction ... ok
[INFO] [stdout] test aggregators::tests::test_aggregator_trimmed_mean ... ok
[INFO] [stdout] test aggregators::trimmed_mean::tests::test_honest_clients_only ... ok
[INFO] [stdout] test reputation::store::tests::test_store_count_below ... ok
[INFO] [stdout] test aggregators::trimmed_mean::tests::test_zero_trim ... ok
[INFO] [stdout] test math::norms::tests::test_l2_norm_3_4_5 ... ok
[INFO] [stdout] test aggregators::trimmed_mean::tests::test_multi_dimensional ... ok
[INFO] [stdout] test math::norms::tests::test_l2_norm_empty ... ok
[INFO] [stdout] test reputation::store::tests::test_store_clamp_bounds ... ok
[INFO] [stdout] test reputation::store::tests::test_store_influence_weight ... ok
[INFO] [stdout] test reputation::store::tests::test_store_prune ... ok
[INFO] [stdout] test reputation::store::tests::test_store_decay ... ok
[INFO] [stdout] test reputation::store::tests::test_store_serde_string_keys ... ok
[INFO] [stdout] test reputation::store::tests::test_store_reward_penalize ... ok
[INFO] [stdout] test reputation::store::tests::test_store_default_score ... ok
[INFO] [stdout] test reputation::store::tests::test_store_influence_cap ... ok
[INFO] [stdout] test reputation::store::tests::test_store_is_banned ... ok
[INFO] [stdout] test reputation::tests::test_influence_weight_fixed_no_overflow ... ok
[INFO] [stdout] test reputation::tests::test_active_peers_excludes_banned ... ok
[INFO] [stdout] test reputation::tests::test_reward_valid_zkp ... ok
[INFO] [stdout] test reputation::tests::test_ban_threshold ... ok
[INFO] [stdout] test reputation::tests::test_default_score ... ok
[INFO] [stdout] test reputation::tests::test_influence_cap ... ok
[INFO] [stdout] test reputation::tests::test_penalize_drift ... ok
[INFO] [stdout] test reputation::tests::test_zkp_failure_penalty ... ok
[INFO] [stdout] test tests::test_version ... ok
[INFO] [stdout] test verification::audit::tests::test_audit_entry_serde ... ok
[INFO] [stdout] test aggregators::adaptive::tests::test_empty ... ok
[INFO] [stdout] test verification::audit::tests::test_audit_log_multiple_entries ... ok
[INFO] [stdout] test verification::krum_condition::tests::test_max_tolerable_f ... ok
[INFO] [stdout] test verification::krum_condition::tests::test_krum_condition_met ... ok
[INFO] [stdout] test verification::norm_bound::tests::test_norm_bound_exact ... ok
[INFO] [stdout] test verification::audit::tests::test_audit_log_push_and_len ... ok
[INFO] [stdout] test verification::norm_bound::tests::test_norm_bound_pass ... ok
[INFO] [stdout] test verification::norm_bound::tests::test_filter_by_norm_bound ... ok
[INFO] [stdout] test verification::norm_bound::tests::test_norm_bound_fail ... ok
[INFO] [stdout] test aggregators::tests::test_default_reputation ... ok
[INFO] [stdout] test aggregators::tests::test_aggregator_krum_too_few_clients ... ok
[INFO] [stdout] test aggregators::tests::test_reputation_tracking ... ok
[INFO] [stdout] test aggregators::trimmed_mean::tests::test_dimension_mismatch ... ok
[INFO] [stdout] test aggregators::krum::tests::test_dist_sq_simple ... ok
[INFO] [stdout] test aggregators::adaptive::tests::test_all_suspicious ... ok
[INFO] [stdout] test math::norms::tests::test_l2_norm_single ... ok
[INFO] [stdout] test math::norms::tests::test_l2_norm_sq_3_4 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/aggregator_tests.rs (/opt/rustwide/target/debug/deps/aggregator_tests-eb7085f3de2d5785)
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test test_ban_gating_fail_open ... ok
[INFO] [stdout] test test_bfp16_round_trip_accuracy ... ok
[INFO] [stdout] test test_error_display_impls ... ok
[INFO] [stdout] test test_bfp16_empty_and_zeros ... ok
[INFO] [stdout] test test_fedavg_dimension_mismatch ... ok
[INFO] [stdout] test test_fedavg_empty_returns_error ... ok
[INFO] [stdout] test test_fedavg_weight_count_mismatch ... ok
[INFO] [stdout] test test_influence_cap_at_0_8 ... ok
[INFO] [stdout] test test_krum_at_exact_boundary ... ok
[INFO] [stdout] test test_krum_below_2f3_best_effort ... ok
[INFO] [stdout] test test_fedavg_vulnerable ... ok
[INFO] [stdout] test test_comparison_trimmed_mean_vs_fedavg ... ok
[INFO] [stdout] test test_byzantine_aggregator_serde_roundtrip ... ok
[INFO] [stdout] test test_ban_gating_excludes_bad_clients ... ok
[INFO] [stdout] test test_median_at_exactly_50_percent_boundary ... ok
[INFO] [stdout] test test_byzantine_aggregator_workflow ... ok
[INFO] [stdout] test test_median_empty_returns_error ... ok
[INFO] [stdout] test test_krum_serde_roundtrip ... ok
[INFO] [stdout] test test_krum_via_byzantine_aggregator ... ok
[INFO] [stdout] test test_multi_krum_attack_resistance ... ok
[INFO] [stdout] test test_multi_krum_result_is_average ... ok
[INFO] [stdout] test test_krum_returns_original_f32_values ... ok
[INFO] [stdout] test test_median_single_client ... ok
[INFO] [stdout] test test_multi_krum_too_few_clients ... ok
[INFO] [stdout] test test_reputation_decay_toward_default ... ok
[INFO] [stdout] test test_all_methods_agree_on_honest_data ... ok
[INFO] [stdout] test test_multi_krum_via_aggregator ... ok
[INFO] [stdout] test test_large_model_update ... ok
[INFO] [stdout] test test_reputation_decay_high_score ... ok
[INFO] [stdout] test test_krum_determinism_cross_invocation ... ok
[INFO] [stdout] test test_multi_krum_serde_roundtrip ... ok
[INFO] [stdout] test test_reputation_tracker_peer_count_and_banned_count ... ok
[INFO] [stdout] test test_reputation_tracker_prune ... ok
[INFO] [stdout] test test_reputation_tracker_score_boundaries ... ok
[INFO] [stdout] test test_trimmed_mean_30_percent_attack ... ok
[INFO] [stdout] test test_trimmed_mean_dimension_mismatch ... ok
[INFO] [stdout] test test_reputation_tracker_decay ... ok
[INFO] [stdout] test test_trimmed_mean_invalid_fraction_negative ... ok
[INFO] [stdout] test test_trimmed_mean_invalid_fraction_high ... ok
[INFO] [stdout] test test_trimmed_mean_single_client_nonzero_trim_errors ... ok
[INFO] [stdout] test test_reputation_tracker_default_impl ... ok
[INFO] [stdout] test test_trimmed_mean_empty_returns_error ... ok
[INFO] [stdout] test test_reputation_tracker_get_weights ... ok
[INFO] [stdout] test test_trimmed_mean_single_client_zero_trim ... ok
[INFO] [stdout] test test_krum_bfp16_parallel_determinism ... ok
[INFO] [stdout] test test_median_below_50_percent_byzantine ... ok
[INFO] [stdout] test test_krum_multidimensional_via_aggregator ... ok
[INFO] [stdout] test test_median_robust ... ok
[INFO] [stdout] test test_krum_via_aggregator_with_reputation ... ok
[INFO] [stdout] test test_krum_handles_large_weights ... ok
[INFO] [stdout] test test_fedavg_zero_weights ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests qora_fl
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/aggregators/mod.rs - aggregators::ByzantineAggregator (line 62) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f8ca535b7673a6995b9b35411c1f9aef844f3dbb370f1990e64e5d3bb476364e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8ca535b7673a6995b9b35411c1f9aef844f3dbb370f1990e64e5d3bb476364e", kill_on_drop: false }`
[INFO] [stdout] f8ca535b7673a6995b9b35411c1f9aef844f3dbb370f1990e64e5d3bb476364e
