add tests for Fut.for_iter
Some checks are pending
github pages / Deploy doc (push) Waiting to run
Build and Test / build (push) Waiting to run
Build and Test / build-compat (push) Waiting to run
Build and Test / format (push) Waiting to run

This commit is contained in:
Simon Cruanes 2026-01-11 12:58:06 -05:00
parent 92df561099
commit b32c7e3e38

View file

@ -143,3 +143,24 @@ let () =
in
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 ]