1 use test_programs::wasi::clocks::monotonic_clock; 2 main()3fn main() { 4 sleep_10ms(); 5 sleep_0ms(); 6 sleep_backwards_in_time(); 7 } 8 sleep_10ms()9fn sleep_10ms() { 10 let dur = 10_000_000; 11 let p = monotonic_clock::subscribe_instant(monotonic_clock::now() + dur); 12 p.block(); 13 let p = monotonic_clock::subscribe_duration(dur); 14 p.block(); 15 } 16 sleep_0ms()17fn sleep_0ms() { 18 let p = monotonic_clock::subscribe_instant(monotonic_clock::now()); 19 p.block(); 20 let p = monotonic_clock::subscribe_duration(0); 21 assert!( 22 p.ready(), 23 "timer subscription with duration 0 is ready immediately" 24 ); 25 } 26 sleep_backwards_in_time()27fn sleep_backwards_in_time() { 28 let p = monotonic_clock::subscribe_instant(monotonic_clock::now() - 1); 29 assert!( 30 p.ready(), 31 "timer subscription for instant which has passed is ready immediately" 32 ); 33 } 34