zig/test/cases/safety/@asyncCall with too small a frame.zig
Andrew Kelley 0cd43b0f86 runtime safety tests only on the native target
This matches master branch. We can look into adding more target coverage
as we switch to stage2. As it stands, this works around having to
duplicate the "Executor" logic to figure out when to not run the tests
due to them being non-native.
2022-05-13 17:59:06 -07:00

26 lines
657 B
Zig

const std = @import("std");
const builtin = @import("builtin");
pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace) noreturn {
_ = message;
_ = stack_trace;
std.process.exit(0);
}
pub fn main() !void {
if (builtin.zig_backend == .stage1 and builtin.os.tag == .wasi) {
// TODO file a bug for this failure
std.process.exit(0); // skip the test
}
var bytes: [1]u8 align(16) = undefined;
var ptr = other;
var frame = @asyncCall(&bytes, {}, ptr, .{});
_ = frame;
return error.TestFailed;
}
fn other() callconv(.Async) void {
suspend {}
}
// run
// backend=stage1
// target=native