Mercurial > libjeffpc
changeset 848:8371ff905869
buffer: test appending 1 MB in 1 kB chunks
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author | Josef 'Jeff' Sipek <jeffpc@josefsipek.net> |
---|---|
date | Wed, 13 Oct 2021 19:35:23 -0400 |
parents | 8f12be21f7db |
children | 1c4d7ff0a682 |
files | tests/test_buffer.c |
diffstat | 1 files changed, 22 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test_buffer.c Wed Oct 13 19:26:11 2021 -0400 +++ b/tests/test_buffer.c Wed Oct 13 19:35:23 2021 -0400 @@ -242,12 +242,14 @@ { struct buffer *buffer; size_t startsize; + size_t i; + /* append 1 char at a time */ for (startsize = 0; startsize < 300; startsize++) { uint8_t data[256]; - fprintf(stderr, "%s(%p): iter = %3zu...", __func__, _buffer, - startsize); + fprintf(stderr, "%s(%p): 1 char, iter = %3zu...", __func__, + _buffer, startsize); buffer = alloc_heap_buffer(_buffer, startsize); @@ -262,6 +264,24 @@ fprintf(stderr, "ok.\n"); } + + /* append 1 MB total, 1 kB at a time */ + buffer = alloc_heap_buffer(_buffer, 0); + + for (i = 0; i < 1024; i++) { + fprintf(stderr, "%s(%p): 1 kB, iter = %3zu...", __func__, + _buffer, i); + + check_data(buffer); + check_used(buffer, sizeof(data_1k) * i); + check_append(buffer, data_1k, sizeof(data_1k)); + check_data(buffer); + check_used(buffer, sizeof(data_1k) * (i + 1)); + + fprintf(stderr, "ok.\n"); + } + + buffer_free(buffer); } static void test_truncate_grow(struct buffer *_buffer)