aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/bad_client/tests/initial_settings_frame.c
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-12-16 19:25:58 -0800
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-12-16 19:25:58 -0800
commit86e8ad8ddf6bbbb59327cee2383d7ec414e06c71 (patch)
tree1eacf02d534f6c246597c800988f7091306d558b /test/core/bad_client/tests/initial_settings_frame.c
parentc8b7013be30f003e501e743cec856c739db3e160 (diff)
parent788767a18f918131268ca88985b3547a8257e973 (diff)
Merge github.com:grpc/grpc into big_data
Diffstat (limited to 'test/core/bad_client/tests/initial_settings_frame.c')
-rw-r--r--test/core/bad_client/tests/initial_settings_frame.c21
1 files changed, 17 insertions, 4 deletions
diff --git a/test/core/bad_client/tests/initial_settings_frame.c b/test/core/bad_client/tests/initial_settings_frame.c
index 129c667f71..fb6149cc3b 100644
--- a/test/core/bad_client/tests/initial_settings_frame.c
+++ b/test/core/bad_client/tests/initial_settings_frame.c
@@ -37,7 +37,8 @@
#define PFX_STR "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
#define ONE_SETTING_HDR "\x00\x00\x06\x04\x00\x00\x00\x00\x00"
-static void verifier(grpc_server *server, grpc_completion_queue *cq) {
+static void verifier(grpc_server *server, grpc_completion_queue *cq,
+ void *registered_method) {
while (grpc_server_has_open_connections(server)) {
GPR_ASSERT(grpc_completion_queue_next(cq,
GRPC_TIMEOUT_MILLIS_TO_DEADLINE(20),
@@ -94,14 +95,26 @@ int main(int argc, char **argv) {
/* some settings values are illegal */
/* max frame size = 0 */
GRPC_RUN_BAD_CLIENT_TEST(verifier,
- PFX_STR ONE_SETTING_HDR "\x00\x05\x00\x00\x00\x00",
+ PFX_STR ONE_SETTING_HDR "\x00\x05\x00\x00\x00\x00",
GRPC_BAD_CLIENT_DISCONNECT);
GRPC_RUN_BAD_CLIENT_TEST(verifier,
- PFX_STR ONE_SETTING_HDR "\x00\x06\xff\xff\xff\xff",
+ PFX_STR ONE_SETTING_HDR "\x00\x06\xff\xff\xff\xff",
GRPC_BAD_CLIENT_DISCONNECT);
/* update intiial window size */
GRPC_RUN_BAD_CLIENT_TEST(verifier,
- PFX_STR ONE_SETTING_HDR "\x00\x04\x00\x01\x00\x00",
+ PFX_STR ONE_SETTING_HDR "\x00\x04\x00\x01\x00\x00",
+ GRPC_BAD_CLIENT_DISCONNECT);
+ /* ack with data */
+ GRPC_RUN_BAD_CLIENT_TEST(verifier, PFX_STR
+ "\x00\x00\x00\x04\x00\x00\x00\x00\x00"
+ "\x00\x00\x01\x04\x01\x00\x00\x00\x00",
+ 0);
+ /* settings frame with invalid flags */
+ GRPC_RUN_BAD_CLIENT_TEST(verifier,
+ PFX_STR "\x00\x00\x00\x04\x10\x00\x00\x00\x00", 0);
+ /* unknown settings should be ignored */
+ GRPC_RUN_BAD_CLIENT_TEST(verifier,
+ PFX_STR ONE_SETTING_HDR "\x00\x99\x00\x00\x00\x00",
GRPC_BAD_CLIENT_DISCONNECT);
return 0;