diff options
Diffstat (limited to 'test/pkmem.cpp')
| -rw-r--r-- | test/pkmem.cpp | 170 |
1 files changed, 19 insertions, 151 deletions
diff --git a/test/pkmem.cpp b/test/pkmem.cpp index 6a52f25..3a2b425 100644 --- a/test/pkmem.cpp +++ b/test/pkmem.cpp @@ -21,11 +21,11 @@ class FreeTest { void *ptrs[4]; FreeTest() : - bkt(pk_bucket_create("freetest", 1024 * 1024, PK_MEMBUCKET_FLAG_NONE)) { - pk_bucket_set_client_bucket(this->bkt); + bkt(pk_mem_bucket_create("freetest", 1024 * 1024, PK_MEMBUCKET_FLAG_NONE)) { + pk_mem_bucket_set_client_mem_bucket(this->bkt); } virtual ~FreeTest() { - pk_bucket_destroy(this->bkt); + pk_mem_bucket_destroy(this->bkt); } void setup() { @@ -128,7 +128,6 @@ void pk_test_pkmem_spinup(bool init_funcinstr = false) { } void pk_test_pkmem_teardown() { pk_funcinstr_teardown(); - pk_memory_teardown_all(); } /* @@ -170,16 +169,18 @@ int main(int argc, char *argv[]) pk_test_pkmem_spinup(true); fprintf(stdout, "[pkmem.cpp] start: %s\n", test_basic_alloc); { - pk_membucket *bkt = pk_bucket_create("test-some-dang-string", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_bucket_set_client_bucket(bkt); + pk_membucket *bkt = pk_mem_bucket_create("test-some-dang-string", 1024, PK_MEMBUCKET_FLAG_NONE); + pk_mem_bucket_set_client_mem_bucket(bkt); char *some_dang_string = pk_new<char>(64); fprintf(stdout, "some_dang_string: %s: %p\n", some_dang_string, (void *)some_dang_string); - fprintf(stdout, "debug block : size: %zu, data: %p\n", debug_allocs[0][0].size, debug_allocs[0][0].ptr); - pk_mem_assert(64 == debug_allocs[0][0].size); - pk_mem_assert((char*)bkt + EXPECTED_PK_MEMBLOCK_SIZE == debug_allocs[0][0].data); +#ifdef PK_MEMORY_DEBUGGER + fprintf(stdout, "debug block : size: %zu, data: %p\n", bkt->debug_blocks[0].size, bkt->debug_blocks[0].ptr); + pk_mem_assert(64 == bkt->debug_blocks[0].size); + pk_mem_assert((char*)bkt + EXPECTED_PK_MEMBLOCK_SIZE == bkt->debug_blocks[0].data); +#endif fprintf(stdout, "bkt->head : %lu\n", bkt->head); pk_mem_assert(64 == bkt->head); @@ -193,7 +194,7 @@ int main(int argc, char *argv[]) pk_delete<char>(some_dang_string, 64); - pk_bucket_destroy(bkt); + pk_mem_bucket_destroy(bkt); } pk_test_pkmem_teardown(); fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_basic_alloc); @@ -202,8 +203,8 @@ int main(int argc, char *argv[]) pk_test_pkmem_spinup(true); fprintf(stdout, "[pkmem.cpp] start: %s\n", test_misalignment01); { - pk_membucket *bkt = pk_bucket_create("misalignment", 1024 * 1024, PK_MEMBUCKET_FLAG_NONE); - pk_bucket_set_client_bucket(bkt); + pk_membucket *bkt = pk_mem_bucket_create("misalignment", 1024 * 1024, PK_MEMBUCKET_FLAG_NONE); + pk_mem_bucket_set_client_mem_bucket(bkt); pk_new(1, 1, bkt); pk_new(1, 64, bkt); pk_new(9, 1, bkt); @@ -220,7 +221,7 @@ int main(int argc, char *argv[]) fprintf(stdout, "blocks[15].size : %li\n", bkt->blocks[15].size); pk_mem_assert(54 == bkt->blocks[15].size); - pk_bucket_destroy(bkt); + pk_mem_bucket_destroy(bkt); } fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_misalignment01); pk_test_pkmem_teardown(); @@ -229,8 +230,8 @@ int main(int argc, char *argv[]) pk_test_pkmem_spinup(); fprintf(stdout, "[pkmem.cpp] start: %s\n", test_misalignment02); { - pk_membucket *bkt = pk_bucket_create("misalignment", 1024 * 1024, PK_MEMBUCKET_FLAG_NONE); - pk_bucket_set_client_bucket(bkt); + pk_membucket *bkt = pk_mem_bucket_create("misalignment", 1024 * 1024, PK_MEMBUCKET_FLAG_NONE); + pk_mem_bucket_set_client_mem_bucket(bkt); pk_new(1, 1, bkt); pk_new(1, 64, bkt); pk_new(9, 16, bkt); @@ -253,7 +254,7 @@ int main(int argc, char *argv[]) fprintf(stdout, "blocks[14].size : %li\n", bkt->blocks[14].size); pk_mem_assert(39 == bkt->blocks[14].size); - pk_bucket_destroy(bkt); + pk_mem_bucket_destroy(bkt); } fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_misalignment02); pk_test_pkmem_teardown(); @@ -589,7 +590,7 @@ int main(int argc, char *argv[]) fprintf(stdout, "[pkmem.cpp] start: %s\n", test_alloc_strings); { size_t diff; - pk_membucket *bkt = pk_bucket_create(test_free_between, PK_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE); + pk_membucket *bkt = pk_mem_bucket_create(test_free_between, PK_MEM_DEFAULT_BUCKET_SIZE, PK_MEMBUCKET_FLAG_NONE); char *str1 = pk_new<char>(16, bkt); char *str2 = pk_new<char>(16, bkt); @@ -622,143 +623,10 @@ int main(int argc, char *argv[]) fprintf(stdout, "handle2 - handle1 : %zu\n", diff); pk_mem_assert(diff == 8); - pk_bucket_destroy(bkt); + pk_mem_bucket_destroy(bkt); } fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_alloc_strings); pk_test_pkmem_teardown(); - // assert bucket count - /* - pk_test_pkmem_spinup(false); - fprintf(stdout, "[pkmem.cpp] start: %s\n", test_bucket_count01); - do - { - for (i = 0; i < PK_MAX_BUCKET_COUNT; ++i) { - pk_membucket *bkt = pk_bucket_create("lol", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_mem_assert(bkt != nullptr); - (void)bkt; - } - pk_membucket *bkt = pk_bucket_create("lol", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_mem_assert(bkt == nullptr); - } - while(false); - fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_bucket_count01); - pk_test_pkmem_teardown(); - */ - - // assert no buckets available on pk_new with full memory - /* - pk_test_pkmem_spinup(false); - fprintf(stdout, "[pkmem.cpp] start: %s\n", test_bucket_count02); - do - { - for (i = 0; i < PK_MAX_BUCKET_COUNT; ++i) { - pk_membucket *bkt = pk_bucket_create("lol2", 1024, PK_MEMBUCKET_FLAG_NONE); - char *asdf = pk_new<char>(768, bkt); - pk_mem_assert(asdf != nullptr); - } - char *asdf = pk_new<char>(768); - pk_mem_assert(asdf == nullptr); - } - while(false); - fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_bucket_count02); - pk_test_pkmem_teardown(); - */ - - // assert no buckets available on pk_new with full memory - /* - pk_test_pkmem_spinup(false); - fprintf(stdout, "[pkmem.cpp] start: %s\n", test_bucket_count03); - do - { - pk_membucket *bkt = nullptr; - for (i = 0; i < PK_MAX_BUCKET_COUNT; ++i) { - bkt = pk_bucket_create("lol3", 1024, PK_MEMBUCKET_FLAG_NONE); - char *asdf = pk_new<char>(768, bkt); - pk_mem_assert(asdf != nullptr); - } - char *asdf = pk_new<char>(768, bkt); - pk_mem_assert(asdf == nullptr); - } - while(false); - fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_bucket_count03); - pk_test_pkmem_teardown(); - */ - - pk_test_pkmem_spinup(false); - fprintf(stdout, "[pkmem.cpp] start: %s\n", test_bucket_count04); - { - pk_membucket *bkt1 = pk_bucket_create("bucket1", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_membucket *bkt2 = pk_bucket_create("bucket2", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_membucket *bkt3 = pk_bucket_create("bucket3", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_membucket *bkt4 = pk_bucket_create("bucket4", 1024, PK_MEMBUCKET_FLAG_NONE); - - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(4 == debug_alloc_head); - - pk_bucket_destroy(bkt4); - - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(3 == debug_alloc_head); - - pk_bucket_destroy(bkt3); - - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(2 == debug_alloc_head); - - pk_bucket_destroy(bkt2); - - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(1 == debug_alloc_head); - - pk_bucket_destroy(bkt1); - - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(0 == debug_alloc_head); - } - fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_bucket_count04); - pk_test_pkmem_teardown(); - - /* 2025-01-06 JCB - * buckets are stored in an array. - * debug_alloc_head is only an *indicator* of how many buckets have been - * created total, and the index of the next available. - */ - pk_test_pkmem_spinup(false); - fprintf(stdout, "[pkmem.cpp] start: %s\n", test_bucket_count05); - { - pk_membucket *bkt1 = pk_bucket_create("bucket1", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_membucket *bkt2 = pk_bucket_create("bucket2", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_membucket *bkt3 = pk_bucket_create("bucket3", 1024, PK_MEMBUCKET_FLAG_NONE); - pk_membucket *bkt4 = pk_bucket_create("bucket4", 1024, PK_MEMBUCKET_FLAG_NONE); - - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(4 == debug_alloc_head); - - pk_bucket_destroy(bkt1); - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(4 == debug_alloc_head); - - pk_bucket_destroy(bkt2); - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(4 == debug_alloc_head); - - pk_bucket_destroy(bkt3); - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(4 == debug_alloc_head); - - pk_bucket_destroy(bkt4); - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(0 == debug_alloc_head); - - /* - pk_memory_flush(); - fprintf(stdout, "debug_alloc_head: %li\n", debug_alloc_head); - pk_mem_assert(0 == debug_alloc_head); - */ - } - fprintf(stdout, "[pkmem.cpp] end: %s\n\n", test_bucket_count05); - pk_test_pkmem_teardown(); - return 0; } |
