Commit 20011a7a1c

Andrew Kelley <superjoe30@gmail.com>
2018-03-10 03:05:54
add behavior test for coroutine frame allocation failure
1 parent 61a02d9
Changed files (1)
test
test/cases/coroutines.zig
@@ -130,3 +130,16 @@ fn early_seq(c: u8) void {
     early_points[early_seq_index] = c;
     early_seq_index += 1;
 }
+
+test "coro allocation failure" {
+    var failing_allocator = std.debug.FailingAllocator.init(std.debug.global_allocator, 0);
+    if (async(&failing_allocator.allocator) asyncFuncThatNeverGetsRun()) {
+        @panic("expected allocation failure");
+    } else |err| switch (err) {
+        error.OutOfMemory => {},
+    }
+}
+
+async fn asyncFuncThatNeverGetsRun() void {
+    @panic("coro frame allocation should fail");
+}