Skip to content

Commit 9d68570

Browse files
committed
Add test of messages_set where initial ring buffer is smaller than request size
1 parent 23dd386 commit 9d68570

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/tests/util/message_set_test.c

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ int main(int argc, char *argv[])
169169
{
170170
int c;
171171
int i, start, end, ret;
172-
fr_message_set_t *ms;
172+
fr_message_set_t *ms, *ms2;
173173
uint32_t seed;
174174

175175
TALLOC_CTX *autofree = talloc_autofree_context();
@@ -385,6 +385,22 @@ int main(int argc, char *argv[])
385385
ret = fr_message_set_messages_used(ms);
386386
fr_assert(ret == 0);
387387

388+
/*
389+
* Allocate a message set with small initial ring buffer size, but allowing for "unlimited" size.
390+
*/
391+
ms2 = fr_message_set_create(autofree, ARRAY_SIZE, sizeof(fr_message_t), ARRAY_SIZE / 4, true);
392+
if (!ms2) {
393+
fprintf(stderr, "Failed creating message set\n");
394+
fr_exit_now(EXIT_FAILURE);
395+
}
396+
397+
/*
398+
* Use the new message set - the allocations will be beyond the origial ring buffer size.
399+
*/
400+
alloc_blocks(ms2, &seed, &start, &end);
401+
free_blocks(ms2, &seed, &start, &end);
402+
fr_message_set_gc(ms2);
403+
388404
return ret;
389405
}
390406

0 commit comments

Comments
 (0)