diff options
author | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2024-03-10 15:14:08 -0400 |
---|---|---|
committer | Mathieu Desnoyers <mathieu.desnoyers@efficios.com> | 2024-03-10 15:14:08 -0400 |
commit | e62b6d5494ffa3c177ff5ba4dbd0c2a5196bdd79 (patch) | |
tree | a0b4fac4fec89d4b465b9c630721c7e441fe59d1 | |
parent | 6ff43d9ad593cc7595b4dcab098cde844e96a992 (diff) | |
download | librseq-e62b6d5494ffa3c177ff5ba4dbd0c2a5196bdd79.tar.gz |
mempool_test: test rseq_mempool_percpu_malloc_init
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ia266d69a4007340ffe1d98950619ce90582c2e40
-rw-r--r-- | tests/mempool_test.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/mempool_test.c b/tests/mempool_test.c index c753d58..7a8c79b 100644 --- a/tests/mempool_test.c +++ b/tests/mempool_test.c @@ -45,6 +45,14 @@ static void test_mempool_fill(unsigned long max_nr_ranges, size_t stride) uint64_t count = 0; LIST_HEAD(list); int ret, i, size_order; + struct test_data init_value = { + .value = { + 123, + 456, + }, + .backref = NULL, + .node = {}, + }; attr = rseq_mempool_attr_create(); ok(attr, "Create pool attribute"); @@ -108,6 +116,18 @@ static void test_mempool_fill(unsigned long max_nr_ranges, size_t stride) rseq_mempool_percpu_free(ptr, stride); ok(1, "Free one object"); + ptr = (struct test_data __rseq_percpu *) + rseq_mempool_percpu_malloc_init(mempool, + &init_value, sizeof(struct test_data)); + if (!ptr) + abort(); + ok(1, "Allocate one initialized object"); + + ok(ptr->value[0] == 123 && ptr->value[1] == 456, "Validate initial values"); + + rseq_mempool_percpu_free(ptr, stride); + ok(1, "Free one object"); + ret = rseq_mempool_destroy(mempool); ok(ret == 0, "Destroy mempool"); } |