Browse Source

os2 tests

CiD- 3 years ago
parent
commit
832003dd4b
4 changed files with 17 additions and 34 deletions
  1. 11 0
      core/os/os2/errors_linux.odin
  2. 0 4
      core/os/os2/file.odin
  3. 1 28
      core/os/os2/file_linux.odin
  4. 5 2
      tests/core/Makefile

+ 11 - 0
core/os/os2/errors_linux.odin

@@ -1,6 +1,8 @@
 //+private
 //+private
 package os2
 package os2
 
 
+import "core:sys/unix"
+
 EPERM          :: 1
 EPERM          :: 1
 ENOENT         :: 2
 ENOENT         :: 2
 ESRCH          :: 3
 ESRCH          :: 3
@@ -126,6 +128,15 @@ ENOTRECOVERABLE:: 131  /* State not recoverable */
 ERFKILL        :: 132  /* Operation not possible due to RF-kill */
 ERFKILL        :: 132  /* Operation not possible due to RF-kill */
 EHWPOISON      :: 133  /* Memory page has hardware error */
 EHWPOISON      :: 133  /* Memory page has hardware error */
 
 
+_get_platform_error :: proc(res: int) -> Error {
+	errno := unix.get_errno(res)
+	return Platform_Error{i32(errno)}
+}
+
+_ok_or_error :: proc(res: int) -> Error {
+	return res >= 0 ? nil : _get_platform_error(res)
+}
+
 _error_string :: proc(errno: i32) -> string {
 _error_string :: proc(errno: i32) -> string {
 	if errno == 0 {
 	if errno == 0 {
 		return ""
 		return ""

+ 0 - 4
core/os/os2/file.odin

@@ -61,10 +61,6 @@ create :: proc(name: string, perm: File_Mode = 0) -> (Handle, Error) {
 	return open(name, {.Read, .Write, .Create}, perm)
 	return open(name, {.Read, .Write, .Create}, perm)
 }
 }
 
 
-opendir :: proc(name: string) -> (Handle, Error) {
-	return _opendir(name)
-}
-
 open :: proc(name: string, flags := File_Flags{.Read}, perm: File_Mode = 0) -> (Handle, Error) {
 open :: proc(name: string, flags := File_Flags{.Read}, perm: File_Mode = 0) -> (Handle, Error) {
 	flags := flags
 	flags := flags
 	if .Write not_in flags {
 	if .Write not_in flags {

+ 1 - 28
core/os/os2/file_linux.odin

@@ -7,22 +7,8 @@ import "core:strings"
 import "core:sys/unix"
 import "core:sys/unix"
 
 
 
 
-_get_platform_error :: proc(res: int) -> Error {
-	errno := unix.get_errno(res)
-	return Platform_Error{i32(errno)}
-}
-
-_ok_or_error :: proc(res: int) -> Error {
-	return res >= 0 ? nil : _get_platform_error(res)
-}
-
 _std_handle :: proc(kind: Std_Handle_Kind) -> Handle {
 _std_handle :: proc(kind: Std_Handle_Kind) -> Handle {
-	switch kind {
-	case .stdin:  return Handle(0)
-	case .stdout: return Handle(1)
-	case .stderr: return Handle(2)
-	}
-	unreachable()
+	return Handle(kind)
 }
 }
 
 
 __O_RDONLY    :: 0o0
 __O_RDONLY    :: 0o0
@@ -38,19 +24,6 @@ __O_DIRECTORY :: 0o200000
 __O_SYNC      :: 0o4010000
 __O_SYNC      :: 0o4010000
 __O_CLOEXEC   :: 0o2000000
 __O_CLOEXEC   :: 0o2000000
 
 
-_opendir :: proc(name: string) -> (Handle, Error) {
-	cstr := strings.clone_to_cstring(name, context.temp_allocator)
-
-	flags := __O_RDONLY|__O_NONBLOCK|__O_DIRECTORY|__O_LARGEFILE|__O_CLOEXEC
-
-	handle_i := unix.sys_open(cstr, flags)
-	if handle_i < 0 {
-		return INVALID_HANDLE, _get_platform_error(handle_i)
-	}
-
-	return Handle(handle_i), nil
-}
-
 _open :: proc(name: string, flags: File_Flags, perm: File_Mode) -> (Handle, Error) {
 _open :: proc(name: string, flags: File_Flags, perm: File_Mode) -> (Handle, Error) {
 	cstr := strings.clone_to_cstring(name, context.temp_allocator)
 	cstr := strings.clone_to_cstring(name, context.temp_allocator)
 
 

+ 5 - 2
tests/core/Makefile

@@ -1,7 +1,7 @@
 ODIN=../../odin
 ODIN=../../odin
 PYTHON=$(shell which python3)
 PYTHON=$(shell which python3)
 
 
-all: download_test_assets image_test compress_test strings_test hash_test crypto_test noise_test
+all: download_test_assets image_test compress_test strings_test hash_test crypto_test noise_test os2_test
 
 
 download_test_assets:
 download_test_assets:
 	$(PYTHON) download_assets.py
 	$(PYTHON) download_assets.py
@@ -22,4 +22,7 @@ crypto_test:
 	$(ODIN) run crypto -out=crypto_hash -o:speed -no-bounds-check
 	$(ODIN) run crypto -out=crypto_hash -o:speed -no-bounds-check
 
 
 noise_test:
 noise_test:
-	$(ODIN) run math/noise -out=test_noise
+	$(ODIN) run math/noise -out=test_noise
+
+os2_test:
+	$(ODIN) run os2/test_os2.odin -out=test_os2