Commit 1310ef7577

Andrew Kelley <andrew@ziglang.org>
2022-12-07 05:48:48
disable failing behavior tests with -ofmt=c -target x86_64-windows
and enable CI checks for the C backend on Windows.
1 parent 53a9ee6
Changed files (5)
test/behavior/bugs/7250.zig
@@ -1,24 +0,0 @@
-const builtin = @import("builtin");
-const nrfx_uart_t = extern struct {
-    p_reg: [*c]u32,
-    drv_inst_idx: u8,
-};
-
-pub fn nrfx_uart_rx(p_instance: [*c]const nrfx_uart_t) void {
-    _ = p_instance;
-}
-
-threadlocal var g_uart0 = nrfx_uart_t{
-    .p_reg = 0,
-    .drv_inst_idx = 0,
-};
-
-test "reference a global threadlocal variable" {
-    if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
-    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
-    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_llvm and builtin.cpu.arch != .x86_64) return error.SkipZigTest; // TODO
-
-    _ = nrfx_uart_rx(&g_uart0);
-}
test/behavior/basic.zig
@@ -711,20 +711,6 @@ test "comptime manyptr concatenation" {
     try expect(expected[len] == 0);
 }
 
-test "thread local variable" {
-    if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
-    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
-    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_llvm and builtin.cpu.arch != .x86_64) return error.SkipZigTest; // TODO
-
-    const S = struct {
-        threadlocal var t: i32 = 1234;
-    };
-    S.t += 1;
-    try expect(S.t == 1235);
-}
-
 test "result location is optional inside error union" {
     if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
     if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
@@ -740,20 +726,6 @@ fn maybe(x: bool) anyerror!?u32 {
     };
 }
 
-test "pointer to thread local array" {
-    if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
-    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
-    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_llvm and builtin.cpu.arch != .x86_64) return error.SkipZigTest; // TODO
-
-    const s = "Hello world";
-    std.mem.copy(u8, buffer[0..], s);
-    try std.testing.expectEqualSlices(u8, buffer[0..], s);
-}
-
-threadlocal var buffer: [11]u8 = undefined;
-
 test "auto created variables have correct alignment" {
     if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
 
test/behavior/threadlocal.zig
@@ -0,0 +1,58 @@
+const std = @import("std");
+const builtin = @import("builtin");
+const expect = std.testing.expect;
+
+test "thread local variable" {
+    if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+    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_llvm and builtin.cpu.arch != .x86_64) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_c and builtin.os.tag == .windows) return error.SkipZigTest; // TODO
+
+    const S = struct {
+        threadlocal var t: i32 = 1234;
+    };
+    S.t += 1;
+    try expect(S.t == 1235);
+}
+
+test "pointer to thread local array" {
+    if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+    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_llvm and builtin.cpu.arch != .x86_64) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_c and builtin.os.tag == .windows) return error.SkipZigTest; // TODO
+
+    const s = "Hello world";
+    std.mem.copy(u8, buffer[0..], s);
+    try std.testing.expectEqualSlices(u8, buffer[0..], s);
+}
+
+threadlocal var buffer: [11]u8 = undefined;
+
+test "reference a global threadlocal variable" {
+    if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
+    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_llvm and builtin.cpu.arch != .x86_64) return error.SkipZigTest; // TODO
+    if (builtin.zig_backend == .stage2_c and builtin.os.tag == .windows) return error.SkipZigTest; // TODO
+
+    _ = nrfx_uart_rx(&g_uart0);
+}
+
+const nrfx_uart_t = extern struct {
+    p_reg: [*c]u32,
+    drv_inst_idx: u8,
+};
+
+pub fn nrfx_uart_rx(p_instance: [*c]const nrfx_uart_t) void {
+    _ = p_instance;
+}
+
+threadlocal var g_uart0 = nrfx_uart_t{
+    .p_reg = 0,
+    .drv_inst_idx = 0,
+};
test/behavior.zig
@@ -68,7 +68,6 @@ test {
     _ = @import("behavior/bugs/7003.zig");
     _ = @import("behavior/bugs/7047.zig");
     _ = @import("behavior/bugs/7187.zig");
-    _ = @import("behavior/bugs/7250.zig");
     _ = @import("behavior/bugs/9584.zig");
     _ = @import("behavior/bugs/10138.zig");
     _ = @import("behavior/bugs/10147.zig");
@@ -182,6 +181,7 @@ test {
     _ = @import("behavior/switch_prong_err_enum.zig");
     _ = @import("behavior/switch_prong_implicit_cast.zig");
     _ = @import("behavior/this.zig");
+    _ = @import("behavior/threadlocal.zig");
     _ = @import("behavior/translate_c_macros.zig");
     _ = @import("behavior/truncate.zig");
     _ = @import("behavior/try.zig");
test/tests.zig
@@ -682,13 +682,6 @@ pub fn addPkgTests(
         } else false;
         if (!want_this_mode) continue;
 
-        if (test_target.backend) |backend| {
-            if (backend == .stage2_c and builtin.os.tag == .windows) {
-                // https://github.com/ziglang/zig/issues/12415
-                continue;
-            }
-        }
-
         const libc_prefix = if (test_target.target.getOs().requiresLibC())
             ""
         else if (test_target.link_libc)