diff options
| author | 3gg <3gg@shellblade.net> | 2025-07-19 09:43:50 -0700 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-07-19 09:43:50 -0700 |
| commit | b905c803f35ee41ed894a108cc8fa114a2a58b88 (patch) | |
| tree | f67bb65087208fa85b30011a07e8e23bd8e7ef9a /memstack/test | |
| parent | 75705ca3d91930a730743b5319268087fc7bc56e (diff) | |
Add functions to get and set the watermark
Diffstat (limited to 'memstack/test')
| -rw-r--r-- | memstack/test/memstack_test.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/memstack/test/memstack_test.c b/memstack/test/memstack_test.c index 285cf46..5308be3 100644 --- a/memstack/test/memstack_test.c +++ b/memstack/test/memstack_test.c | |||
| @@ -131,4 +131,35 @@ TEST_CASE(memstack_alloc_aligned) { | |||
| 131 | memstack_del(&stack); | 131 | memstack_del(&stack); |
| 132 | } | 132 | } |
| 133 | 133 | ||
| 134 | // Get and set the watermark. | ||
| 135 | TEST_CASE(memstack_watermark) { | ||
| 136 | memstack stack = {0}; | ||
| 137 | memstack_make(&stack, CAPACITY, nullptr); | ||
| 138 | |||
| 139 | // Allocate N/2 ints. | ||
| 140 | for (int i = 0; i < NUM_INTS / 2; ++i) { | ||
| 141 | const int* block = memstack_alloc(&stack, sizeof(int)); | ||
| 142 | TEST_TRUE(block != nullptr); | ||
| 143 | } | ||
| 144 | |||
| 145 | const size_t watermark = memstack_watermark(&stack); | ||
| 146 | |||
| 147 | // Allocate the remaining N/2 ints. | ||
| 148 | for (int i = 0; i < NUM_INTS / 2; ++i) { | ||
| 149 | const int* block = memstack_alloc(&stack, sizeof(int)); | ||
| 150 | TEST_TRUE(block != nullptr); | ||
| 151 | } | ||
| 152 | |||
| 153 | // Now reset the watermark halfway through. | ||
| 154 | memstack_set_watermark(&stack, watermark); | ||
| 155 | |||
| 156 | // Allocate the remaining N/2 ints (again). | ||
| 157 | for (int i = 0; i < NUM_INTS / 2; ++i) { | ||
| 158 | const int* block = memstack_alloc(&stack, sizeof(int)); | ||
| 159 | TEST_TRUE(block != nullptr); | ||
| 160 | } | ||
| 161 | |||
| 162 | memstack_del(&stack); | ||
| 163 | } | ||
| 164 | |||
| 134 | int main() { return 0; } | 165 | int main() { return 0; } |
