diff options
author | Azat Khuzhin <a3at.mail@gmail.com> | 2014-11-11 14:25:47 +0300 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2014-11-30 11:06:08 -0500 |
commit | e2d139dd7e753d83f107e485404022beafb9e95d (patch) | |
tree | 7cc64cbd8d6fc66971926c096c3550f27a881f26 /test | |
parent | ba59923ab8cade9f2b306b4ae35c2f752786a8d3 (diff) | |
download | libevent-e2d139dd7e753d83f107e485404022beafb9e95d.tar.gz |
test/evbuffer_peek: add regress in case we have first buffer greater
Diffstat (limited to 'test')
-rw-r--r-- | test/regress_buffer.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/regress_buffer.c b/test/regress_buffer.c index aa1cd2a7..c5c26076 100644 --- a/test/regress_buffer.c +++ b/test/regress_buffer.c @@ -1844,6 +1844,34 @@ end: } static void +test_evbuffer_peek_first_gt(void *info) +{ + struct evbuffer *buf = NULL, *tmp_buf = NULL; + struct evbuffer_ptr ptr; + struct evbuffer_iovec v[2]; + + buf = evbuffer_new(); + tmp_buf = evbuffer_new(); + evbuffer_add_printf(tmp_buf, "Contents of chunk 100\n"); + evbuffer_add_buffer(buf, tmp_buf); + evbuffer_add_printf(tmp_buf, "Contents of chunk 1\n"); + evbuffer_add_buffer(buf, tmp_buf); + + evbuffer_ptr_set(buf, &ptr, 0, EVBUFFER_PTR_SET); + + /** The only case that matters*/ + tt_int_op(evbuffer_peek(buf, -1, &ptr, NULL, 0), ==, 2); + /** Just in case */ + tt_int_op(evbuffer_peek(buf, -1, &ptr, v, 2), ==, 2); + +end: + if (buf) + evbuffer_free(buf); + if (tmp_buf) + evbuffer_free(tmp_buf); +} + +static void test_evbuffer_peek(void *info) { struct evbuffer *buf = NULL, *tmp_buf = NULL; @@ -2210,6 +2238,7 @@ struct testcase_t evbuffer_testcases[] = { { "multicast_drain", test_evbuffer_multicast_drain, 0, NULL, NULL }, { "prepend", test_evbuffer_prepend, TT_FORK, NULL, NULL }, { "peek", test_evbuffer_peek, 0, NULL, NULL }, + { "peek_first_gt", test_evbuffer_peek_first_gt, 0, NULL, NULL }, { "freeze_start", test_evbuffer_freeze, 0, &nil_setup, (void*)"start" }, { "freeze_end", test_evbuffer_freeze, 0, &nil_setup, (void*)"end" }, { "add_iovec", test_evbuffer_add_iovec, 0, NULL, NULL}, |