aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2016-09-07 12:36:34 -0700
committerGravatar GitHub <noreply@github.com>2016-09-07 12:36:34 -0700
commitcd0ea6334a0fa402d0cf125b70da92afe4484f99 (patch)
tree65354d857eb12132af4d666764dccabd6972cff5 /test/core
parentb6e8c162054cc71c673d2011303d9f6142960006 (diff)
parenta6c2179c3bfe1f49caedf1ecacfb043592d31315 (diff)
Merge pull request #7864 from ctiller/bigger_frames
Support >16kib frame sizes in core
Diffstat (limited to 'test/core')
-rw-r--r--test/core/end2end/tests/invoke_large_request.c42
-rw-r--r--test/core/transport/chttp2/hpack_encoder_test.c5
2 files changed, 42 insertions, 5 deletions
diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c
index a62fb01930..1df237cb6c 100644
--- a/test/core/end2end/tests/invoke_large_request.c
+++ b/test/core/end2end/tests/invoke_large_request.c
@@ -39,6 +39,7 @@
#include <grpc/byte_buffer.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
#include <grpc/support/time.h>
#include <grpc/support/useful.h>
#include "test/core/end2end/cq_verifier.h"
@@ -99,9 +100,25 @@ static gpr_slice large_slice(void) {
return slice;
}
-static void test_invoke_large_request(grpc_end2end_test_config config) {
+static void test_invoke_large_request(grpc_end2end_test_config config,
+ int max_frame_size, int lookahead_bytes) {
+ char *name;
+ gpr_asprintf(&name,
+ "test_invoke_large_request:max_frame_size=%d:lookahead_bytes=%d",
+ max_frame_size, lookahead_bytes);
+
+ grpc_arg args[2];
+ args[0].type = GRPC_ARG_INTEGER;
+ args[0].key = GRPC_ARG_HTTP2_MAX_FRAME_SIZE;
+ args[0].value.integer = max_frame_size;
+ args[1].type = GRPC_ARG_INTEGER;
+ args[1].key = GRPC_ARG_HTTP2_STREAM_LOOKAHEAD_BYTES;
+ args[1].value.integer = lookahead_bytes;
+ grpc_channel_args channel_args = {GPR_ARRAY_SIZE(args), args};
+
grpc_end2end_test_fixture f =
- begin_test(config, "test_invoke_large_request", NULL, NULL);
+ begin_test(config, name, &channel_args, &channel_args);
+ gpr_free(name);
gpr_slice request_payload_slice = large_slice();
gpr_slice response_payload_slice = large_slice();
@@ -253,7 +270,26 @@ static void test_invoke_large_request(grpc_end2end_test_config config) {
}
void invoke_large_request(grpc_end2end_test_config config) {
- test_invoke_large_request(config);
+ test_invoke_large_request(config, 16384, 65536);
+ test_invoke_large_request(config, 32768, 65536);
+
+ test_invoke_large_request(config, 1000000 - 1, 65536);
+ test_invoke_large_request(config, 1000000, 65536);
+ test_invoke_large_request(config, 1000000 + 1, 65536);
+ test_invoke_large_request(config, 1000000 + 2, 65536);
+ test_invoke_large_request(config, 1000000 + 3, 65536);
+ test_invoke_large_request(config, 1000000 + 4, 65536);
+ test_invoke_large_request(config, 1000000 + 5, 65536);
+ test_invoke_large_request(config, 1000000 + 6, 65536);
+
+ test_invoke_large_request(config, 1000000 - 1, 2000000);
+ test_invoke_large_request(config, 1000000, 2000000);
+ test_invoke_large_request(config, 1000000 + 1, 2000000);
+ test_invoke_large_request(config, 1000000 + 2, 2000000);
+ test_invoke_large_request(config, 1000000 + 3, 2000000);
+ test_invoke_large_request(config, 1000000 + 4, 2000000);
+ test_invoke_large_request(config, 1000000 + 5, 2000000);
+ test_invoke_large_request(config, 1000000 + 6, 2000000);
}
void invoke_large_request_pre_init(void) {}
diff --git a/test/core/transport/chttp2/hpack_encoder_test.c b/test/core/transport/chttp2/hpack_encoder_test.c
index 186bb6406f..1c1c74879b 100644
--- a/test/core/transport/chttp2/hpack_encoder_test.c
+++ b/test/core/transport/chttp2/hpack_encoder_test.c
@@ -97,7 +97,7 @@ static void verify(size_t window_available, int eof, size_t expect_window_used,
grpc_transport_one_way_stats stats;
memset(&stats, 0, sizeof(stats));
- grpc_chttp2_encode_header(&g_compressor, 0xdeadbeef, &b, eof, &stats,
+ grpc_chttp2_encode_header(&g_compressor, 0xdeadbeef, &b, eof, 16384, &stats,
&output);
merged = grpc_slice_merge(output.slices, output.count);
gpr_slice_buffer_destroy(&output);
@@ -202,7 +202,8 @@ static void verify_table_size_change_match_elem_size(const char *key,
grpc_transport_one_way_stats stats;
memset(&stats, 0, sizeof(stats));
- grpc_chttp2_encode_header(&g_compressor, 0xdeadbeef, &b, 0, &stats, &output);
+ grpc_chttp2_encode_header(&g_compressor, 0xdeadbeef, &b, 0, 16384, &stats,
+ &output);
gpr_slice_buffer_destroy(&output);
grpc_metadata_batch_destroy(&b);