authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2024-05-31 00:09:28+02:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2024-06-10 20:32:34+02:00
logb9d738a5cff0ab896c25f1c8abe15757bcd6a0ba
tree1a2938a226cb4605932665d9cb9fa9fcf4a81ad0
parent44443b833b9c86cb5a3c50b157f13ab4097226d8
signaturebadge-check Signed by SSH key SHA256:ZS52FNyUv2WUXvO4njmVaFVO46RHojFuOrxRc4LuKzg

spirv: disable tests that fail on pocl

Besides the Intel OpenCL CPU runtime, we can now run the behavior tests using the Portable Computing Language. This implementation is open-source, so it will be easier for us to patch in updated versions of spirv-llvm-translator that have bug fixes etc.

16 files changed, 29 insertions(+), 0 deletions(-)

test/behavior/abs.zig+1
......@@ -152,6 +152,7 @@ test "@abs int vectors" {
152152 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
153153 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
154154 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
155 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
155156
156157 try comptime testAbsIntVectors(1);
157158 try testAbsIntVectors(1);
test/behavior/array.zig+1
......@@ -768,6 +768,7 @@ test "slicing array of zero-sized values" {
768768 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
769769 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest;
770770 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
771 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
771772
772773 var arr: [32]u0 = undefined;
773774 for (arr[0..]) |*zero|
test/behavior/byval_arg_var.zig+1
......@@ -6,6 +6,7 @@ var result: []const u8 = "wrong";
66test "pass string literal byvalue to a generic var param" {
77 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
88 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
9 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
910
1011 start();
1112 blowUpStack(10);
test/behavior/cast.zig+1
......@@ -1378,6 +1378,7 @@ test "assignment to optional pointer result loc" {
13781378
13791379test "cast between *[N]void and []void" {
13801380 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
1381 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
13811382
13821383 var a: [4]void = undefined;
13831384 const b: []void = &a;
test/behavior/enum.zig+1
......@@ -1286,6 +1286,7 @@ test "matching captures causes enum equivalence" {
12861286test "large enum field values" {
12871287 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
12881288 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
1289 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12891290
12901291 {
12911292 const E = enum(u64) { min = std.math.minInt(u64), max = std.math.maxInt(u64) };
test/behavior/error.zig+3
......@@ -997,6 +997,7 @@ test "try used in recursive function with inferred error set" {
997997 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
998998 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
999999 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
1000 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
10001001
10011002 const Value = union(enum) {
10021003 values: []const @This(),
......@@ -1103,6 +1104,7 @@ test "result location initialization of error union with OPV payload" {
11031104 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
11041105 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
11051106 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
1107 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11061108
11071109 const S = struct {
11081110 x: u0,
......@@ -1125,6 +1127,7 @@ test "result location initialization of error union with OPV payload" {
11251127test "return error union with i65" {
11261128 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
11271129 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
1130 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
11281131
11291132 try expect(try add(1000, 234) == 1234);
11301133}
test/behavior/hasdecl.zig+2
......@@ -13,6 +13,7 @@ const Bar = struct {
1313
1414test "@hasDecl" {
1515 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
16 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1617
1718 try expect(@hasDecl(Foo, "public_thing"));
1819 try expect(!@hasDecl(Foo, "private_thing"));
......@@ -25,6 +26,7 @@ test "@hasDecl" {
2526
2627test "@hasDecl using a sliced string literal" {
2728 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
29 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
2830
2931 try expect(@hasDecl(@This(), "std") == true);
3032 try expect(@hasDecl(@This(), "std"[0..0]) == false);
test/behavior/math.zig+1
......@@ -622,6 +622,7 @@ test "negation wrapping" {
622622 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
623623 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
624624 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
625 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
625626
626627 try expectEqual(@as(u1, 1), negateWrap(u1, 1));
627628}
test/behavior/optional.zig+2
......@@ -61,6 +61,7 @@ test "optional with zero-bit type" {
6161 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
6262 if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
6363 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
64 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
6465
6566 const S = struct {
6667 fn doTheTest(comptime ZeroBit: type, comptime zero_bit: ZeroBit) !void {
......@@ -641,6 +642,7 @@ test "result location initialization of optional with OPV payload" {
641642 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
642643 if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
643644 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
645 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
644646
645647 const S = struct {
646648 x: u0,
test/behavior/packed-struct.zig+2
......@@ -1306,6 +1306,8 @@ test "2-byte packed struct argument in C calling convention" {
13061306}
13071307
13081308test "packed struct contains optional pointer" {
1309 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
1310
13091311 const foo: packed struct {
13101312 a: ?*@This() = null,
13111313 } = .{};
test/behavior/packed-union.zig+2
......@@ -177,6 +177,8 @@ test "assigning to non-active field at comptime" {
177177}
178178
179179test "comptime packed union of pointers" {
180 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
181
180182 const U = packed union {
181183 a: *const u32,
182184 b: *const [1]u32,
test/behavior/slice.zig+3
......@@ -408,6 +408,7 @@ test "slice syntax resulting in pointer-to-array" {
408408 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
409409 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
410410 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
411 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
411412
412413 const S = struct {
413414 fn doTheTest() !void {
......@@ -863,6 +864,7 @@ test "global slice field access" {
863864
864865test "slice of void" {
865866 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
867 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
866868
867869 var n: usize = 10;
868870 _ = &n;
......@@ -988,6 +990,7 @@ test "get address of element of zero-sized slice" {
988990 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
989991 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
990992 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
993 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
991994
992995 const S = struct {
993996 fn destroy(_: *void) void {}
test/behavior/string_literals.zig+2
......@@ -35,6 +35,7 @@ test "@typeName() returns a string literal" {
3535 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
3636 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
3737 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
38 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
3839
3940 try std.testing.expect(*const [type_name.len:0]u8 == @TypeOf(type_name));
4041 try std.testing.expect(std.mem.eql(u8, "behavior.string_literals.TestType", type_name));
......@@ -49,6 +50,7 @@ test "@embedFile() returns a string literal" {
4950 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
5051 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
5152 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
53 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
5254
5355 try std.testing.expect(*const [expected_contents.len:0]u8 == @TypeOf(actual_contents));
5456 try std.testing.expect(std.mem.eql(u8, expected_contents, actual_contents));
test/behavior/typename.zig+5
......@@ -43,6 +43,7 @@ test "anon field init" {
4343 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
4444 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
4545 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
46 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
4647
4748 const Foo = .{
4849 .T1 = struct {},
......@@ -91,6 +92,7 @@ test "top level decl" {
9192 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
9293 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
9394 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
95 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
9496
9597 try expectEqualStrings(
9698 "behavior.typename.A_Struct",
......@@ -141,6 +143,7 @@ test "fn param" {
141143 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
142144 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
143145 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
146 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
144147
145148 // https://github.com/ziglang/zig/issues/675
146149 try expectEqualStrings(
......@@ -221,6 +224,7 @@ test "local variable" {
221224 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
222225 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
223226 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
227 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
224228
225229 const Foo = struct { a: u32 };
226230 const Bar = union { a: u32 };
......@@ -250,6 +254,7 @@ test "anon name strategy used in sub expression" {
250254 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
251255 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
252256 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
257 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
253258
254259 const S = struct {
255260 fn getTheName() []const u8 {
test/behavior/union.zig+1
......@@ -920,6 +920,7 @@ test "union no tag with struct member" {
920920 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
921921 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
922922 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
923 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
923924
924925 const Struct = struct {};
925926 const Union = union {
test/behavior/vector.zig+1
......@@ -268,6 +268,7 @@ test "tuple to vector" {
268268 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
269269 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
270270 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
271 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
271272
272273 if (builtin.zig_backend == .stage2_llvm and builtin.cpu.arch == .aarch64) {
273274 // Regressed with LLVM 14: