diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-05-26 19:38:28 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-05-26 21:58:19 -0700 |
| commit | 4751356d7f1da157665d37e29216628e61ddf079 (patch) | |
| tree | 4d703caff2eec93161d5f37737b24fa87073053b /test | |
| parent | f2e8c79763723e394f57af84af977d91652568b5 (diff) | |
| download | zig-4751356d7f1da157665d37e29216628e61ddf079.tar.gz zig-4751356d7f1da157665d37e29216628e61ddf079.zip | |
clean up some behavior tests
* improve names
* properly categorize a couple of bug cases
* mark one as already passing
Diffstat (limited to 'test')
| -rw-r--r-- | test/behavior.zig | 2 | ||||
| -rw-r--r-- | test/behavior/bugs/10970.zig | 3 | ||||
| -rw-r--r-- | test/behavior/bugs/11162.zig | 2 | ||||
| -rw-r--r-- | test/behavior/bugs/11182.zig | 10 | ||||
| -rw-r--r-- | test/behavior/bugs/7027.zig | 21 | ||||
| -rw-r--r-- | test/behavior/eval.zig | 27 | ||||
| -rw-r--r-- | test/behavior/floatop.zig | 6 | ||||
| -rw-r--r-- | test/behavior/tuple.zig | 8 |
8 files changed, 39 insertions, 40 deletions
diff --git a/test/behavior.zig b/test/behavior.zig index 4d8b3587bc..f2a060ce8b 100644 --- a/test/behavior.zig +++ b/test/behavior.zig @@ -67,7 +67,6 @@ test { _ = @import("behavior/bugs/6781.zig"); _ = @import("behavior/bugs/6850.zig"); _ = @import("behavior/bugs/7003.zig"); - _ = @import("behavior/bugs/7027.zig"); _ = @import("behavior/bugs/7047.zig"); _ = @import("behavior/bugs/7187.zig"); _ = @import("behavior/bugs/7250.zig"); @@ -82,7 +81,6 @@ test { _ = @import("behavior/bugs/11162.zig"); _ = @import("behavior/bugs/11165.zig"); _ = @import("behavior/bugs/11181.zig"); - _ = @import("behavior/bugs/11182.zig"); _ = @import("behavior/bugs/11213.zig"); _ = @import("behavior/byteswap.zig"); _ = @import("behavior/byval_arg_var.zig"); diff --git a/test/behavior/bugs/10970.zig b/test/behavior/bugs/10970.zig index 4f33d3d7a4..72084188d7 100644 --- a/test/behavior/bugs/10970.zig +++ b/test/behavior/bugs/10970.zig @@ -3,11 +3,12 @@ const builtin = @import("builtin"); fn retOpt() ?u32 { return null; } -test { +test "breaking from a loop in an if statement" { if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; + var cond = true; const opt = while (cond) { if (retOpt()) |opt| { diff --git a/test/behavior/bugs/11162.zig b/test/behavior/bugs/11162.zig index ced435a305..7a512463e2 100644 --- a/test/behavior/bugs/11162.zig +++ b/test/behavior/bugs/11162.zig @@ -2,7 +2,7 @@ const std = @import("std"); const builtin = @import("builtin"); const expect = std.testing.expect; -test { +test "aggregate initializers should allow initializing comptime fields, verifying equality (stage2 only)" { if (builtin.zig_backend == .stage1) return error.SkipZigTest; // TODO if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO diff --git a/test/behavior/bugs/11182.zig b/test/behavior/bugs/11182.zig deleted file mode 100644 index eb4ee8ac9d..0000000000 --- a/test/behavior/bugs/11182.zig +++ /dev/null @@ -1,10 +0,0 @@ -const std = @import("std"); -const builtin = @import("builtin"); - -test { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO - - const T = @TypeOf(.{ @as(i32, 0), @as(u32, 0) }); - var a = T{ 0, 0 }; - _ = a; -} diff --git a/test/behavior/bugs/7027.zig b/test/behavior/bugs/7027.zig deleted file mode 100644 index a49a1ca1a4..0000000000 --- a/test/behavior/bugs/7027.zig +++ /dev/null @@ -1,21 +0,0 @@ -const Foobar = struct { - myTypes: [128]type, - str: [1024]u8, - - fn foo() @This() { - comptime var foobar: Foobar = undefined; - foobar.str = [_]u8{'a'} ** 1024; - return foobar; - } -}; - -fn foo(arg: anytype) void { - _ = arg; -} - -test { - if (@import("builtin").zig_backend != .stage1) return error.SkipZigTest; // TODO - - comptime var foobar = Foobar.foo(); - foo(foobar.str[0..10]); -} diff --git a/test/behavior/eval.zig b/test/behavior/eval.zig index 63eef12207..4609b58ddb 100644 --- a/test/behavior/eval.zig +++ b/test/behavior/eval.zig @@ -1203,3 +1203,30 @@ test "equality of pointers to comptime const" { const a: i32 = undefined; comptime assert(&a == &a); } + +test "storing an array of type in a field" { + if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + + const S = struct { + fn doTheTest() void { + comptime var foobar = Foobar.foo(); + foo(foobar.str[0..10]); + } + const Foobar = struct { + myTypes: [128]type, + str: [1024]u8, + + fn foo() @This() { + comptime var foobar: Foobar = undefined; + foobar.str = [_]u8{'a'} ** 1024; + return foobar; + } + }; + + fn foo(arg: anytype) void { + _ = arg; + } + }; + + S.doTheTest(); +} diff --git a/test/behavior/floatop.zig b/test/behavior/floatop.zig index 536c365655..ac35834928 100644 --- a/test/behavior/floatop.zig +++ b/test/behavior/floatop.zig @@ -651,11 +651,7 @@ test "negation f128" { } test "eval @setFloatMode at compile-time" { - if (builtin.zig_backend != .stage1) { - // let's delay solving this one; I want to re-evaluate this language feature, and - // we don't rely on it for self-hosted. - return error.SkipZigTest; // TODO - } + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO const result = comptime fnWithFloatMode(); try expect(result == 1234.0); diff --git a/test/behavior/tuple.zig b/test/behavior/tuple.zig index 80eaea5072..5e044abf4f 100644 --- a/test/behavior/tuple.zig +++ b/test/behavior/tuple.zig @@ -192,3 +192,11 @@ test "tuple as the result from a labeled block" { try S.doTheTest(); comptime try S.doTheTest(); } + +test "initializing tuple with explicit type" { + if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO + + const T = @TypeOf(.{ @as(i32, 0), @as(u32, 0) }); + var a = T{ 0, 0 }; + _ = a; +} |
