Add testing for GRPC_TRACE

pull/1642/head
Craig Tiller 10 years ago
parent ad654aca5e
commit eadd9a3b8c
  1. 1176
      Makefile
  2. 156
      test/core/end2end/fixtures/chttp2_socket_pair_with_grpc_trace.c
  3. 1
      test/core/end2end/gen_build_json.py
  4. 495
      tools/run_tests/tests.json
  5. 393
      vsprojects/Grpc.mak

1176
Makefile

File diff suppressed because one or more lines are too long

@ -0,0 +1,156 @@
/*
*
* Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following disclaimer
* in the documentation and/or other materials provided with the
* distribution.
* * Neither the name of Google Inc. nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#include "test/core/end2end/end2end_tests.h"
#include <string.h>
#include "src/core/channel/client_channel.h"
#include "src/core/channel/connected_channel.h"
#include "src/core/channel/http_client_filter.h"
#include "src/core/channel/http_server_filter.h"
#include "src/core/iomgr/endpoint_pair.h"
#include "src/core/iomgr/iomgr.h"
#include "src/core/support/env.h"
#include "src/core/surface/channel.h"
#include "src/core/surface/client.h"
#include "src/core/surface/server.h"
#include "src/core/transport/chttp2_transport.h"
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include <grpc/support/thd.h>
#include <grpc/support/useful.h>
#include "test/core/util/port.h"
#include "test/core/util/test_config.h"
/* chttp2 transport that is immediately available (used for testing
connected_channel without a client_channel */
static grpc_transport_setup_result server_setup_transport(
void *ts, grpc_transport *transport, grpc_mdctx *mdctx) {
grpc_end2end_test_fixture *f = ts;
static grpc_channel_filter const *extra_filters[] = {
&grpc_http_server_filter};
return grpc_server_setup_transport(f->server, transport, extra_filters,
GPR_ARRAY_SIZE(extra_filters), mdctx);
}
typedef struct {
grpc_end2end_test_fixture *f;
grpc_channel_args *client_args;
} sp_client_setup;
static grpc_transport_setup_result client_setup_transport(
void *ts, grpc_transport *transport, grpc_mdctx *mdctx) {
sp_client_setup *cs = ts;
const grpc_channel_filter *filters[] = {&grpc_client_surface_filter,
&grpc_http_client_filter,
&grpc_connected_channel_filter};
size_t nfilters = sizeof(filters) / sizeof(*filters);
grpc_channel *channel = grpc_channel_create_from_filters(
filters, nfilters, cs->client_args, mdctx, 1);
cs->f->client = channel;
return grpc_connected_channel_bind_transport(
grpc_channel_get_channel_stack(channel), transport);
}
static grpc_end2end_test_fixture chttp2_create_fixture_socketpair(
grpc_channel_args *client_args, grpc_channel_args *server_args) {
grpc_endpoint_pair *sfd = gpr_malloc(sizeof(grpc_endpoint_pair));
grpc_end2end_test_fixture f;
memset(&f, 0, sizeof(f));
f.fixture_data = sfd;
f.client_cq = grpc_completion_queue_create();
f.server_cq = grpc_completion_queue_create();
*sfd = grpc_iomgr_create_endpoint_pair(65536);
return f;
}
static void chttp2_init_client_socketpair(grpc_end2end_test_fixture *f,
grpc_channel_args *client_args) {
grpc_endpoint_pair *sfd = f->fixture_data;
sp_client_setup cs;
cs.client_args = client_args;
cs.f = f;
grpc_create_chttp2_transport(client_setup_transport, &cs, client_args,
sfd->client, NULL, 0, grpc_mdctx_create(), 1);
GPR_ASSERT(f->client);
}
static void chttp2_init_server_socketpair(grpc_end2end_test_fixture *f,
grpc_channel_args *server_args) {
grpc_endpoint_pair *sfd = f->fixture_data;
GPR_ASSERT(!f->server);
f->server = grpc_server_create_from_filters(NULL, 0, server_args);
grpc_server_register_completion_queue(f->server, f->server_cq);
grpc_server_start(f->server);
grpc_create_chttp2_transport(server_setup_transport, f, server_args,
sfd->server, NULL, 0, grpc_mdctx_create(), 0);
}
static void chttp2_tear_down_socketpair(grpc_end2end_test_fixture *f) {
gpr_free(f->fixture_data);
}
/* All test configurations */
static grpc_end2end_test_config configs[] = {
{"chttp2/socketpair", 0, chttp2_create_fixture_socketpair,
chttp2_init_client_socketpair, chttp2_init_server_socketpair,
chttp2_tear_down_socketpair},
};
int main(int argc, char **argv) {
size_t i;
/* force tracing on, with a value to force many
code paths in trace.c to be taken */
gpr_setenv("GRPC_TRACE", "doesnt-exist,http,all");
grpc_test_init(argc, argv);
grpc_init();
for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) {
grpc_end2end_tests(configs[i]);
}
grpc_shutdown();
return 0;
}

@ -49,6 +49,7 @@ END2END_FIXTURES = {
'chttp2_simple_ssl_with_oauth2_fullstack': default_secure_fixture_options,
'chttp2_socket_pair': default_unsecure_fixture_options,
'chttp2_socket_pair_one_byte_at_a_time': default_unsecure_fixture_options,
'chttp2_socket_pair_with_grpc_trace': default_unsecure_fixture_options,
}
TestOptions = collections.namedtuple('TestOptions', 'flaky secure')

@ -2431,6 +2431,258 @@
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": true,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_disappearing_server_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_empty_batch_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": true,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_max_message_length_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_no_op_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_registered_call_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_simple_delayed_request_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_simple_request_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
@ -3375,6 +3627,249 @@
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_disappearing_server_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": true,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_simple_delayed_request_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test",
"platforms": [
"windows",
"posix"
]
},
{
"flaky": false,
"language": "c",
"name": "chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test",
"platforms": [
"windows",
"posix"
]
}
]

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save