aboutsummaryrefslogtreecommitdiff
path: root/examples/redis-unstable/deps/jemalloc/test/unit/peak.c
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/deps/jemalloc/test/unit/peak.c')
-rw-r--r--examples/redis-unstable/deps/jemalloc/test/unit/peak.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/redis-unstable/deps/jemalloc/test/unit/peak.c b/examples/redis-unstable/deps/jemalloc/test/unit/peak.c
new file mode 100644
index 0000000..1112978
--- /dev/null
+++ b/examples/redis-unstable/deps/jemalloc/test/unit/peak.c
@@ -0,0 +1,47 @@
1#include "test/jemalloc_test.h"
2
3#include "jemalloc/internal/peak.h"
4
5TEST_BEGIN(test_peak) {
6 peak_t peak = PEAK_INITIALIZER;
7 expect_u64_eq(0, peak_max(&peak),
8 "Peak should be zero at initialization");
9 peak_update(&peak, 100, 50);
10 expect_u64_eq(50, peak_max(&peak),
11 "Missed update");
12 peak_update(&peak, 100, 100);
13 expect_u64_eq(50, peak_max(&peak), "Dallocs shouldn't change peak");
14 peak_update(&peak, 100, 200);
15 expect_u64_eq(50, peak_max(&peak), "Dallocs shouldn't change peak");
16 peak_update(&peak, 200, 200);
17 expect_u64_eq(50, peak_max(&peak), "Haven't reached peak again");
18 peak_update(&peak, 300, 200);
19 expect_u64_eq(100, peak_max(&peak), "Missed an update.");
20 peak_set_zero(&peak, 300, 200);
21 expect_u64_eq(0, peak_max(&peak), "No effect from zeroing");
22 peak_update(&peak, 300, 300);
23 expect_u64_eq(0, peak_max(&peak), "Dalloc shouldn't change peak");
24 peak_update(&peak, 400, 300);
25 expect_u64_eq(0, peak_max(&peak), "Should still be net negative");
26 peak_update(&peak, 500, 300);
27 expect_u64_eq(100, peak_max(&peak), "Missed an update.");
28 /*
29 * Above, we set to zero while a net allocator; let's try as a
30 * net-deallocator.
31 */
32 peak_set_zero(&peak, 600, 700);
33 expect_u64_eq(0, peak_max(&peak), "No effect from zeroing.");
34 peak_update(&peak, 600, 800);
35 expect_u64_eq(0, peak_max(&peak), "Dalloc shouldn't change peak.");
36 peak_update(&peak, 700, 800);
37 expect_u64_eq(0, peak_max(&peak), "Should still be net negative.");
38 peak_update(&peak, 800, 800);
39 expect_u64_eq(100, peak_max(&peak), "Missed an update.");
40}
41TEST_END
42
43int
44main(void) {
45 return test_no_reentrancy(
46 test_peak);
47}