| ... | @@ -557,7 +557,7 @@ test "signalfd" { | ... | @@ -557,7 +557,7 @@ test "signalfd" { |
| 557 | } | 557 | } |
| 558 | | 558 | |
| 559 | test "sync" { | 559 | test "sync" { |
| 560 | if (builtin.os.tag != .linux and builtin.os.tag != .windows) | 560 | if (builtin.os.tag != .linux) |
| 561 | return error.SkipZigTest; | 561 | return error.SkipZigTest; |
| 562 | | 562 | |
| 563 | var tmp = tmpDir(.{}); | 563 | var tmp = tmpDir(.{}); |
| ... | @@ -570,8 +570,24 @@ test "sync" { | ... | @@ -570,8 +570,24 @@ test "sync" { |
| 570 | tmp.dir.deleteFile(test_out_file) catch {}; | 570 | tmp.dir.deleteFile(test_out_file) catch {}; |
| 571 | } | 571 | } |
| 572 | | 572 | |
| | 573 | os.sync(); |
| 573 | try os.syncfs(file.handle); | 574 | try os.syncfs(file.handle); |
| | 575 | } |
| | 576 | |
| | 577 | test "fsync" { |
| | 578 | if (builtin.os.tag != .linux and builtin.os.tag != .windows) |
| | 579 | return error.SkipZigTest; |
| | 580 | |
| | 581 | var tmp = tmpDir(.{}); |
| | 582 | defer tmp.cleanup(); |
| | 583 | |
| | 584 | const test_out_file = "os_tmp_test"; |
| | 585 | const file = try tmp.dir.createFile(test_out_file, .{}); |
| | 586 | defer { |
| | 587 | file.close(); |
| | 588 | tmp.dir.deleteFile(test_out_file) catch {}; |
| | 589 | } |
| | 590 | |
| 574 | try os.fsync(file.handle); | 591 | try os.fsync(file.handle); |
| 575 | try os.fdatasync(file.handle); | 592 | try os.fdatasync(file.handle); |
| 576 | os.sync(); | | |
| 577 | } | 593 | } |