aboutsummaryrefslogtreecommitdiff
path: root/test/arena.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/arena.c')
-rw-r--r--test/arena.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/arena.c b/test/arena.c
index 58b3076..5efd162 100644
--- a/test/arena.c
+++ b/test/arena.c
@@ -35,6 +35,22 @@ make_and_free(void)
xs[i] = i;
arena_free(&a);
+
+ /* Assert that after arena_free(), the page was actually freed */
+
+ unsigned char *vec = NULL;
+ size_t pagesz = (size_t)sysconf(_SC_PAGESIZE);
+ oryx_assert(pagesz != (size_t)-1);
+
+ /* Vector size documented in mincore(2) */
+ vec = malloc((_ARENA_DFLT_CAP + pagesz - 1) / pagesz);
+ oryx_assert(vec != NULL);
+
+ errno = 0;
+ mincore(xs, sizeof(int) * 69, vec);
+ oryx_assert(errno == ENOMEM);
+cleanup:
+ free(vec);
}
void