sys/posix: impl rest of linux, impl some of Windows

This commit is contained in:
Laytan Laats
2024-10-28 18:59:06 +01:00
committed by Laytan
parent 9f609dd740
commit 1cebc025b0
63 changed files with 1237 additions and 789 deletions
+2 -15
View File
@@ -1,4 +1,4 @@
#+build darwin, freebsd, openbsd, netbsd
#+build linux, darwin, freebsd, openbsd, netbsd
package tests_core_posix
import "core:log"
@@ -144,7 +144,6 @@ test_libgen :: proc(t: ^testing.T) {
{ "usr/", ".", "usr" },
{ "", ".", "." },
{ "/", "/", "/" },
{ "//", "/", "/" },
{ "///", "/", "/" },
{ "/usr/", "/", "usr" },
{ "/usr/lib", "/usr", "lib" },
@@ -197,24 +196,12 @@ test_stat :: proc(t: ^testing.T) {
stat: posix.stat_t
testing.expect_value(t, posix.stat(#file, &stat), posix.result.OK)
testing.expect(t, posix.S_ISREG(stat.st_mode))
testing.expect_value(t, stat.st_mode, posix.mode_t{.IROTH, .IRGRP, .IRUSR, .IWUSR, .IFREG})
testing.expect_value(t, stat.st_mode, posix.mode_t{.IROTH, .IRGRP, .IRUSR, .IWGRP, .IWUSR, .IFREG})
CONTENT := #load(#file)
testing.expect_value(t, stat.st_size, posix.off_t(len(CONTENT)))
}
@(test)
test_termios :: proc(t: ^testing.T) {
testing.expect_value(t, transmute(posix.CControl_Flags)posix.tcflag_t(posix._CSIZE), posix.CSIZE)
testing.expect_value(t, transmute(posix.COutput_Flags)posix.tcflag_t(posix._NLDLY), posix.NLDLY)
testing.expect_value(t, transmute(posix.COutput_Flags)posix.tcflag_t(posix._CRDLY), posix.CRDLY)
testing.expect_value(t, transmute(posix.COutput_Flags)posix.tcflag_t(posix._TABDLY), posix.TABDLY)
testing.expect_value(t, transmute(posix.COutput_Flags)posix.tcflag_t(posix._BSDLY), posix.BSDLY)
testing.expect_value(t, transmute(posix.COutput_Flags)posix.tcflag_t(posix._VTDLY), posix.VTDLY)
testing.expect_value(t, transmute(posix.COutput_Flags)posix.tcflag_t(posix._FFDLY), posix.FFDLY)
}
@(test)
test_pthreads :: proc(t: ^testing.T) {
testing.set_fail_timeout(t, time.Second)