From 8e478e06c2c09e8d74fcaa6cca84f7db14d23265 Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Sun, 24 Aug 2025 22:53:21 +0200 Subject: improved testing & src cleanup --- src/testing.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/testing.c (limited to 'src/testing.c') diff --git a/src/testing.c b/src/testing.c new file mode 100644 index 0000000..937d2dc --- /dev/null +++ b/src/testing.c @@ -0,0 +1,28 @@ +#include + +#include "../include/assert.h" +#include "../include/memory.h" +#include "../include/str.h" +#include "../include/testing.h" +#include "../include/types.h" + +MemoryFile load_file(Arena *a, const char *filename) { + FILE *file = fopen(filename, "rb"); + assert(file != 0, "failed to open file: %s", filename); + MemoryFile mem_file = {0}; + + // Get file size + fseek(file, 0, SEEK_END); + mem_file.size = ftell(file); + fseek(file, 0, SEEK_SET); + + mem_file.content = new(a, byte, mem_file.size + 1); + + size bytes_read = fread(mem_file.content, 1, mem_file.size, file); + assert(bytes_read == mem_file.size, "failed to read entire file: %s", + filename); + + mem_file.content[mem_file.size] = '\0'; // Null terminate + fclose(file); + return mem_file; +} -- cgit v1.3