test(ecstore): satisfy concurrent codec lint

Co-Authored-By: heihutu <heihutu@gmail.com>
This commit is contained in:
houseme
2026-08-13 22:57:07 +08:00
parent 78ac2aa3f8
commit 1892a613ae
+14 -17
View File
@@ -1454,25 +1454,22 @@ mod tests {
let payloads = [vec![0x35; 257], vec![0xca; 1025]]; let payloads = [vec![0x35; 257], vec![0xca; 1025]];
std::thread::scope(|scope| { std::thread::scope(|scope| {
let handles = payloads let handles = payloads.each_ref().map(|payload| {
.iter() let barrier = Arc::clone(&barrier);
.map(|payload| { scope.spawn(move || {
let barrier = Arc::clone(&barrier); let erasure = Erasure::new_with_options(6, 3, 2048, true);
scope.spawn(move || { barrier.wait();
let erasure = Erasure::new_with_options(6, 3, 2048, true); let encoded = erasure.encode_data(payload).expect("concurrent legacy encode should succeed");
barrier.wait(); barrier.wait();
let encoded = erasure.encode_data(payload).expect("concurrent legacy encode should succeed");
barrier.wait();
let mut shards = optional_shards(&encoded); let mut shards = optional_shards(&encoded);
shards[0] = None; shards[0] = None;
erasure erasure
.decode_data(&mut shards) .decode_data(&mut shards)
.expect("concurrent legacy decode should reconstruct the missing shard"); .expect("concurrent legacy decode should reconstruct the missing shard");
recover_data(&shards, erasure.data_shards, payload.len()) recover_data(&shards, erasure.data_shards, payload.len())
})
}) })
.collect::<Vec<_>>(); });
for (handle, payload) in handles.into_iter().zip(payloads.iter()) { for (handle, payload) in handles.into_iter().zip(payloads.iter()) {
assert_eq!(handle.join().expect("concurrent legacy codec worker should not panic"), *payload); assert_eq!(handle.join().expect("concurrent legacy codec worker should not panic"), *payload);