aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-05-26 19:38:28 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-05-26 21:58:19 -0700
commit4751356d7f1da157665d37e29216628e61ddf079 (patch)
tree4d703caff2eec93161d5f37737b24fa87073053b /test
parentf2e8c79763723e394f57af84af977d91652568b5 (diff)
downloadzig-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.zig2
-rw-r--r--test/behavior/bugs/10970.zig3
-rw-r--r--test/behavior/bugs/11162.zig2
-rw-r--r--test/behavior/bugs/11182.zig10
-rw-r--r--test/behavior/bugs/7027.zig21
-rw-r--r--test/behavior/eval.zig27
-rw-r--r--test/behavior/floatop.zig6
-rw-r--r--test/behavior/tuple.zig8
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;
+}