From 834e992a7c4ca0f0e1935e01e23410bc1d95cc52 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 28 Feb 2018 22:26:26 -0500 Subject: [PATCH] add test for coroutine suspend with block --- test/cases/coroutines.zig | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/cases/coroutines.zig b/test/cases/coroutines.zig index 2a5505360c..b2bed7a8a0 100644 --- a/test/cases/coroutines.zig +++ b/test/cases/coroutines.zig @@ -41,3 +41,21 @@ fn seq(c: u8) void { points[index] = c; index += 1; } + +test "coroutine suspend with block" { + const p = (async(std.debug.global_allocator) testSuspendBlock()) catch unreachable; + std.debug.assert(!result); + resume a_promise; + std.debug.assert(result); + cancel p; +} + +var a_promise: promise = undefined; +var result = false; + +async fn testSuspendBlock() void { + suspend |p| { + a_promise = p; + } + result = true; +}