authorgravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2024-10-13 01:58:11+02:00
committergravatar for robin@voetter.nlRobin Voetter <robin@voetter.nl> 2024-10-13 01:58:11+02:00
log86b88ea7dab4484ffe7da541da9e7cc194de98ae
tree39a1e49dfddd1df444c3fec46ff5393615192b62
parentc1132edd539b172b6e4c36c5aa774dd98726515f
signaturebadge-check Signed by SSH key SHA256:ZS52FNyUv2WUXvO4njmVaFVO46RHojFuOrxRc4LuKzg

spirv: skip range switch tests

This is not yet implemented

7 files changed, 27 insertions(+), 0 deletions(-)

test/behavior/basic.zig+1
...@@ -1260,6 +1260,7 @@ test "integer compare <= 64 bits" {...@@ -1260,6 +1260,7 @@ test "integer compare <= 64 bits" {
12601260
1261test "integer compare <= 128 bits" {1261test "integer compare <= 128 bits" {
1262 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;1262 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
1263 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
12631264
1264 inline for (.{ u65, u96, u127, u128 }) |T| {1265 inline for (.{ u65, u96, u127, u128 }) |T| {
1265 try testUnsignedCmp(T);1266 try testUnsignedCmp(T);
test/behavior/decl_literals.zig+2
...@@ -73,6 +73,8 @@ test "call decl literal" {...@@ -73,6 +73,8 @@ test "call decl literal" {
73}73}
7474
75test "call decl literal with error union" {75test "call decl literal with error union" {
76 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
77
76 const S = struct {78 const S = struct {
77 x: u32,79 x: u32,
78 fn init(err: bool) !@This() {80 fn init(err: bool) !@This() {
test/behavior/eval.zig+2
...@@ -1618,6 +1618,8 @@ test "struct in comptime false branch is not evaluated" {...@@ -1618,6 +1618,8 @@ test "struct in comptime false branch is not evaluated" {
1618}1618}
16191619
1620test "result of nested switch assigned to variable" {1620test "result of nested switch assigned to variable" {
1621 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
1622
1621 var zds: u32 = 0;1623 var zds: u32 = 0;
1622 zds = switch (zds) {1624 zds = switch (zds) {
1623 0 => switch (zds) {1625 0 => switch (zds) {
test/behavior/inline_switch.zig+1
...@@ -113,6 +113,7 @@ test "inline else enum" {...@@ -113,6 +113,7 @@ test "inline else enum" {
113test "inline else int with gaps" {113test "inline else int with gaps" {
114 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO114 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
115 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO115 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
116 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
116117
117 var a: u8 = 0;118 var a: u8 = 0;
118 _ = &a;119 _ = &a;
test/behavior/math.zig+4
...@@ -833,6 +833,8 @@ test "@addWithOverflow > 64 bits" {...@@ -833,6 +833,8 @@ test "@addWithOverflow > 64 bits" {
833 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO833 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
834 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO834 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
835 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;835 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
836 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
837 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
836838
837 try testAddWithOverflow(u65, 4, 105, 109, 0);839 try testAddWithOverflow(u65, 4, 105, 109, 0);
838 try testAddWithOverflow(u65, 1000, 100, 1100, 0);840 try testAddWithOverflow(u65, 1000, 100, 1100, 0);
...@@ -986,6 +988,7 @@ test "@mulWithOverflow bitsize 128 bits" {...@@ -986,6 +988,7 @@ test "@mulWithOverflow bitsize 128 bits" {
986 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO988 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
987 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO989 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
988 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO990 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
991 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
989992
990 try testMulWithOverflow(u128, 3, 0x5555555555555555_5555555555555555, 0xffffffffffffffff_ffffffffffffffff, 0);993 try testMulWithOverflow(u128, 3, 0x5555555555555555_5555555555555555, 0xffffffffffffffff_ffffffffffffffff, 0);
991 try testMulWithOverflow(u128, 3, 0x5555555555555555_5555555555555556, 2, 1);994 try testMulWithOverflow(u128, 3, 0x5555555555555555_5555555555555556, 2, 1);
...@@ -1065,6 +1068,7 @@ test "@subWithOverflow > 64 bits" {...@@ -1065,6 +1068,7 @@ test "@subWithOverflow > 64 bits" {
1065 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO1068 if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
1066 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO1069 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
1067 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;1070 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
1071 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
10681072
1069 try testSubWithOverflow(u65, 4, 105, maxInt(u65) - 100, 1);1073 try testSubWithOverflow(u65, 4, 105, maxInt(u65) - 100, 1);
1070 try testSubWithOverflow(u65, 1000, 100, 900, 0);1074 try testSubWithOverflow(u65, 1000, 100, 900, 0);
test/behavior/pointers.zig+1
...@@ -45,6 +45,7 @@ test "pointer-integer arithmetic" {...@@ -45,6 +45,7 @@ test "pointer-integer arithmetic" {
4545
46test "pointer subtraction" {46test "pointer subtraction" {
47 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO47 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
48 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
4849
49 {50 {
50 const a: *u8 = @ptrFromInt(100);51 const a: *u8 = @ptrFromInt(100);
test/behavior/switch.zig+16
...@@ -12,6 +12,8 @@ test "switch with numbers" {...@@ -12,6 +12,8 @@ test "switch with numbers" {
12}12}
1313
14fn testSwitchWithNumbers(x: u32) !void {14fn testSwitchWithNumbers(x: u32) !void {
15 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
16
15 const result = switch (x) {17 const result = switch (x) {
16 1, 2, 3, 4...8 => false,18 1, 2, 3, 4...8 => false,
17 13 => true,19 13 => true,
...@@ -22,6 +24,7 @@ fn testSwitchWithNumbers(x: u32) !void {...@@ -22,6 +24,7 @@ fn testSwitchWithNumbers(x: u32) !void {
2224
23test "switch with all ranges" {25test "switch with all ranges" {
24 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO26 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
27 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
2528
26 try expect(testSwitchWithAllRanges(50, 3) == 1);29 try expect(testSwitchWithAllRanges(50, 3) == 1);
27 try expect(testSwitchWithAllRanges(101, 0) == 2);30 try expect(testSwitchWithAllRanges(101, 0) == 2);
...@@ -173,6 +176,7 @@ test "undefined.u0" {...@@ -173,6 +176,7 @@ test "undefined.u0" {
173176
174test "switch with disjoint range" {177test "switch with disjoint range" {
175 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO178 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
179 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
176180
177 var q: u8 = 0;181 var q: u8 = 0;
178 _ = &q;182 _ = &q;
...@@ -184,6 +188,8 @@ test "switch with disjoint range" {...@@ -184,6 +188,8 @@ test "switch with disjoint range" {
184}188}
185189
186test "switch variable for range and multiple prongs" {190test "switch variable for range and multiple prongs" {
191 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
192
187 const S = struct {193 const S = struct {
188 fn doTheTest() !void {194 fn doTheTest() !void {
189 try doTheSwitch(16);195 try doTheSwitch(16);
...@@ -281,6 +287,8 @@ test "switch handles all cases of number" {...@@ -281,6 +287,8 @@ test "switch handles all cases of number" {
281}287}
282288
283fn testSwitchHandleAllCases() !void {289fn testSwitchHandleAllCases() !void {
290 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
291
284 try expect(testSwitchHandleAllCasesExhaustive(0) == 3);292 try expect(testSwitchHandleAllCasesExhaustive(0) == 3);
285 try expect(testSwitchHandleAllCasesExhaustive(1) == 2);293 try expect(testSwitchHandleAllCasesExhaustive(1) == 2);
286 try expect(testSwitchHandleAllCasesExhaustive(2) == 1);294 try expect(testSwitchHandleAllCasesExhaustive(2) == 1);
...@@ -497,6 +505,7 @@ test "switch prongs with error set cases make a new error set type for capture v...@@ -497,6 +505,7 @@ test "switch prongs with error set cases make a new error set type for capture v
497505
498test "return result loc and then switch with range implicit casted to error union" {506test "return result loc and then switch with range implicit casted to error union" {
499 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO507 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
508 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
500509
501 const S = struct {510 const S = struct {
502 fn doTheTest() !void {511 fn doTheTest() !void {
...@@ -714,6 +723,7 @@ test "switch capture copies its payload" {...@@ -714,6 +723,7 @@ test "switch capture copies its payload" {
714723
715test "capture of integer forwards the switch condition directly" {724test "capture of integer forwards the switch condition directly" {
716 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO725 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
726 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
717727
718 const S = struct {728 const S = struct {
719 fn foo(x: u8) !void {729 fn foo(x: u8) !void {
...@@ -854,6 +864,7 @@ test "inline switch range that includes the maximum value of the switched type"...@@ -854,6 +864,7 @@ test "inline switch range that includes the maximum value of the switched type"
854864
855test "nested break ignores switch conditions and breaks instead" {865test "nested break ignores switch conditions and breaks instead" {
856 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;866 if (builtin.zig_backend == .stage2_riscv64) return error.SkipZigTest;
867 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
857868
858 const S = struct {869 const S = struct {
859 fn register_to_address(ident: []const u8) !u8 {870 fn register_to_address(ident: []const u8) !u8 {
...@@ -901,6 +912,7 @@ test "peer type resolution on switch captures ignores unused payload bits" {...@@ -901,6 +912,7 @@ test "peer type resolution on switch captures ignores unused payload bits" {
901test "switch prong captures range" {912test "switch prong captures range" {
902 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO913 if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
903 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO914 if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
915 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
904916
905 const S = struct {917 const S = struct {
906 fn a(b: []u3, c: u3) void {918 fn a(b: []u3, c: u3) void {
...@@ -935,6 +947,8 @@ test "prong with inline call to unreachable" {...@@ -935,6 +947,8 @@ test "prong with inline call to unreachable" {
935}947}
936948
937test "block error return trace index is reset between prongs" {949test "block error return trace index is reset between prongs" {
950 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
951
938 const S = struct {952 const S = struct {
939 fn returnError() error{TestFailed} {953 fn returnError() error{TestFailed} {
940 return error.TestFailed;954 return error.TestFailed;
...@@ -963,6 +977,8 @@ test "block error return trace index is reset between prongs" {...@@ -963,6 +977,8 @@ test "block error return trace index is reset between prongs" {
963}977}
964978
965test "labeled switch with break" {979test "labeled switch with break" {
980 if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // TODO
981
966 var six: u32 = undefined;982 var six: u32 = undefined;
967 six = 6;983 six = 6;
968984