authorgravatar for jan.hafer@rwth-aachen.deJan Philipp Hafer <jan.hafer@rwth-aachen.de> 2022-12-08 21:06:33+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-01-09 15:03:40-07:00
logcdcb746cc2c96f5e968fe95a117dfc3901bd9fb9
tree49398cb85739afd753801896f0fd318d70f1567c
parent3e2ddbfdd7e43788de51b3166e3dbc523c6b7b88

std.os.linux: fix timerfd test

Remove timerfd timeout and fix timerfd_settime flag. CI tests should not rely on timings to succeed. Closes #13721.

1 files changed, 5 insertions(+), 10 deletions(-)

lib/std/os/test.zig+5-10
......@@ -1054,11 +1054,6 @@ test "access smoke test" {
10541054}
10551055
10561056test "timerfd" {
1057 if (true) {
1058 // https://github.com/ziglang/zig/issues/13721
1059 return error.SkipZigTest;
1060 }
1061
10621057 if (native_os != .linux)
10631058 return error.SkipZigTest;
10641059
......@@ -1066,16 +1061,16 @@ test "timerfd" {
10661061 var tfd = try os.timerfd_create(linux.CLOCK.MONOTONIC, linux.TFD.CLOEXEC);
10671062 defer os.close(tfd);
10681063
1064 // Fire event 10_000_000ns = 10ms after the os.timerfd_settime call.
10691065 var sit: linux.itimerspec = .{ .it_interval = .{ .tv_sec = 0, .tv_nsec = 0 }, .it_value = .{ .tv_sec = 0, .tv_nsec = 10 * (1000 * 1000) } };
10701066 try os.timerfd_settime(tfd, 0, &sit, null);
10711067
10721068 var fds: [1]os.pollfd = .{.{ .fd = tfd, .events = os.linux.POLL.IN, .revents = 0 }};
1073 try expectEqual(try os.poll(&fds, -1), 1);
1074 var git = try os.timerfd_gettime(tfd);
1075 try expectEqual(git, .{ .it_interval = .{ .tv_sec = 0, .tv_nsec = 0 }, .it_value = .{ .tv_sec = 0, .tv_nsec = 0 } });
1069 try expectEqual(@as(usize, 1), try os.poll(&fds, -1)); // -1 => infinite waiting
10761070
1077 try os.timerfd_settime(tfd, 0, &sit, null);
1078 try expectEqual(try os.poll(&fds, 5), 0);
1071 var git = try os.timerfd_gettime(tfd);
1072 var expect_disarmed_timer: linux.itimerspec = .{ .it_interval = .{ .tv_sec = 0, .tv_nsec = 0 }, .it_value = .{ .tv_sec = 0, .tv_nsec = 0 } };
1073 try expectEqual(expect_disarmed_timer, git);
10791074}
10801075
10811076test "isatty" {