From d95c7db6ec9f17e0c212c010385ac61ad7340d43 Mon Sep 17 00:00:00 2001 From: Ali Cheraghi Date: Tue, 25 Aug 2026 21:55:19 +0330 Subject: [PATCH] test: skip failing behavior tests for spirv --- test/behavior/array.zig | 4 ++++ test/behavior/backing_int.zig | 6 ++++++ test/behavior/cast.zig | 1 + test/behavior/comptime_memory.zig | 2 ++ test/behavior/for.zig | 1 + test/behavior/math.zig | 2 ++ test/behavior/packed-union.zig | 3 +++ test/behavior/pointers.zig | 1 + test/behavior/ptrcast.zig | 2 ++ test/behavior/sizeof_and_typeof.zig | 2 ++ test/behavior/slice.zig | 8 ++++++++ test/behavior/string_literals.zig | 2 ++ test/behavior/vector.zig | 2 ++ 13 files changed, 36 insertions(+) diff --git a/test/behavior/array.zig b/test/behavior/array.zig index 55024fdf559ebb8521737017252e07f096c107ab..6c228f76eba5fed6d0899a74e0a5544cb94efa66 100644 --- a/test/behavior/array.zig +++ b/test/behavior/array.zig @@ -7,6 +7,8 @@ const expect = testing.expect; const expectEqual = testing.expectEqual; test "array to slice" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const a: u32 align(4) = 3; const b: u32 align(8) = 4; const a_slice: []align(1) const u32 = @as(*const [1]u32, &a)[0..]; @@ -19,8 +21,10 @@ test "array to slice" { } test "arrays" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + var array: [5]u32 = undefined; var i: u32 = 0; diff --git a/test/behavior/backing_int.zig b/test/behavior/backing_int.zig index 1ab8b5970e1d93eaf7b7b1196cee5cf51ab5622f..78602fc3e97308a687dbc001a5252d4ec2c9c205 100644 --- a/test/behavior/backing_int.zig +++ b/test/behavior/backing_int.zig @@ -137,6 +137,8 @@ const T5 = union(E5) { }; test "@backingInt with tagged unions" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const static = struct { fn doTheTest(v1: T1, v2: T2, v4: T4, v5: T5) !void { const b1 = @backingInt(v1); @@ -311,6 +313,8 @@ const U5 = packed union(u0) { }; test "@backingInt with packed unions" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const static = struct { fn doTheTest(v1: U1, v2: U2, v3: U3, v4: U4, v5: U5) !void { const b1 = @backingInt(v1); @@ -339,6 +343,8 @@ test "@backingInt with packed unions" { } test "@fromBackingInt with packed unions" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const static = struct { fn doTheTest( b1: @typeInfo(U1).@"union".backing_integer.?, diff --git a/test/behavior/cast.zig b/test/behavior/cast.zig index 2a79566b74f6fad214b6324ff3e41b5ae087ae6d..f229ec8af57feae23e2aafd57007f0ed1a6bf1b6 100644 --- a/test/behavior/cast.zig +++ b/test/behavior/cast.zig @@ -1806,6 +1806,7 @@ test "cast compatible optional types" { test "coerce undefined single-item pointer of array to error union of slice" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; const a = @as([*]u8, undefined)[0..0]; var b: error{a}![]const u8 = a; diff --git a/test/behavior/comptime_memory.zig b/test/behavior/comptime_memory.zig index d11a7cb0165dca71e86447ec8a059257001d4cb4..2e4989a7e6ee1f0065469b23aa04e631a7b56c6b 100644 --- a/test/behavior/comptime_memory.zig +++ b/test/behavior/comptime_memory.zig @@ -437,6 +437,8 @@ test "type pun null pointer-like optional" { } test "write empty array to end" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + comptime var array: [5]u8 = "hello".*; array[5..5].* = .{}; array[5..5].* = [0]u8{}; diff --git a/test/behavior/for.zig b/test/behavior/for.zig index f4b2ea923f0e7407030b4dc661de7ebf154bfaec..f64271480a65d0e7a1e8125b37f78106ba4b71a0 100644 --- a/test/behavior/for.zig +++ b/test/behavior/for.zig @@ -391,6 +391,7 @@ test "raw pointer and counter" { test "inline for with slice as the comptime-known" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; const comptime_slice = "hello"; var runtime_i: usize = 3; diff --git a/test/behavior/math.zig b/test/behavior/math.zig index aafcd83b04fa770ba9620ce354569877d413f5bd..259b9dfe7c3aa908713374a60e21116d6e1edb73 100644 --- a/test/behavior/math.zig +++ b/test/behavior/math.zig @@ -456,6 +456,7 @@ test "division" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; try testIntDivision(); try comptime testIntDivision(); @@ -649,6 +650,7 @@ test "division half-precision floats" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; try testDivisionFP16(); try comptime testDivisionFP16(); diff --git a/test/behavior/packed-union.zig b/test/behavior/packed-union.zig index 4fd25526ce4a37deef7233b5b71120742604ce80..91166a0a596640a92d882b5b8aa0b1a835391e2d 100644 --- a/test/behavior/packed-union.zig +++ b/test/behavior/packed-union.zig @@ -229,6 +229,8 @@ test "initialize packed union field to undefined at comptime" { } test "convert from/to backing int" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const U = packed union(u10) { a: i10, b: enum(u10) { x, y, z }, @@ -244,6 +246,7 @@ test "convert from/to backing int" { test "equality with wide backing integer" { if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // https://codeberg.org/ziglang/zig/issues/35982 + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; const U = packed union(i200) { x: u200, diff --git a/test/behavior/pointers.zig b/test/behavior/pointers.zig index 807f4f5450d3fb372e18e2fc78f71fea9ce4d5bb..7f75454495996b29620880b5ee180d8261261970 100644 --- a/test/behavior/pointers.zig +++ b/test/behavior/pointers.zig @@ -701,6 +701,7 @@ test "pointer-to-array constness for zero-size elements, var" { test "pointer-to-array constness for zero-size elements, const" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; try constant(); try comptime constant(); diff --git a/test/behavior/ptrcast.zig b/test/behavior/ptrcast.zig index 31de4f08b474620680a5d43252530124e12b736d..123b9be3d8d4f28767dc3ed7a1ec636811ec7693 100644 --- a/test/behavior/ptrcast.zig +++ b/test/behavior/ptrcast.zig @@ -6,6 +6,7 @@ const native_endian = builtin.target.cpu.arch.endian(); test "reinterpret bytes as integer with nonzero offset" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; try testReinterpretBytesAsInteger(); try comptime testReinterpretBytesAsInteger(); @@ -39,6 +40,7 @@ fn testReinterpretWithOffsetAndNoWellDefinedLayout() !void { test "reinterpret bytes inside auto-layout struct as integer with nonzero offset" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; try testReinterpretStructWrappedBytesAsInteger(); try comptime testReinterpretStructWrappedBytesAsInteger(); diff --git a/test/behavior/sizeof_and_typeof.zig b/test/behavior/sizeof_and_typeof.zig index 36288f2668777bfe0f2df7780531b2ebaf58c7c1..96b17e2151712787ebf63f4f1cc7b8cbaecaf139 100644 --- a/test/behavior/sizeof_and_typeof.zig +++ b/test/behavior/sizeof_and_typeof.zig @@ -405,6 +405,8 @@ test "Extern function calls, dereferences and field access in @TypeOf" { } test "@sizeOf struct is resolved when used as operand of slicing" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const dummy = struct {}; const S = struct { var buf: [1]u8 = undefined; diff --git a/test/behavior/slice.zig b/test/behavior/slice.zig index 247c3d1be8f3a15ab8b53f9d0a47f2bdea02cc4f..e3685562e5259913edfcd99590a1452bbafb7075 100644 --- a/test/behavior/slice.zig +++ b/test/behavior/slice.zig @@ -59,6 +59,8 @@ test "const slice" { } test "comptime slice of undefined pointer of length 0" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const slice1 = @as([*]i32, undefined)[0..0]; try expect(slice1.len == 0); const slice2 = @as([*]i32, undefined)[100..100]; @@ -173,6 +175,8 @@ test "pass a slice of types to a function" { test "generic malloc free" { if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const a = memAlloc(u8, 10) catch unreachable; memFree(u8, a); } @@ -209,6 +213,8 @@ test "comptime slice of pointer preserves comptime var" { } test "comptime pointer cast array and then slice" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const array = [_]u8{ 1, 2, 3, 4, 5, 6, 7, 8 }; const ptrA: [*]const u8 = @as([*]const u8, @ptrCast(&array)); @@ -1079,6 +1085,8 @@ test "conditionally return second argument slice" { } test "slice field alignment" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const S = struct { fn doTheTest(p: *align(1) const []u8) !void { comptime assert(@TypeOf(&p.ptr) == *align(1) const [*]u8); diff --git a/test/behavior/string_literals.zig b/test/behavior/string_literals.zig index ff5f57f23510f598127e950a828b41a40dbcac5a..68861deda6462f3c46e799da19b9825572eaaab5 100644 --- a/test/behavior/string_literals.zig +++ b/test/behavior/string_literals.zig @@ -84,6 +84,8 @@ test "string literal pointer sentinel" { } test "sentinel slice of string literal" { + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const string = "Hello!\x00World!"; try std.testing.expect(@TypeOf(string) == *const [13:0]u8); diff --git a/test/behavior/vector.zig b/test/behavior/vector.zig index 9b77994848b2bfbfab21b015c437ad2b6f5a6f54..0566293f9066147a7a717866b2be28f739555fb2 100644 --- a/test/behavior/vector.zig +++ b/test/behavior/vector.zig @@ -680,6 +680,8 @@ test "vector division operators" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_spirv) return error.SkipZigTest; + const S = struct { fn doTheTestDiv(comptime T: type, x: @Vector(4, T), y: @Vector(4, T)) !void { const is_signed_int = switch (@typeInfo(T)) { -- 2.54.0