authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-02-28 22:26:26-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-02-28 22:26:26-05:00
log834e992a7c4ca0f0e1935e01e23410bc1d95cc52
tree45c0912a0fc6a2956a8c01383eee20123428559a
parent8429d4ceac4eb99fbe8aeca2ebe864dfd5b40470

add test for coroutine suspend with block


1 files changed, 18 insertions(+), 0 deletions(-)

test/cases/coroutines.zig+18
...@@ -41,3 +41,21 @@ fn seq(c: u8) void {...@@ -41,3 +41,21 @@ fn seq(c: u8) void {
41 points[index] = c;41 points[index] = c;
42 index += 1;42 index += 1;
43}43}
44
45test "coroutine suspend with block" {
46 const p = (async(std.debug.global_allocator) testSuspendBlock()) catch unreachable;
47 std.debug.assert(!result);
48 resume a_promise;
49 std.debug.assert(result);
50 cancel p;
51}
52
53var a_promise: promise = undefined;
54var result = false;
55
56async fn testSuspendBlock() void {
57 suspend |p| {
58 a_promise = p;
59 }
60 result = true;
61}