diff --git a/lib/std/os/test.zig b/lib/std/os/test.zig index 0d8d2cc0db424abc80e7384e5575a0e236053e67..0a453d8b2e28b4751e9b7d4a91b102032ec42eee 100644 --- a/lib/std/os/test.zig +++ b/lib/std/os/test.zig @@ -557,7 +557,7 @@ test "signalfd" { } test "sync" { - if (builtin.os.tag != .linux and builtin.os.tag != .windows) + if (builtin.os.tag != .linux) return error.SkipZigTest; var tmp = tmpDir(.{}); @@ -570,8 +570,24 @@ test "sync" { tmp.dir.deleteFile(test_out_file) catch {}; } + os.sync(); try os.syncfs(file.handle); +} + +test "fsync" { + if (builtin.os.tag != .linux and builtin.os.tag != .windows) + return error.SkipZigTest; + + var tmp = tmpDir(.{}); + defer tmp.cleanup(); + + const test_out_file = "os_tmp_test"; + const file = try tmp.dir.createFile(test_out_file, .{}); + defer { + file.close(); + tmp.dir.deleteFile(test_out_file) catch {}; + } + try os.fsync(file.handle); try os.fdatasync(file.handle); - os.sync(); }