[@@@warning "-8"]
open Riot
exception Fail
type Message.t += A | B
let main () =
let (Ok _) = Logger.start () in
Runtime.set_log_level (Some Info);
let this = self () in
let (Ok _) = Timer.send_after this A ~after:100L in
let (Ok t) = Timer.send_after this B ~after:10L in
Timer.cancel t;
match receive_any ~after:10_000L () with
| A ->
Logger.debug (fun f ->
f "cancel_timer_test: timer successfully cancelled");
Logger.info (fun f -> f "cancel_timer_test: OK")
| B ->
Logger.error (fun f -> f "timer not cancelled");
raise Fail
| _ ->
Logger.error (fun f -> f "no message sent");
raise Fail
let () = Riot.run @@ main