mirror of
https://github.com/ziglang/zig.git
synced 2025-12-29 09:33:18 +00:00
Some tests are now failing due to debug info changes, some tests now pass due to improved compiler functionality.
34 lines
1.3 KiB
Zig
34 lines
1.3 KiB
Zig
const std = @import("std");
|
|
const testing = std.testing;
|
|
const builtin = @import("builtin");
|
|
|
|
fn wuffs_base__make_io_buffer(arg_data: wuffs_base__slice_u8, arg_meta: *wuffs_base__io_buffer_meta) callconv(.C) void {
|
|
arg_data.ptr[0] = 'w';
|
|
arg_meta.closed = false;
|
|
}
|
|
const wuffs_base__io_buffer_meta = extern struct {
|
|
wi: usize,
|
|
ri: usize,
|
|
pos: u64,
|
|
closed: bool,
|
|
};
|
|
const wuffs_base__slice_u8 = extern struct {
|
|
ptr: [*c]u8,
|
|
len: usize,
|
|
};
|
|
test {
|
|
if (builtin.zig_backend == .stage2_x86) return error.SkipZigTest; // TODO
|
|
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
|
|
|
var string: [5]u8 = "hello".*;
|
|
const arg_data = wuffs_base__slice_u8{ .ptr = @as([*c]u8, @ptrCast(&string)), .len = string.len };
|
|
var arg_meta = wuffs_base__io_buffer_meta{ .wi = 1, .ri = 2, .pos = 3, .closed = true };
|
|
wuffs_base__make_io_buffer(arg_data, &arg_meta);
|
|
try std.testing.expectEqualStrings("wello", arg_data.ptr[0..arg_data.len]);
|
|
try std.testing.expectEqual(@as(usize, 1), arg_meta.wi);
|
|
try std.testing.expectEqual(@as(usize, 2), arg_meta.ri);
|
|
try std.testing.expectEqual(@as(u64, 3), arg_meta.pos);
|
|
try std.testing.expect(!arg_meta.closed);
|
|
}
|