port os functions, add testing module

This commit is contained in:
Krzosa Karol
2025-02-02 17:34:06 +01:00
parent 85a6c218b2
commit 9f33ea0914
27 changed files with 1120 additions and 889 deletions

View File

@@ -116,10 +116,24 @@ fn s8_t mt_serial_to_cbyte_array(ma_arena_t *arena, s8_t file, s8_t var_name) {
return result;
}
#define mt_cpath(arena) mt_gen_filename(arena, s8_lit(__FILE__), s8_lit("c"))
#define mt_hpath(arena) mt_gen_filename(arena, s8_lit(__FILE__), s8_lit("h"))
#define mt_cpath(arena) mt_gen_filename(arena, S8_FILE, s8_lit("c"))
#define mt_hpath(arena) mt_gen_filename(arena, S8_FILE, s8_lit("h"))
fn s8_t mt_gen_filename(ma_arena_t *arena, s8_t lit_file, s8_t ext) {
s8_t file_noext = s8_chop_last_period(s8_chop_last_period(lit_file));
s8_t file = s8_printf(arena, "%S.gen.%S", file_noext, ext);
return file;
}
#define mt_main_path(arena) mt__main_path(arena, S8_FILE)
fn s8_t mt__main_path(ma_arena_t *arena, s8_t file) {
s8_t file_noext = s8_chop_last_period(s8_chop_last_period(file));
s8_t path = s8_printf(arena, "%S_main.c", file_noext);
return path;
}
fn sb8_t *mt_get_include_paths(ma_arena_t *arena) {
sb8_t *result = ma_push_type(arena, sb8_t);
result->arena = arena;
sb8_append(result, OS_GetAbsolutePath(&Perm, s8_lit("../src")));
return result;
}