1.1 --- a/test/buffer_tests.c Wed Oct 10 13:58:51 2012 +0200 1.2 +++ b/test/buffer_tests.c Wed Oct 10 14:18:06 2012 +0200 1.3 @@ -145,6 +145,30 @@ 1.4 free(buffer); 1.5 } 1.6 1.7 +UCX_TEST_IMPLEMENT(test_ucx_buffer_write_ax) { 1.8 + char *buffer = malloc(4); 1.9 + 1.10 + UcxBuffer *b = ucx_buffer_new(buffer, 16, 1.11 + UCX_BUFFER_AUTOEXTEND | UCX_BUFFER_AUTOFREE); 1.12 + int r; 1.13 + 1.14 + UCX_TEST_BEGIN 1.15 + 1.16 + char* teststring = "this is way too much"; 1.17 + r = ucx_buffer_write(teststring, 1, 20, b); 1.18 + buffer = b->space; /* autoextend is enabled, so we MUST retrieve pointer */ 1.19 + UCX_TEST_ASSERT(r == 20, "not all characters written"); 1.20 + UCX_TEST_ASSERT(b->size == 32, "buffer not properly extended"); 1.21 + UCX_TEST_ASSERT(b->pos == 20, "position incorrect"); 1.22 + UCX_TEST_ASSERT(memcmp(buffer, 1.23 + "this is way too much\0\0\0\0\0\0\0\0\0\0\0\0", 32) == 0, 1.24 + "incorrect buffer content"); 1.25 + 1.26 + UCX_TEST_END 1.27 + 1.28 + ucx_buffer_free(b); 1.29 +} 1.30 + 1.31 UCX_TEST_IMPLEMENT(test_ucx_buffer_read) { 1.32 char *buffer = malloc(16); 1.33 memset(buffer, 56, 8);