diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-10-03 12:25:33 +0200 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2010-10-03 12:25:33 +0200 |
commit | b2f571e544f82116bb78b954a8c449105df148d4 (patch) | |
tree | 8632694bf7ce53c7ac2dd7e8e5c9893fa2143915 | |
parent | 338a3d9b0509d4cf49d2fdb00b17a9e9f7593447 (diff) | |
download | libssh-b2f571e544f82116bb78b954a8c449105df148d4.tar.gz libssh-b2f571e544f82116bb78b954a8c449105df148d4.tar.xz libssh-b2f571e544f82116bb78b954a8c449105df148d4.zip |
test the buffer_prepend_data function
-rw-r--r-- | tests/unittests/torture_buffer.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/unittests/torture_buffer.c b/tests/unittests/torture_buffer.c index a64c5a7..60712a8 100644 --- a/tests/unittests/torture_buffer.c +++ b/tests/unittests/torture_buffer.c @@ -54,6 +54,26 @@ START_TEST (torture_growing_buffer_shifting) } END_TEST +/* test the behavior of buffer_prepend_data + */ +START_TEST (torture_buffer_prepend) +{ + uint32_t v; + buffer_add_data(buffer,"abcdef",6); + buffer_prepend_data(buffer,"xyz",3); + ck_assert_int_eq(buffer_get_rest_len(buffer),9); + ck_assert_int_eq(memcmp(buffer_get_rest(buffer), "xyzabcdef", 9), 0); +// Now remove 4 bytes and see if we can replace them + buffer_get_u32(buffer,&v); + ck_assert_int_eq(buffer_get_rest_len(buffer),5); + ck_assert_int_eq(memcmp(buffer_get_rest(buffer), "bcdef", 5), 0); + buffer_prepend_data(buffer,"aris",4); + ck_assert_int_eq(buffer_get_rest_len(buffer),9); + ck_assert_int_eq(memcmp(buffer_get_rest(buffer), "arisbcdef", 9), 0); +} +END_TEST + + Suite *torture_make_suite(void) { Suite *s = suite_create("libssh_buffer"); @@ -61,7 +81,8 @@ Suite *torture_make_suite(void) { torture_growing_buffer, setup, teardown); torture_create_case_fixture(s, "torture_growing_buffer_shifting", torture_growing_buffer_shifting, setup, teardown); - + torture_create_case_fixture(s, "torture_buffer_prepend", + torture_buffer_prepend, setup, teardown); return s; } |