aboutsummaryrefslogtreecommitdiff
path: root/lib/std/os
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2023-10-22 08:06:47 -0400
committerGitHub <noreply@github.com>2023-10-22 08:06:47 -0400
commit0c99ba1eab63865592bb084feb271cd4e4b0357e (patch)
tree7004c99fc0619ff94317cc176900d1d3a3c88335 /lib/std/os
parent5f92b070bf284f1493b1b5d433dd3adde2f46727 (diff)
parent920e9668ddb16fbb98cd08b43ed2364062a4b102 (diff)
downloadzig-0c99ba1eab63865592bb084feb271cd4e4b0357e.tar.gz
zig-0c99ba1eab63865592bb084feb271cd4e4b0357e.zip
Merge pull request #17637 from jacobly0/x86_64-test-std
x86_64: start to enable `test-std` and `test-compiler-rt` testing
Diffstat (limited to 'lib/std/os')
-rw-r--r--lib/std/os/linux/io_uring.zig30
-rw-r--r--lib/std/os/linux/test.zig6
-rw-r--r--lib/std/os/test.zig51
-rw-r--r--lib/std/os/windows.zig2
4 files changed, 89 insertions, 0 deletions
diff --git a/lib/std/os/linux/io_uring.zig b/lib/std/os/linux/io_uring.zig
index 7f7dd21f95..91a9f1618c 100644
--- a/lib/std/os/linux/io_uring.zig
+++ b/lib/std/os/linux/io_uring.zig
@@ -1741,6 +1741,8 @@ test "readv" {
test "writev/fsync/readv" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(4, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -1811,6 +1813,8 @@ test "writev/fsync/readv" {
test "write/read" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(2, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -1858,6 +1862,8 @@ test "write/read" {
test "splice/read" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(4, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -1929,6 +1935,8 @@ test "splice/read" {
test "write_fixed/read_fixed" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(2, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -1994,6 +2002,8 @@ test "write_fixed/read_fixed" {
test "openat" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2045,6 +2055,8 @@ test "openat" {
test "close" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2204,6 +2216,8 @@ test "sendmsg/recvmsg" {
test "timeout (after a relative time)" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2268,6 +2282,8 @@ test "timeout (after a number of completions)" {
test "timeout_remove" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(2, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2376,6 +2392,8 @@ test "accept/connect/recv/link_timeout" {
test "fallocate" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2422,6 +2440,8 @@ test "fallocate" {
test "statx" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2678,6 +2698,8 @@ test "shutdown" {
test "renameat" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2747,6 +2769,8 @@ test "renameat" {
test "unlinkat" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2799,6 +2823,8 @@ test "unlinkat" {
test "mkdirat" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2843,6 +2869,8 @@ test "mkdirat" {
test "symlinkat" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
@@ -2891,6 +2919,8 @@ test "symlinkat" {
test "linkat" {
if (builtin.os.tag != .linux) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var ring = IO_Uring.init(1, 0) catch |err| switch (err) {
error.SystemOutdated => return error.SkipZigTest,
error.PermissionDenied => return error.SkipZigTest,
diff --git a/lib/std/os/linux/test.zig b/lib/std/os/linux/test.zig
index 170bde6334..1c2ca643b2 100644
--- a/lib/std/os/linux/test.zig
+++ b/lib/std/os/linux/test.zig
@@ -8,6 +8,8 @@ const expectEqual = std.testing.expectEqual;
const fs = std.fs;
test "fallocate" {
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = std.testing.tmpDir(.{});
defer tmp.cleanup();
@@ -69,6 +71,8 @@ test "timer" {
}
test "statx" {
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = std.testing.tmpDir(.{});
defer tmp.cleanup();
@@ -107,6 +111,8 @@ test "user and group ids" {
}
test "fadvise" {
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = std.testing.tmpDir(.{});
defer tmp.cleanup();
diff --git a/lib/std/os/test.zig b/lib/std/os/test.zig
index c74733cd93..ca3de5f264 100644
--- a/lib/std/os/test.zig
+++ b/lib/std/os/test.zig
@@ -88,6 +88,8 @@ test "chdir smoke test" {
test "open smoke test" {
if (native_os == .wasi) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
// TODO verify file attributes using `fstat`
var tmp = tmpDir(.{});
@@ -142,6 +144,8 @@ test "open smoke test" {
test "openat smoke test" {
if (native_os == .wasi and builtin.link_libc) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
// TODO verify file attributes using `fstatat`
var tmp = tmpDir(.{});
@@ -276,6 +280,8 @@ test "link with relative paths" {
test "linkat with different directories" {
if (native_os == .wasi and builtin.link_libc) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
switch (native_os) {
.wasi, .linux, .solaris, .illumos => {},
else => return error.SkipZigTest,
@@ -321,6 +327,8 @@ test "fstatat" {
// enable when `fstat` and `fstatat` are implemented on Windows
if (native_os == .windows) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -340,6 +348,8 @@ test "fstatat" {
}
test "readlinkat" {
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -375,6 +385,8 @@ fn testThreadIdFn(thread_id: *Thread.Id) void {
test "std.Thread.getCurrentId" {
if (builtin.single_threaded) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var thread_current_id: Thread.Id = undefined;
const thread = try Thread.spawn(.{}, testThreadIdFn, .{&thread_current_id});
thread.join();
@@ -417,6 +429,9 @@ test "cpu count" {
test "thread local storage" {
if (builtin.single_threaded) return error.SkipZigTest;
+
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
const thread1 = try Thread.spawn(.{}, testTls, .{});
const thread2 = try Thread.spawn(.{}, testTls, .{});
try testTls();
@@ -504,6 +519,8 @@ fn iter_fn(info: *dl_phdr_info, size: usize, counter: *usize) IterFnError!void {
test "dl_iterate_phdr" {
if (builtin.object_format != .elf) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var counter: usize = 0;
try os.dl_iterate_phdr(&counter, IterFnError, iter_fn);
try expect(counter != 0);
@@ -566,6 +583,8 @@ test "mmap" {
if (native_os == .windows or native_os == .wasi)
return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -676,6 +695,8 @@ test "fcntl" {
if (native_os == .windows or native_os == .wasi)
return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -716,6 +737,8 @@ test "sync" {
if (native_os != .linux)
return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -736,6 +759,8 @@ test "fsync" {
else => return error.SkipZigTest,
}
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -755,6 +780,8 @@ test "getrlimit and setrlimit" {
return error.SkipZigTest;
}
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
inline for (std.meta.fields(os.rlimit_resource)) |field| {
const resource = @as(os.rlimit_resource, @enumFromInt(field.value));
const limit = try os.getrlimit(resource);
@@ -797,6 +824,8 @@ test "sigaction" {
if (native_os == .wasi or native_os == .windows)
return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
// https://github.com/ziglang/zig/issues/7427
if (native_os == .linux and builtin.target.cpu.arch == .x86)
return error.SkipZigTest;
@@ -874,6 +903,8 @@ test "dup & dup2" {
else => return error.SkipZigTest,
}
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -903,6 +934,8 @@ test "dup & dup2" {
test "writev longer than IOV_MAX" {
if (native_os == .windows or native_os == .wasi) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -920,6 +953,8 @@ test "POSIX file locking with fcntl" {
return error.SkipZigTest;
}
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
if (true) {
// https://github.com/ziglang/zig/issues/11074
return error.SkipZigTest;
@@ -982,6 +1017,8 @@ test "POSIX file locking with fcntl" {
test "rename smoke test" {
if (native_os == .wasi) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -1038,6 +1075,8 @@ test "rename smoke test" {
test "access smoke test" {
if (native_os == .wasi) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -1102,6 +1141,8 @@ test "timerfd" {
}
test "isatty" {
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -1114,6 +1155,8 @@ test "isatty" {
test "read with empty buffer" {
if (native_os == .wasi) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -1139,6 +1182,8 @@ test "read with empty buffer" {
test "pread with empty buffer" {
if (native_os == .wasi) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -1164,6 +1209,8 @@ test "pread with empty buffer" {
test "write with empty buffer" {
if (native_os == .wasi) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -1189,6 +1236,8 @@ test "write with empty buffer" {
test "pwrite with empty buffer" {
if (native_os == .wasi) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
@@ -1214,6 +1263,8 @@ test "pwrite with empty buffer" {
test "fchmodat smoke test" {
if (!std.fs.has_executable_bit) return error.SkipZigTest;
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
var tmp = tmpDir(.{});
defer tmp.cleanup();
diff --git a/lib/std/os/windows.zig b/lib/std/os/windows.zig
index 05b754de8d..b426db968d 100644
--- a/lib/std/os/windows.zig
+++ b/lib/std/os/windows.zig
@@ -2491,6 +2491,8 @@ pub fn ntToWin32Namespace(path: []const u16) !PathSpace {
}
test "ntToWin32Namespace" {
+ if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
+
const L = std.unicode.utf8ToUtf16LeStringLiteral;
try testNtToWin32Namespace(L("UNC"), L("\\??\\UNC"));