Expand corpus, add test

pull/5846/head
Craig Tiller 9 years ago
parent b33d5cdeb8
commit 9366684d9f
  1. 30
      test/core/http/parser_test.c

@ -178,6 +178,32 @@ static void test_fails(grpc_slice_split_mode split_mode, char *response) {
gpr_free(slices);
}
static const uint8_t failed_test1[] = {
0x9e,0x48,0x54,0x54,0x50,0x2f,0x31,0x2e,0x30,0x4a,0x48,0x54,0x54,0x30,0x32,0x16,0xa,0x2f,0x48,0x20,0x31,0x2e,0x31,0x20,0x32,0x30,0x31,0x54,0x54,0xb9,0x32,0x31,0x2e,0x20,0x32,0x30,0x20,
};
typedef struct {
const char *name;
const uint8_t * data;
size_t length;
} failed_test;
#define FAILED_TEST(name) {#name, name, sizeof(name)}
failed_test failed_tests[] = {
FAILED_TEST(failed_test1),
};
static void test_doesnt_crash(failed_test t) {
gpr_log(GPR_DEBUG, "Run previously failed test: %s", t.name);
grpc_http_parser p;
grpc_http_parser_init(&p);
gpr_slice slice = gpr_slice_from_copied_buffer((const char*)t.data,t.length);
grpc_http_parser_parse(&p, slice);
gpr_slice_unref(slice);
grpc_http_parser_destroy(&p);
}
int main(int argc, char **argv) {
size_t i;
const grpc_slice_split_mode split_modes[] = {GRPC_SLICE_SPLIT_IDENTITY,
@ -186,6 +212,10 @@ int main(int argc, char **argv) {
grpc_test_init(argc, argv);
for (i=0; i<GPR_ARRAY_SIZE(failed_tests); i++) {
test_doesnt_crash(failed_tests[i]);
}
for (i = 0; i < GPR_ARRAY_SIZE(split_modes); i++) {
test_succeeds(split_modes[i],
"HTTP/1.0 200 OK\r\n"

Loading…
Cancel
Save