diff options
| author | Jakub Konka <kubkon@jakubkonka.com> | 2022-02-22 14:15:09 +0100 |
|---|---|---|
| committer | Jakub Konka <kubkon@jakubkonka.com> | 2022-02-22 21:57:42 +0100 |
| commit | 25e4b16e25502ca5e76e4049ed9f727168782dde (patch) | |
| tree | 947799ee1d22e621937c95842370cc7aee679412 /test/behavior/null.zig | |
| parent | a94267b2906e90aadf397b3f524e1069721fb496 (diff) | |
| download | zig-25e4b16e25502ca5e76e4049ed9f727168782dde.tar.gz zig-25e4b16e25502ca5e76e4049ed9f727168782dde.zip | |
Port more behavior tests
Diffstat (limited to 'test/behavior/null.zig')
| -rw-r--r-- | test/behavior/null.zig | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/behavior/null.zig b/test/behavior/null.zig index 35ecafff80..43c9355f3c 100644 --- a/test/behavior/null.zig +++ b/test/behavior/null.zig @@ -29,6 +29,10 @@ test "optional type" { } test "test maybe object and get a pointer to the inner value" { + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + var maybe_bool: ?bool = true; if (maybe_bool) |*b| { @@ -45,6 +49,10 @@ test "rhs maybe unwrap return" { } test "maybe return" { + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + try maybeReturnImpl(); comptime try maybeReturnImpl(); } @@ -61,6 +69,10 @@ fn foo(x: ?i32) ?bool { } test "test null runtime" { + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + try testTestNullRuntime(null); } fn testTestNullRuntime(x: ?i32) !void { @@ -69,6 +81,9 @@ fn testTestNullRuntime(x: ?i32) !void { } test "optional void" { + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + try optionalVoidImpl(); comptime try optionalVoidImpl(); } @@ -89,6 +104,9 @@ fn bar(x: ?void) ?void { const Empty = struct {}; test "optional struct{}" { + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + _ = try optionalEmptyStructImpl(); _ = comptime try optionalEmptyStructImpl(); } @@ -107,17 +125,25 @@ fn baz(x: ?Empty) ?Empty { } test "null with default unwrap" { + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + const x: i32 = null orelse 1; try expect(x == 1); } test "optional pointer to 0 bit type null value at runtime" { + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + const EmptyStruct = struct {}; var x: ?*EmptyStruct = null; try expect(x == null); } test "if var maybe pointer" { + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + try expect(shouldBeAPlus1(Particle{ .a = 14, .b = 1, @@ -159,6 +185,9 @@ const here_is_a_null_literal = SillyStruct{ .context = null }; test "unwrap optional which is field of global var" { if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; struct_with_optional.field = null; if (struct_with_optional.field) |payload| { |
