|
|
|
@ -101,6 +101,73 @@ static void test_read_none_compressed_slice(void) { |
|
|
|
|
grpc_byte_buffer_destroy(buffer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void test_peek_one_slice(void) { |
|
|
|
|
grpc_slice slice; |
|
|
|
|
grpc_byte_buffer* buffer; |
|
|
|
|
grpc_byte_buffer_reader reader; |
|
|
|
|
grpc_slice* first_slice; |
|
|
|
|
grpc_slice* second_slice; |
|
|
|
|
int first_code, second_code; |
|
|
|
|
|
|
|
|
|
LOG_TEST("test_peek_one_slice"); |
|
|
|
|
slice = grpc_slice_from_copied_string("test"); |
|
|
|
|
buffer = grpc_raw_byte_buffer_create(&slice, 1); |
|
|
|
|
grpc_slice_unref(slice); |
|
|
|
|
GPR_ASSERT(grpc_byte_buffer_reader_init(&reader, buffer) && |
|
|
|
|
"Couldn't init byte buffer reader"); |
|
|
|
|
first_code = grpc_byte_buffer_reader_peek(&reader, &first_slice); |
|
|
|
|
GPR_ASSERT(first_code != 0); |
|
|
|
|
GPR_ASSERT(memcmp(GRPC_SLICE_START_PTR(*first_slice), "test", 4) == 0); |
|
|
|
|
second_code = grpc_byte_buffer_reader_peek(&reader, &second_slice); |
|
|
|
|
GPR_ASSERT(second_code == 0); |
|
|
|
|
grpc_byte_buffer_destroy(buffer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void test_peek_one_slice_malloc(void) { |
|
|
|
|
grpc_slice slice; |
|
|
|
|
grpc_byte_buffer* buffer; |
|
|
|
|
grpc_byte_buffer_reader reader; |
|
|
|
|
grpc_slice* first_slice; |
|
|
|
|
grpc_slice* second_slice; |
|
|
|
|
int first_code, second_code; |
|
|
|
|
|
|
|
|
|
LOG_TEST("test_peek_one_slice_malloc"); |
|
|
|
|
slice = grpc_slice_malloc(4); |
|
|
|
|
memcpy(GRPC_SLICE_START_PTR(slice), "test", 4); |
|
|
|
|
buffer = grpc_raw_byte_buffer_create(&slice, 1); |
|
|
|
|
grpc_slice_unref(slice); |
|
|
|
|
GPR_ASSERT(grpc_byte_buffer_reader_init(&reader, buffer) && |
|
|
|
|
"Couldn't init byte buffer reader"); |
|
|
|
|
first_code = grpc_byte_buffer_reader_peek(&reader, &first_slice); |
|
|
|
|
GPR_ASSERT(first_code != 0); |
|
|
|
|
GPR_ASSERT(memcmp(GRPC_SLICE_START_PTR(*first_slice), "test", 4) == 0); |
|
|
|
|
second_code = grpc_byte_buffer_reader_peek(&reader, &second_slice); |
|
|
|
|
GPR_ASSERT(second_code == 0); |
|
|
|
|
grpc_byte_buffer_destroy(buffer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void test_peek_none_compressed_slice(void) { |
|
|
|
|
grpc_slice slice; |
|
|
|
|
grpc_byte_buffer* buffer; |
|
|
|
|
grpc_byte_buffer_reader reader; |
|
|
|
|
grpc_slice* first_slice; |
|
|
|
|
grpc_slice* second_slice; |
|
|
|
|
int first_code, second_code; |
|
|
|
|
|
|
|
|
|
LOG_TEST("test_peek_none_compressed_slice"); |
|
|
|
|
slice = grpc_slice_from_copied_string("test"); |
|
|
|
|
buffer = grpc_raw_byte_buffer_create(&slice, 1); |
|
|
|
|
grpc_slice_unref(slice); |
|
|
|
|
GPR_ASSERT(grpc_byte_buffer_reader_init(&reader, buffer) && |
|
|
|
|
"Couldn't init byte buffer reader"); |
|
|
|
|
first_code = grpc_byte_buffer_reader_peek(&reader, &first_slice); |
|
|
|
|
GPR_ASSERT(first_code != 0); |
|
|
|
|
GPR_ASSERT(memcmp(GRPC_SLICE_START_PTR(*first_slice), "test", 4) == 0); |
|
|
|
|
second_code = grpc_byte_buffer_reader_peek(&reader, &second_slice); |
|
|
|
|
GPR_ASSERT(second_code == 0); |
|
|
|
|
grpc_byte_buffer_destroy(buffer); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void test_read_corrupted_slice(void) { |
|
|
|
|
grpc_slice slice; |
|
|
|
|
grpc_byte_buffer* buffer; |
|
|
|
@ -271,6 +338,9 @@ int main(int argc, char** argv) { |
|
|
|
|
test_read_one_slice(); |
|
|
|
|
test_read_one_slice_malloc(); |
|
|
|
|
test_read_none_compressed_slice(); |
|
|
|
|
test_peek_one_slice(); |
|
|
|
|
test_peek_one_slice_malloc(); |
|
|
|
|
test_peek_none_compressed_slice(); |
|
|
|
|
test_read_gzip_compressed_slice(); |
|
|
|
|
test_read_deflate_compressed_slice(); |
|
|
|
|
test_read_corrupted_slice(); |
|
|
|
|