mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
spirv: more passing tests
This commit is contained in:
parent
2f28713bd7
commit
37aa343079
39 changed files with 1 additions and 62 deletions
|
|
@ -33,8 +33,6 @@ test "default alignment allows unspecified in type syntax" {
|
|||
}
|
||||
|
||||
test "implicitly decreasing pointer alignment" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const a: u32 align(4) = 3;
|
||||
const b: u32 align(8) = 4;
|
||||
try expect(addUnaligned(&a, &b) == 7);
|
||||
|
|
@ -45,8 +43,6 @@ fn addUnaligned(a: *align(1) const u32, b: *align(1) const u32) u32 {
|
|||
}
|
||||
|
||||
test "@alignCast pointers" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
var x: u32 align(4) = 1;
|
||||
expectsOnly1(&x);
|
||||
try expect(x == 2);
|
||||
|
|
|
|||
|
|
@ -347,7 +347,6 @@ test "read/write through global variable array of struct fields initialized via
|
|||
test "implicit cast single-item pointer" {
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try testImplicitCastSingleItemPtr();
|
||||
comptime try testImplicitCastSingleItemPtr();
|
||||
|
|
@ -542,7 +541,6 @@ test "sentinel element count towards the ABI size calculation" {
|
|||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
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_spirv64) return error.SkipZigTest;
|
||||
|
||||
const S = struct {
|
||||
fn doTheTest() !void {
|
||||
|
|
|
|||
|
|
@ -120,7 +120,6 @@ test "128-bit cmpxchg" {
|
|||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
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_spirv64) return error.SkipZigTest;
|
||||
|
||||
try test_u128_cmpxchg();
|
||||
comptime try test_u128_cmpxchg();
|
||||
|
|
@ -313,7 +312,6 @@ test "atomicrmw with 128-bit ints" {
|
|||
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
// TODO "ld.lld: undefined symbol: __sync_lock_test_and_set_16" on -mcpu x86_64
|
||||
if (builtin.cpu.arch == .x86_64 and builtin.zig_backend == .stage2_llvm) return error.SkipZigTest;
|
||||
|
|
|
|||
|
|
@ -583,7 +583,7 @@ test "comptime cast fn to ptr" {
|
|||
}
|
||||
|
||||
test "equality compare fn ptrs" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; // Test passes but should not
|
||||
|
||||
var a = &emptyFn;
|
||||
try expect(a == a);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ const native_endian = builtin.target.cpu.arch.endian();
|
|||
|
||||
test "@bitCast iX -> uX (32, 64)" {
|
||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const bit_values = [_]usize{ 32, 64 };
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ const minInt = std.math.minInt;
|
|||
|
||||
test "@bitReverse large exotic integer" {
|
||||
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try expect(@bitReverse(@as(u95, 0x123456789abcdef111213141)) == 0x4146424447bd9eac8f351624);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,7 +109,6 @@ test "result location of function call argument through runtime condition and st
|
|||
|
||||
test "function call with 40 arguments" {
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const S = struct {
|
||||
fn doTheTest(thirty_nine: i32) !void {
|
||||
|
|
@ -374,8 +373,6 @@ test "Enum constructed by @Type passed as generic argument" {
|
|||
}
|
||||
|
||||
test "generic function with generic function parameter" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const S = struct {
|
||||
fn f(comptime a: fn (anytype) anyerror!void, b: anytype) anyerror!void {
|
||||
try a(b);
|
||||
|
|
|
|||
|
|
@ -366,7 +366,6 @@ test "return u8 coercing into ?u32 return type" {
|
|||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const S = struct {
|
||||
fn doTheTest() !void {
|
||||
|
|
@ -428,7 +427,6 @@ test "peer resolve array and const slice" {
|
|||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
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_spirv64) return error.SkipZigTest;
|
||||
|
||||
try testPeerResolveArrayConstSlice(true);
|
||||
comptime try testPeerResolveArrayConstSlice(true);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,5 @@ pub fn the_add_function(a: u32, b: u32) u32 {
|
|||
}
|
||||
|
||||
test the_add_function {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
if (the_add_function(1, 2) != 3) unreachable;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,8 +23,6 @@ fn testBreakContInDefer(x: usize) void {
|
|||
}
|
||||
|
||||
test "defer and labeled break" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
var i = @as(usize, 0);
|
||||
|
||||
blk: {
|
||||
|
|
@ -58,7 +56,6 @@ test "return variable while defer expression in scope to modify it" {
|
|||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const S = struct {
|
||||
fn doTheTest() !void {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,5 @@ comptime {
|
|||
test "thingy" {}
|
||||
|
||||
test thingy {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
if (thingy(1, 2) != 3) unreachable;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1046,7 +1046,6 @@ test "tag name with assigned enum values" {
|
|||
test "@tagName on enum literals" {
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try expect(mem.eql(u8, @tagName(.FooBar), "FooBar"));
|
||||
comptime try expect(mem.eql(u8, @tagName(.FooBar), "FooBar"));
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ fn expectError(expected_err: anyerror, observed_err_union: anytype) !void {
|
|||
}
|
||||
|
||||
test "error values" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
const a = @errorToInt(error.err1);
|
||||
const b = @errorToInt(error.err2);
|
||||
try expect(a != b);
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ test "static add one" {
|
|||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
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_spirv64) return error.SkipZigTest;
|
||||
|
||||
try expect(should_be_1235 == 1235);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -506,7 +506,6 @@ test "@fabs" {
|
|||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
comptime try testFabs();
|
||||
try testFabs();
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ const expect = testing.expect;
|
|||
const expectEqual = testing.expectEqual;
|
||||
|
||||
test "params" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try expect(testParamsAdd(22, 11) == 33);
|
||||
}
|
||||
fn testParamsAdd(a: i32, b: i32) i32 {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ fn custom(comptime T: type, comptime num: u64) fn (T) u64 {
|
|||
test "fn delegation" {
|
||||
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_spirv64) return error.SkipZigTest;
|
||||
|
||||
const foo = Foo{};
|
||||
try expect(foo.one() == 11);
|
||||
|
|
|
|||
|
|
@ -13,8 +13,6 @@ fn get_foo() fn (*u8) usize {
|
|||
}
|
||||
|
||||
test "define a function in an anonymous struct in comptime" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const foo = get_foo();
|
||||
try expect(foo(@intToPtr(*u8, 12345)) == 12345);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,8 +22,6 @@ test "continue in for loop" {
|
|||
}
|
||||
|
||||
test "break from outer for loop" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try testBreakOuter();
|
||||
comptime try testBreakOuter();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,6 @@ const expect = testing.expect;
|
|||
const expectEqual = testing.expectEqual;
|
||||
|
||||
test "one param, explicit comptime" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
var x: usize = 0;
|
||||
x += checkSize(i32);
|
||||
x += checkSize(bool);
|
||||
|
|
|
|||
|
|
@ -71,8 +71,6 @@ test "labeled break inside comptime if inside runtime if" {
|
|||
}
|
||||
|
||||
test "const result loc, runtime if cond, else unreachable" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const Num = enum { One, Two };
|
||||
|
||||
var t = true;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ test "mutate through ptr initialized with constant intToPtr value" {
|
|||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
forceCompilerAnalyzeBranchHardCodedPtrDereference(false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -129,8 +129,6 @@ test "@min/max for floats" {
|
|||
}
|
||||
|
||||
test "@min/@max on lazy values" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const A = extern struct { u8_4: [4]u8 };
|
||||
const B = extern struct { u8_16: [16]u8 };
|
||||
const size = @max(@sizeOf(A), @sizeOf(B));
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ const expectEqualStrings = std.testing.expectEqualStrings;
|
|||
test "passing an optional integer as a parameter" {
|
||||
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_spirv64) return error.SkipZigTest;
|
||||
|
||||
const S = struct {
|
||||
fn entry() bool {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ const native_endian = builtin.cpu.arch.endian();
|
|||
|
||||
test "flags in packed structs" {
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const Flags1 = packed struct {
|
||||
// first 8 bits
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ test "reference a variable in an if after an if in the 2nd switch prong" {
|
|||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try foo(true, Num.Two, false, "aoeu");
|
||||
try expect(!ok);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,6 @@ fn dummy(a: bool, b: i32, c: f32) i32 {
|
|||
test "reflection: @field" {
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
var f = Foo{
|
||||
.one = 42,
|
||||
|
|
|
|||
|
|
@ -140,8 +140,6 @@ test "@sizeOf(T) == 0 doesn't force resolving struct size" {
|
|||
}
|
||||
|
||||
test "@TypeOf() has no runtime side effects" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const S = struct {
|
||||
fn foo(comptime T: type, ptr: *T) T {
|
||||
ptr.* += 1;
|
||||
|
|
|
|||
|
|
@ -201,8 +201,6 @@ test "slicing pointer by length" {
|
|||
const x = @intToPtr([*]i32, 0x1000)[0..0x500];
|
||||
const y = x[0x100..];
|
||||
test "compile time slice of pointer to hard coded address" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try expect(@ptrToInt(x) == 0x1000);
|
||||
try expect(x.len == 0x500);
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ top_level_field: i32,
|
|||
test "top level fields" {
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
var instance = @This(){
|
||||
.top_level_field = 1234,
|
||||
|
|
|
|||
|
|
@ -215,7 +215,6 @@ fn poll() void {
|
|||
|
||||
test "switch on global mutable var isn't constant-folded" {
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
while (state < 2) {
|
||||
poll();
|
||||
|
|
|
|||
|
|
@ -21,8 +21,6 @@ fn add(x: i32, y: i32) i32 {
|
|||
}
|
||||
|
||||
test "this refer to module call private fn" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try expect(module.add(1, 2) == 3);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ test "thread local variable" {
|
|||
else => return error.SkipZigTest,
|
||||
}; // TODO
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const S = struct {
|
||||
threadlocal var t: i32 = 1234;
|
||||
|
|
|
|||
|
|
@ -491,7 +491,6 @@ test "Type.Fn" {
|
|||
if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const some_opaque = opaque {};
|
||||
const some_ptr = *some_opaque;
|
||||
|
|
|
|||
|
|
@ -285,7 +285,6 @@ fn testUnion() !void {
|
|||
|
||||
test "type info: struct info" {
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try testStruct();
|
||||
comptime try testStruct();
|
||||
|
|
|
|||
|
|
@ -81,7 +81,6 @@ test "assign undefined to struct with method" {
|
|||
|
||||
test "type name of undefined" {
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const x = undefined;
|
||||
try expect(mem.eql(u8, @typeName(@TypeOf(x)), "@TypeOf(undefined)"));
|
||||
|
|
|
|||
|
|
@ -1467,8 +1467,6 @@ test "packed union in packed struct" {
|
|||
}
|
||||
|
||||
test "Namespace-like union" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
const DepType = enum {
|
||||
git,
|
||||
http,
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@ fn add(args: anytype) i32 {
|
|||
}
|
||||
|
||||
test "add arbitrary args" {
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
try expect(add(.{ @as(i32, 1), @as(i32, 2), @as(i32, 3), @as(i32, 4) }) == 10);
|
||||
try expect(add(.{@as(i32, 1234)}) == 1234);
|
||||
try expect(add(.{}) == 0);
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ const assert = std.debug.assert;
|
|||
|
||||
test "while loop" {
|
||||
if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO
|
||||
if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest;
|
||||
|
||||
var i: i32 = 0;
|
||||
while (i < 4) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue