Multi-threading in tests, add more tests

This commit is contained in:
Riyyi
2026-08-21 13:46:06 +02:00
parent f69f817bd5
commit 114aee655c
5 changed files with 199 additions and 44 deletions
+7 -4
View File
@@ -4,6 +4,7 @@ import "base:runtime"
import "core:fmt"
import "core:os"
import "core:path/filepath"
import "core:sort"
import "core:strings"
// -----------------------------------------
@@ -98,12 +99,14 @@ list_dir_queue :: proc(
path := pop(queue)
defer delete(path, queue^.allocator)
f := os.open(path, {.Read}) or_return
defer os.close(f)
entries := os.read_all_directory(f, allocator) or_return
entries := os.read_all_directory_by_path(path, allocator) or_return
defer os.file_info_slice_delete(entries, allocator)
// Improve determinism, as entries are explicitly returned unsorted by os.read_dir
sort.quick_sort_proc(entries, proc(a, b: os.File_Info) -> int {
return strings.compare(a.name, b.name)
})
// Reserve space for new entries, minor waste as directories are also counted.
reserve(result, len(result) + len(entries))