123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #include "test/jemalloc_test.h"
- #include "jemalloc/internal/peak.h"
- TEST_BEGIN(test_peak) {
- peak_t peak = PEAK_INITIALIZER;
- expect_u64_eq(0, peak_max(&peak),
- "Peak should be zero at initialization");
- peak_update(&peak, 100, 50);
- expect_u64_eq(50, peak_max(&peak),
- "Missed update");
- peak_update(&peak, 100, 100);
- expect_u64_eq(50, peak_max(&peak), "Dallocs shouldn't change peak");
- peak_update(&peak, 100, 200);
- expect_u64_eq(50, peak_max(&peak), "Dallocs shouldn't change peak");
- peak_update(&peak, 200, 200);
- expect_u64_eq(50, peak_max(&peak), "Haven't reached peak again");
- peak_update(&peak, 300, 200);
- expect_u64_eq(100, peak_max(&peak), "Missed an update.");
- peak_set_zero(&peak, 300, 200);
- expect_u64_eq(0, peak_max(&peak), "No effect from zeroing");
- peak_update(&peak, 300, 300);
- expect_u64_eq(0, peak_max(&peak), "Dalloc shouldn't change peak");
- peak_update(&peak, 400, 300);
- expect_u64_eq(0, peak_max(&peak), "Should still be net negative");
- peak_update(&peak, 500, 300);
- expect_u64_eq(100, peak_max(&peak), "Missed an update.");
- /*
- * Above, we set to zero while a net allocator; let's try as a
- * net-deallocator.
- */
- peak_set_zero(&peak, 600, 700);
- expect_u64_eq(0, peak_max(&peak), "No effect from zeroing.");
- peak_update(&peak, 600, 800);
- expect_u64_eq(0, peak_max(&peak), "Dalloc shouldn't change peak.");
- peak_update(&peak, 700, 800);
- expect_u64_eq(0, peak_max(&peak), "Should still be net negative.");
- peak_update(&peak, 800, 800);
- expect_u64_eq(100, peak_max(&peak), "Missed an update.");
- }
- TEST_END
- int
- main(void) {
- return test_no_reentrancy(
- test_peak);
- }
|