From ff1e2aa6bd95648f5f612a0d4713bba54df0f351 Mon Sep 17 00:00:00 2001 From: Craig Tiller <craig.tiller@gmail.com> Date: Mon, 14 Dec 2015 15:36:54 -0800 Subject: [PATCH] Ensure test fails if SSL connection succeeds --- src/core/transport/chttp2/alpn.c | 2 +- test/core/bad_ssl/bad_ssl_test.c | 2 +- test/core/bad_ssl/server.c | 21 +++++++++++++++++++-- test/core/bad_ssl/servers/alpn.c | 2 +- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/core/transport/chttp2/alpn.c b/src/core/transport/chttp2/alpn.c index 69da4e6718..cf2079953f 100644 --- a/src/core/transport/chttp2/alpn.c +++ b/src/core/transport/chttp2/alpn.c @@ -36,7 +36,7 @@ #include <grpc/support/useful.h> /* in order of preference */ -static const char *const supported_versions[] = {"h2"}; +static const char *const supported_versions[] = {"not-h2"}; int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size) { size_t i; diff --git a/test/core/bad_ssl/bad_ssl_test.c b/test/core/bad_ssl/bad_ssl_test.c index 08ab482c58..54ac6d0e1c 100644 --- a/test/core/bad_ssl/bad_ssl_test.c +++ b/test/core/bad_ssl/bad_ssl_test.c @@ -163,7 +163,7 @@ int main(int argc, char **argv) { grpc_shutdown(); } gpr_free(args[2]); - + gpr_subprocess_interrupt(svr); status = gpr_subprocess_join(svr); gpr_subprocess_destroy(svr); diff --git a/test/core/bad_ssl/server.c b/test/core/bad_ssl/server.c index 43312f1577..2ed94de099 100644 --- a/test/core/bad_ssl/server.c +++ b/test/core/bad_ssl/server.c @@ -62,11 +62,23 @@ void bad_ssl_run(grpc_server *server) { int shutdown_started = 0; int shutdown_finished = 0; grpc_event ev; - + grpc_call_error error; + grpc_call *s = NULL; + grpc_call_details call_details; + grpc_metadata_array request_metadata_recv; grpc_completion_queue *cq = grpc_completion_queue_create(NULL); + + grpc_call_details_init(&call_details); + grpc_metadata_array_init(&request_metadata_recv); + grpc_server_register_completion_queue(server, cq, NULL); grpc_server_start(server); + error = + grpc_server_request_call(server, &s, &call_details, + &request_metadata_recv, cq, cq, (void*)1); + GPR_ASSERT(GRPC_CALL_OK == error); + signal(SIGINT, sigint_handler); while (!shutdown_finished) { if (got_sigint && !shutdown_started) { @@ -84,7 +96,8 @@ void bad_ssl_run(grpc_server *server) { NULL); switch (ev.type) { case GRPC_OP_COMPLETE: - GPR_UNREACHABLE_CODE(gpr_log(GPR_DEBUG, "GRPC_OP_COMPLETE")); + GPR_ASSERT(ev.tag == (void*)1); + GPR_ASSERT(ev.success == 0); break; case GRPC_QUEUE_SHUTDOWN: GPR_ASSERT(shutdown_started); @@ -94,4 +107,8 @@ void bad_ssl_run(grpc_server *server) { break; } } + + GPR_ASSERT(s == NULL); + grpc_call_details_destroy(&call_details); + grpc_metadata_array_destroy(&request_metadata_recv); } diff --git a/test/core/bad_ssl/servers/alpn.c b/test/core/bad_ssl/servers/alpn.c index 7d70690e52..2623a9e654 100644 --- a/test/core/bad_ssl/servers/alpn.c +++ b/test/core/bad_ssl/servers/alpn.c @@ -46,7 +46,7 @@ * a protocol that the connecting client does not support. It does this by * overriding the functions declared in alpn.c from the core library. */ -static const char *const fake_versions[] = {"not-h2"}; +static const char *const fake_versions[] = {"h2"}; int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size) { size_t i; -- GitLab