Update test_arena.c
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user