Generalize prof_cnt_all() for testing
This commit is contained in:
@@ -7,21 +7,21 @@ TEST_BEGIN(test_prof_realloc) {
|
||||
int flags;
|
||||
void *p, *q;
|
||||
prof_info_t prof_info_p, prof_info_q;
|
||||
uint64_t curobjs_0, curobjs_1, curobjs_2, curobjs_3;
|
||||
prof_cnt_t cnt_0, cnt_1, cnt_2, cnt_3;
|
||||
|
||||
test_skip_if(!config_prof);
|
||||
|
||||
tsd = tsd_fetch();
|
||||
flags = MALLOCX_TCACHE_NONE;
|
||||
|
||||
prof_cnt_all(&curobjs_0, NULL, NULL, NULL);
|
||||
prof_cnt_all(&cnt_0);
|
||||
p = mallocx(1024, flags);
|
||||
expect_ptr_not_null(p, "Unexpected mallocx() failure");
|
||||
prof_info_get(tsd, p, NULL, &prof_info_p);
|
||||
expect_ptr_ne(prof_info_p.alloc_tctx, (prof_tctx_t *)(uintptr_t)1U,
|
||||
"Expected valid tctx");
|
||||
prof_cnt_all(&curobjs_1, NULL, NULL, NULL);
|
||||
expect_u64_eq(curobjs_0 + 1, curobjs_1,
|
||||
prof_cnt_all(&cnt_1);
|
||||
expect_u64_eq(cnt_0.curobjs + 1, cnt_1.curobjs,
|
||||
"Allocation should have increased sample size");
|
||||
|
||||
q = rallocx(p, 2048, flags);
|
||||
@@ -30,13 +30,13 @@ TEST_BEGIN(test_prof_realloc) {
|
||||
prof_info_get(tsd, q, NULL, &prof_info_q);
|
||||
expect_ptr_ne(prof_info_q.alloc_tctx, (prof_tctx_t *)(uintptr_t)1U,
|
||||
"Expected valid tctx");
|
||||
prof_cnt_all(&curobjs_2, NULL, NULL, NULL);
|
||||
expect_u64_eq(curobjs_1, curobjs_2,
|
||||
prof_cnt_all(&cnt_2);
|
||||
expect_u64_eq(cnt_1.curobjs, cnt_2.curobjs,
|
||||
"Reallocation should not have changed sample size");
|
||||
|
||||
dallocx(q, flags);
|
||||
prof_cnt_all(&curobjs_3, NULL, NULL, NULL);
|
||||
expect_u64_eq(curobjs_0, curobjs_3,
|
||||
prof_cnt_all(&cnt_3);
|
||||
expect_u64_eq(cnt_0.curobjs, cnt_3.curobjs,
|
||||
"Sample size should have returned to base level");
|
||||
}
|
||||
TEST_END
|
||||
|
Reference in New Issue
Block a user