Commit 834e992a7c

Andrew Kelley <superjoe30@gmail.com>
2018-03-01 04:26:26
add test for coroutine suspend with block
1 parent 8429d4c
Changed files (1)
test
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;
+}