From d858cd8d19ac279e9b651a268c16ce634d0c5892 Mon Sep 17 00:00:00 2001 From: overtrue Date: Sun, 25 May 2025 18:52:37 +0800 Subject: [PATCH] fix: correct test_common_parity assertion for HashMap iteration order --- ecstore/src/set_disk.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ecstore/src/set_disk.rs b/ecstore/src/set_disk.rs index c555d5bbf..68d78ee2d 100644 --- a/ecstore/src/set_disk.rs +++ b/ecstore/src/set_disk.rs @@ -5774,9 +5774,10 @@ mod tests { // - parity=2: read_quorum = 3-2 = 1, occ=1 >= 1, so valid // - parity=3: read_quorum = 3-3 = 0, occ=1 >= 0, so valid // - max_occ=1, both parity=2 and parity=3 have same occurrence - // - The function picks the first one with max occurrence, which should be parity=2 + // - HashMap iteration order is not guaranteed, so result could be either 2 or 3 let parities = vec![1, 2, 3]; - assert_eq!(SetDisks::common_parity(&parities, 2), 2); // Should return 2, not -1 + let result = SetDisks::common_parity(&parities, 2); + assert!(result == 2 || result == 3); // Either 2 or 3 is valid let empty_parities = vec![]; assert_eq!(SetDisks::common_parity(&empty_parities, 3), -1); // Empty returns -1