aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/http
diff options
context:
space:
mode:
authorGravatar Matthew Iselin <miselin@google.com>2016-04-06 16:32:08 -0700
committerGravatar Matthew Iselin <matthew@theiselins.net>2016-04-21 11:43:54 +1000
commit7151af94659f935c5e1f45b117caf7b33b5f2471 (patch)
treeef94265491513516f06fd912fa1745ed081d8dd4 /test/core/http
parente0cd55e353aba29043d5d09b12a3bcc048348841 (diff)
Allow grpc_http_parser to optionally accept a wider range of line endings.
Diffstat (limited to 'test/core/http')
-rw-r--r--test/core/http/parser_test.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/core/http/parser_test.c b/test/core/http/parser_test.c
index 10936754d9..7fdf60cc2b 100644
--- a/test/core/http/parser_test.c
+++ b/test/core/http/parser_test.c
@@ -238,6 +238,11 @@ int main(int argc, char **argv) {
"\r\n"
"hello world!",
200, "hello world!", "xyz", "abc", NULL);
+ test_succeeds(split_modes[i],
+ "HTTP/1.1 200 OK\n"
+ "\n"
+ "abc",
+ 200, "abc", NULL);
test_request_succeeds(split_modes[i],
"GET / HTTP/1.0\r\n"
"\r\n",
@@ -264,6 +269,11 @@ int main(int argc, char **argv) {
"xyz",
"GET", GRPC_HTTP_HTTP10, "/", "xyz", "xyz", "abc",
NULL);
+ test_request_succeeds(split_modes[i],
+ "GET / HTTP/1.0\n"
+ "\n"
+ "xyz",
+ "GET", GRPC_HTTP_HTTP10, "/", "xyz", NULL);
test_fails(split_modes[i], "HTTP/1.0\r\n");
test_fails(split_modes[i], "HTTP/1.2\r\n");
test_fails(split_modes[i], "HTTP/1.0 000 XYX\r\n");
@@ -281,6 +291,7 @@ int main(int argc, char **argv) {
test_fails(split_modes[i], "GET / HTTP/0.0\r\n");
test_fails(split_modes[i], "GET / ____/1.0\r\n");
test_fails(split_modes[i], "GET / HTTP/1.2\r\n");
+ test_fails(split_modes[i], "GET / HTTP/1.0\n");
tmp1 = gpr_malloc(2 * GRPC_HTTP_PARSER_MAX_HEADER_LENGTH);
memset(tmp1, 'a', 2 * GRPC_HTTP_PARSER_MAX_HEADER_LENGTH - 1);