Update test_arena.c

This commit is contained in:
olemorud
2023-05-15 20:00:34 +02:00
committed by Ole Morud
parent b95c63c965
commit b9d743e868

View File

@@ -3,9 +3,11 @@
// _start test_arena_alloc.c
#include "arena.h"
#include <err.h>
#include <stdio.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
static struct arena *default_arena = NULL;
@@ -17,28 +19,14 @@ int main()
err(errno, "failed to allocate arena");
}
printf("\n%p\n", default_arena->next);
printf("\ntest 1: %s", "attempt to allocate arena->cap x 1 byte");
char *ten_A = arena_alloc(default_arena, 11 * sizeof *ten_A);
char *ten_B = arena_alloc(default_arena, 11 * sizeof *ten_B);
char *ten_C = arena_alloc(default_arena, 11 * sizeof *ten_C);
for (size_t i=0; i<10; ++i) {
ten_A[i] = 'A';
ten_B[i] = 'B';
ten_C[i] = 'C';
}
ten_A[10] = '\0';
ten_B[10] = '\0';
ten_C[10] = '\0';
printf("\n%s %s %s", ten_A, ten_B, ten_C);
printf("\n%p\n", default_arena->next);
arena_reset(default_arena);
printf("\n%p\n", default_arena->next);
for (size_t i = 0; i < default_arena->cap; i++) {
volatile void *c = arena_alloc(default_arena, 1);
if (c == NULL) {
err(EXIT_FAILURE, "failed to allocate memory");
}
}
return 0;
}