From dac1450d5409a5c74c6c374f13f079ec55b75c62 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Tue, 27 Feb 2024 21:25:07 -0500 Subject: [PATCH] update tests --- test/effect-based/t_fork_join_heavy.ml | 2 +- test/fiber/t_fib1.expected | 10 ++++++++++ test/fiber/t_fib1.ml | 12 ++++++++++-- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/test/effect-based/t_fork_join_heavy.ml b/test/effect-based/t_fork_join_heavy.ml index 7fac119c..0b35db1f 100644 --- a/test/effect-based/t_fork_join_heavy.ml +++ b/test/effect-based/t_fork_join_heavy.ml @@ -29,7 +29,7 @@ let run ~min () = let l1, l2 = let@ pool = Ws_pool.with_ ~num_threads:min () in - let@ () = Ws_pool.run_wait_block pool in + let@ () = Runner.run_wait_block pool in let l1, l2 = FJ.both diff --git a/test/fiber/t_fib1.expected b/test/fiber/t_fib1.expected index 3352684d..4fe3f294 100644 --- a/test/fiber/t_fib1.expected +++ b/test/fiber/t_fib1.expected @@ -2,14 +2,24 @@ start wait for subs await fiber 0 +cur fiber is some: true +cur fiber is some: true res 0 = 0 await fiber 1 +cur fiber is some: true +cur fiber is some: true res 1 = 1 await fiber 2 +cur fiber is some: true +cur fiber is some: true res 2 = 2 await fiber 3 +cur fiber is some: true +cur fiber is some: true res 3 = 3 await fiber 4 +cur fiber is some: true +cur fiber is some: true res 4 = 4 main fiber done other fib done diff --git a/test/fiber/t_fib1.ml b/test/fiber/t_fib1.ml index ad5f0bbc..fed423a0 100644 --- a/test/fiber/t_fib1.ml +++ b/test/fiber/t_fib1.ml @@ -8,8 +8,10 @@ let lock = Lock.create () let logf fmt = Printf.ksprintf (fun s -> - let@ () = Lock.with_ lock in - print_string s) + let out = stdout in + (let@ () = Lock.with_ lock in + output_string out s); + flush out) fmt let () = @@ -32,7 +34,13 @@ let () = List.iteri (fun i f -> logf "await fiber %d\n%!" i; + logf "cur fiber is some: %b\n%!" + (Option.is_some @@ F.Private_.get_cur ()); let res = F.await f in + logf "cur fiber is some: %b\n%!" + (Option.is_some @@ F.Private_.get_cur ()); + Thread.delay 0.000_01; + F.yield (); logf "res %d = %d\n%!" i res) subs; logf "main fiber done\n%!"