mirror of
https://github.com/c-cube/moonpool.git
synced 2026-01-21 08:46:43 -05:00
add tests for Fut.for_iter
This commit is contained in:
parent
92df561099
commit
b32c7e3e38
1 changed files with 21 additions and 0 deletions
|
|
@ -143,3 +143,24 @@ let () =
|
||||||
in
|
in
|
||||||
|
|
||||||
List.iter run_for [ 1; 10; 50; 1_000 ]
|
List.iter run_for [ 1; 10; 50; 1_000 ]
|
||||||
|
|
||||||
|
let () =
|
||||||
|
let n_items = Atomic.make 0 in
|
||||||
|
let fut =
|
||||||
|
Fut.for_iter ~on:pool (fun _yield -> ()) (fun _item -> Atomic.incr n_items)
|
||||||
|
in
|
||||||
|
Fut.wait_block_exn fut;
|
||||||
|
assert (Atomic.get n_items = 0)
|
||||||
|
|
||||||
|
let () =
|
||||||
|
let run_for n =
|
||||||
|
let l = List.init n (fun x -> x) in
|
||||||
|
let sum = Atomic.make 0 in
|
||||||
|
let iter = fun yield -> List.iter yield l in
|
||||||
|
Fut.for_iter ~on:pool iter (fun x ->
|
||||||
|
ignore (Atomic.fetch_and_add sum x : int))
|
||||||
|
|> Fut.wait_block_exn;
|
||||||
|
assert (Atomic.get sum = List.fold_left ( + ) 0 l)
|
||||||
|
in
|
||||||
|
|
||||||
|
List.iter run_for [ 0; 1; 2; 3; 10; 50; 1_000 ]
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue