mirror of https://github.com/grpc/grpc.git
parent
d491897c40
commit
0fe5ee7be3
93 changed files with 16357 additions and 42064 deletions
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,156 @@ |
||||
#!/usr/bin/env python2.7 |
||||
# 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. |
||||
|
||||
import shutil |
||||
import sys |
||||
import os |
||||
import yaml |
||||
|
||||
boring_ssl_root = os.path.abspath(os.path.join( |
||||
os.path.dirname(sys.argv[0]), |
||||
'../../third_party/boringssl')) |
||||
sys.path.append(os.path.join(boring_ssl_root, 'util')) |
||||
|
||||
import generate_build_files |
||||
|
||||
def map_dir(filename): |
||||
if filename[0:4] == 'src/': |
||||
return 'third_party/boringssl/' + filename[4:] |
||||
else: |
||||
return 'src/boringssl/' + filename |
||||
|
||||
def map_testarg(arg): |
||||
if '/' in arg: |
||||
return 'third_party/boringssl/' + arg |
||||
else: |
||||
return arg |
||||
|
||||
class Grpc(object): |
||||
|
||||
yaml = None |
||||
|
||||
def WriteFiles(self, files, asm_outputs): |
||||
self.yaml = { |
||||
'#': 'generated with tools/buildgen/gen_boring_ssl_build_yaml.py', |
||||
'raw_boringssl_build_output_for_debugging': { |
||||
'files': files, |
||||
'asm_outputs': asm_outputs, |
||||
}, |
||||
'libs': [ |
||||
{ |
||||
'name': 'boringssl', |
||||
'build': 'private', |
||||
'language': 'c', |
||||
'secure': 'no', |
||||
'src': sorted( |
||||
map_dir(f) |
||||
for f in files['ssl'] + files['crypto'] |
||||
), |
||||
'headers': sorted( |
||||
map_dir(f) |
||||
for f in files['ssl_headers'] + files['ssl_internal_headers'] + files['crypto_headers'] + files['crypto_internal_headers'] |
||||
), |
||||
'boringssl': True, |
||||
}, |
||||
{ |
||||
'name': 'boringssl_test_util', |
||||
'build': 'private', |
||||
'language': 'c++', |
||||
'secure': 'no', |
||||
'boringssl': True, |
||||
'src': [ |
||||
map_dir(f) |
||||
for f in sorted(files['test_support']) |
||||
], |
||||
} |
||||
] + [ |
||||
{ |
||||
'name': 'boringssl_%s_lib' % os.path.splitext(os.path.basename(test))[0], |
||||
'build': 'private', |
||||
'secure': 'no', |
||||
'language': 'c' if os.path.splitext(test)[1] == '.c' else 'c++', |
||||
'src': [map_dir(test)], |
||||
'vs_proj_dir': 'test/boringssl', |
||||
'boringssl': True, |
||||
'deps': [ |
||||
'boringssl_test_util', |
||||
'boringssl', |
||||
] |
||||
} |
||||
for test in sorted(files['test']) |
||||
], |
||||
'targets': [ |
||||
{ |
||||
'name': 'boringssl_%s' % os.path.splitext(os.path.basename(test))[0], |
||||
'build': 'test', |
||||
'run': False, |
||||
'secure': 'no', |
||||
'language': 'c++', |
||||
'src': [], |
||||
'vs_proj_dir': 'test/boringssl', |
||||
'boringssl': True, |
||||
'deps': [ |
||||
'boringssl_%s_lib' % os.path.splitext(os.path.basename(test))[0], |
||||
'boringssl_test_util', |
||||
'boringssl', |
||||
] |
||||
} |
||||
for test in sorted(files['test']) |
||||
], |
||||
'tests': [ |
||||
{ |
||||
'name': 'boringssl_%s' % os.path.basename(test[0]), |
||||
'args': [map_testarg(arg) for arg in test[1:]], |
||||
'exclude_configs': ['asan'], |
||||
'ci_platforms': ['linux', 'mac', 'posix', 'windows'], |
||||
'platforms': ['linux', 'mac', 'posix', 'windows'], |
||||
'flaky': False, |
||||
'language': 'c++', |
||||
'boringssl': True |
||||
} |
||||
for test in files['tests'] |
||||
] |
||||
} |
||||
|
||||
|
||||
os.chdir(os.path.dirname(sys.argv[0])) |
||||
os.mkdir('src') |
||||
try: |
||||
for f in os.listdir(boring_ssl_root): |
||||
os.symlink(os.path.join(boring_ssl_root, f), |
||||
os.path.join('src', f)) |
||||
|
||||
g = Grpc() |
||||
generate_build_files.main([g]) |
||||
|
||||
print yaml.dump(g.yaml) |
||||
|
||||
finally: |
||||
shutil.rmtree('src') |
@ -0,0 +1,55 @@ |
||||
/*
|
||||
* |
||||
* 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. |
||||
* |
||||
*/ |
||||
|
||||
#ifndef GRPC_INTERNAL_CORE_TSI_SSL_TYPES_H |
||||
#define GRPC_INTERNAL_CORE_TSI_SSL_TYPES_H |
||||
|
||||
/* A collection of macros to cast between various integer types that are
|
||||
* used differently between BoringSSL and OpenSSL: |
||||
* TSI_INT_AS_SIZE(x): convert 'int x' to a length parameter for an OpenSSL |
||||
* function |
||||
* TSI_SIZE_AS_SIZE(x): convert 'size_t x' to a length parameter for an OpenSSL |
||||
* function |
||||
*/ |
||||
|
||||
#include <openssl/ssl.h> |
||||
|
||||
#ifdef OPENSSL_IS_BORINGSSL |
||||
#define TSI_INT_AS_SIZE(x) ((size_t)(x)) |
||||
#define TSI_SIZE_AS_SIZE(x) (x) |
||||
#else |
||||
#define TSI_INT_AS_SIZE(x) (x) |
||||
#define TSI_SIZE_AS_SIZE(x) ((int)(x)) |
||||
#endif |
||||
|
||||
#endif |
@ -0,0 +1,69 @@ |
||||
<%def name="end2end_selector(tests)"> |
||||
/* |
||||
* |
||||
* 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. |
||||
* |
||||
*/ |
||||
|
||||
<% tests = sorted(tests) %> |
||||
|
||||
/* This file is auto-generated */ |
||||
|
||||
#include "test/core/end2end/end2end_tests.h" |
||||
#include <string.h> |
||||
#include <grpc/support/log.h> |
||||
|
||||
% for test in tests: |
||||
extern void ${test}(grpc_end2end_test_config config); |
||||
% endfor |
||||
|
||||
void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config) { |
||||
int i; |
||||
|
||||
if (argc <= 1) { |
||||
% for test in tests: |
||||
${test}(config); |
||||
% endfor |
||||
return; |
||||
} |
||||
|
||||
for (i = 1; i < argc; i++) { |
||||
% for test in tests: |
||||
if (0 == strcmp("${test}", argv[i])) { |
||||
${test}(config); |
||||
continue; |
||||
} |
||||
% endfor |
||||
gpr_log(GPR_DEBUG, "not a test: '%%s'", argv[i]); |
||||
abort(); |
||||
} |
||||
} |
||||
</%def> |
||||
|
@ -0,0 +1,5 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
<%namespace file="end2end_defs.include" import="*"/> |
||||
${end2end_selector(k for k, v in core_end2end_tests.iteritems() if not v)} |
||||
|
@ -0,0 +1,5 @@ |
||||
%YAML 1.2 |
||||
--- | |
||||
<%namespace file="end2end_defs.include" import="*"/> |
||||
${end2end_selector(core_end2end_tests.keys())} |
||||
|
@ -0,0 +1,267 @@ |
||||
|
||||
|
||||
/*
|
||||
* |
||||
* 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. |
||||
* |
||||
*/ |
||||
|
||||
|
||||
|
||||
/* This file is auto-generated */ |
||||
|
||||
#include "test/core/end2end/end2end_tests.h" |
||||
#include <string.h> |
||||
#include <grpc/support/log.h> |
||||
|
||||
extern void bad_hostname(grpc_end2end_test_config config); |
||||
extern void binary_metadata(grpc_end2end_test_config config); |
||||
extern void cancel_after_accept(grpc_end2end_test_config config); |
||||
extern void cancel_after_client_done(grpc_end2end_test_config config); |
||||
extern void cancel_after_invoke(grpc_end2end_test_config config); |
||||
extern void cancel_before_invoke(grpc_end2end_test_config config); |
||||
extern void cancel_in_a_vacuum(grpc_end2end_test_config config); |
||||
extern void cancel_with_status(grpc_end2end_test_config config); |
||||
extern void channel_connectivity(grpc_end2end_test_config config); |
||||
extern void channel_ping(grpc_end2end_test_config config); |
||||
extern void compressed_payload(grpc_end2end_test_config config); |
||||
extern void default_host(grpc_end2end_test_config config); |
||||
extern void disappearing_server(grpc_end2end_test_config config); |
||||
extern void empty_batch(grpc_end2end_test_config config); |
||||
extern void graceful_server_shutdown(grpc_end2end_test_config config); |
||||
extern void high_initial_seqno(grpc_end2end_test_config config); |
||||
extern void hpack_size(grpc_end2end_test_config config); |
||||
extern void invoke_large_request(grpc_end2end_test_config config); |
||||
extern void large_metadata(grpc_end2end_test_config config); |
||||
extern void max_concurrent_streams(grpc_end2end_test_config config); |
||||
extern void max_message_length(grpc_end2end_test_config config); |
||||
extern void metadata(grpc_end2end_test_config config); |
||||
extern void negative_deadline(grpc_end2end_test_config config); |
||||
extern void no_op(grpc_end2end_test_config config); |
||||
extern void payload(grpc_end2end_test_config config); |
||||
extern void ping_pong_streaming(grpc_end2end_test_config config); |
||||
extern void registered_call(grpc_end2end_test_config config); |
||||
extern void request_with_flags(grpc_end2end_test_config config); |
||||
extern void request_with_payload(grpc_end2end_test_config config); |
||||
extern void server_finishes_request(grpc_end2end_test_config config); |
||||
extern void shutdown_finishes_calls(grpc_end2end_test_config config); |
||||
extern void shutdown_finishes_tags(grpc_end2end_test_config config); |
||||
extern void simple_delayed_request(grpc_end2end_test_config config); |
||||
extern void simple_request(grpc_end2end_test_config config); |
||||
extern void trailing_metadata(grpc_end2end_test_config config); |
||||
|
||||
void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config) { |
||||
int i; |
||||
|
||||
if (argc <= 1) { |
||||
bad_hostname(config); |
||||
binary_metadata(config); |
||||
cancel_after_accept(config); |
||||
cancel_after_client_done(config); |
||||
cancel_after_invoke(config); |
||||
cancel_before_invoke(config); |
||||
cancel_in_a_vacuum(config); |
||||
cancel_with_status(config); |
||||
channel_connectivity(config); |
||||
channel_ping(config); |
||||
compressed_payload(config); |
||||
default_host(config); |
||||
disappearing_server(config); |
||||
empty_batch(config); |
||||
graceful_server_shutdown(config); |
||||
high_initial_seqno(config); |
||||
hpack_size(config); |
||||
invoke_large_request(config); |
||||
large_metadata(config); |
||||
max_concurrent_streams(config); |
||||
max_message_length(config); |
||||
metadata(config); |
||||
negative_deadline(config); |
||||
no_op(config); |
||||
payload(config); |
||||
ping_pong_streaming(config); |
||||
registered_call(config); |
||||
request_with_flags(config); |
||||
request_with_payload(config); |
||||
server_finishes_request(config); |
||||
shutdown_finishes_calls(config); |
||||
shutdown_finishes_tags(config); |
||||
simple_delayed_request(config); |
||||
simple_request(config); |
||||
trailing_metadata(config); |
||||
return; |
||||
} |
||||
|
||||
for (i = 1; i < argc; i++) { |
||||
if (0 == strcmp("bad_hostname", argv[i])) { |
||||
bad_hostname(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("binary_metadata", argv[i])) { |
||||
binary_metadata(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_after_accept", argv[i])) { |
||||
cancel_after_accept(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_after_client_done", argv[i])) { |
||||
cancel_after_client_done(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_after_invoke", argv[i])) { |
||||
cancel_after_invoke(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_before_invoke", argv[i])) { |
||||
cancel_before_invoke(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_in_a_vacuum", argv[i])) { |
||||
cancel_in_a_vacuum(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_with_status", argv[i])) { |
||||
cancel_with_status(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("channel_connectivity", argv[i])) { |
||||
channel_connectivity(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("channel_ping", argv[i])) { |
||||
channel_ping(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("compressed_payload", argv[i])) { |
||||
compressed_payload(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("default_host", argv[i])) { |
||||
default_host(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("disappearing_server", argv[i])) { |
||||
disappearing_server(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("empty_batch", argv[i])) { |
||||
empty_batch(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("graceful_server_shutdown", argv[i])) { |
||||
graceful_server_shutdown(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("high_initial_seqno", argv[i])) { |
||||
high_initial_seqno(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("hpack_size", argv[i])) { |
||||
hpack_size(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("invoke_large_request", argv[i])) { |
||||
invoke_large_request(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("large_metadata", argv[i])) { |
||||
large_metadata(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("max_concurrent_streams", argv[i])) { |
||||
max_concurrent_streams(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("max_message_length", argv[i])) { |
||||
max_message_length(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("metadata", argv[i])) { |
||||
metadata(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("negative_deadline", argv[i])) { |
||||
negative_deadline(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("no_op", argv[i])) { |
||||
no_op(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("payload", argv[i])) { |
||||
payload(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("ping_pong_streaming", argv[i])) { |
||||
ping_pong_streaming(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("registered_call", argv[i])) { |
||||
registered_call(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("request_with_flags", argv[i])) { |
||||
request_with_flags(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("request_with_payload", argv[i])) { |
||||
request_with_payload(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("server_finishes_request", argv[i])) { |
||||
server_finishes_request(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("shutdown_finishes_calls", argv[i])) { |
||||
shutdown_finishes_calls(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("shutdown_finishes_tags", argv[i])) { |
||||
shutdown_finishes_tags(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("simple_delayed_request", argv[i])) { |
||||
simple_delayed_request(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("simple_request", argv[i])) { |
||||
simple_request(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("trailing_metadata", argv[i])) { |
||||
trailing_metadata(config); |
||||
continue; |
||||
} |
||||
gpr_log(GPR_DEBUG, "not a test: '%%s'", argv[i]); |
||||
abort(); |
||||
} |
||||
} |
||||
|
@ -0,0 +1,273 @@ |
||||
|
||||
|
||||
/*
|
||||
* |
||||
* 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. |
||||
* |
||||
*/ |
||||
|
||||
|
||||
|
||||
/* This file is auto-generated */ |
||||
|
||||
#include "test/core/end2end/end2end_tests.h" |
||||
#include <string.h> |
||||
#include <grpc/support/log.h> |
||||
|
||||
extern void bad_hostname(grpc_end2end_test_config config); |
||||
extern void binary_metadata(grpc_end2end_test_config config); |
||||
extern void call_creds(grpc_end2end_test_config config); |
||||
extern void cancel_after_accept(grpc_end2end_test_config config); |
||||
extern void cancel_after_client_done(grpc_end2end_test_config config); |
||||
extern void cancel_after_invoke(grpc_end2end_test_config config); |
||||
extern void cancel_before_invoke(grpc_end2end_test_config config); |
||||
extern void cancel_in_a_vacuum(grpc_end2end_test_config config); |
||||
extern void cancel_with_status(grpc_end2end_test_config config); |
||||
extern void channel_connectivity(grpc_end2end_test_config config); |
||||
extern void channel_ping(grpc_end2end_test_config config); |
||||
extern void compressed_payload(grpc_end2end_test_config config); |
||||
extern void default_host(grpc_end2end_test_config config); |
||||
extern void disappearing_server(grpc_end2end_test_config config); |
||||
extern void empty_batch(grpc_end2end_test_config config); |
||||
extern void graceful_server_shutdown(grpc_end2end_test_config config); |
||||
extern void high_initial_seqno(grpc_end2end_test_config config); |
||||
extern void hpack_size(grpc_end2end_test_config config); |
||||
extern void invoke_large_request(grpc_end2end_test_config config); |
||||
extern void large_metadata(grpc_end2end_test_config config); |
||||
extern void max_concurrent_streams(grpc_end2end_test_config config); |
||||
extern void max_message_length(grpc_end2end_test_config config); |
||||
extern void metadata(grpc_end2end_test_config config); |
||||
extern void negative_deadline(grpc_end2end_test_config config); |
||||
extern void no_op(grpc_end2end_test_config config); |
||||
extern void payload(grpc_end2end_test_config config); |
||||
extern void ping_pong_streaming(grpc_end2end_test_config config); |
||||
extern void registered_call(grpc_end2end_test_config config); |
||||
extern void request_with_flags(grpc_end2end_test_config config); |
||||
extern void request_with_payload(grpc_end2end_test_config config); |
||||
extern void server_finishes_request(grpc_end2end_test_config config); |
||||
extern void shutdown_finishes_calls(grpc_end2end_test_config config); |
||||
extern void shutdown_finishes_tags(grpc_end2end_test_config config); |
||||
extern void simple_delayed_request(grpc_end2end_test_config config); |
||||
extern void simple_request(grpc_end2end_test_config config); |
||||
extern void trailing_metadata(grpc_end2end_test_config config); |
||||
|
||||
void grpc_end2end_tests(int argc, char **argv, grpc_end2end_test_config config) { |
||||
int i; |
||||
|
||||
if (argc <= 1) { |
||||
bad_hostname(config); |
||||
binary_metadata(config); |
||||
call_creds(config); |
||||
cancel_after_accept(config); |
||||
cancel_after_client_done(config); |
||||
cancel_after_invoke(config); |
||||
cancel_before_invoke(config); |
||||
cancel_in_a_vacuum(config); |
||||
cancel_with_status(config); |
||||
channel_connectivity(config); |
||||
channel_ping(config); |
||||
compressed_payload(config); |
||||
default_host(config); |
||||
disappearing_server(config); |
||||
empty_batch(config); |
||||
graceful_server_shutdown(config); |
||||
high_initial_seqno(config); |
||||
hpack_size(config); |
||||
invoke_large_request(config); |
||||
large_metadata(config); |
||||
max_concurrent_streams(config); |
||||
max_message_length(config); |
||||
metadata(config); |
||||
negative_deadline(config); |
||||
no_op(config); |
||||
payload(config); |
||||
ping_pong_streaming(config); |
||||
registered_call(config); |
||||
request_with_flags(config); |
||||
request_with_payload(config); |
||||
server_finishes_request(config); |
||||
shutdown_finishes_calls(config); |
||||
shutdown_finishes_tags(config); |
||||
simple_delayed_request(config); |
||||
simple_request(config); |
||||
trailing_metadata(config); |
||||
return; |
||||
} |
||||
|
||||
for (i = 1; i < argc; i++) { |
||||
if (0 == strcmp("bad_hostname", argv[i])) { |
||||
bad_hostname(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("binary_metadata", argv[i])) { |
||||
binary_metadata(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("call_creds", argv[i])) { |
||||
call_creds(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_after_accept", argv[i])) { |
||||
cancel_after_accept(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_after_client_done", argv[i])) { |
||||
cancel_after_client_done(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_after_invoke", argv[i])) { |
||||
cancel_after_invoke(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_before_invoke", argv[i])) { |
||||
cancel_before_invoke(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_in_a_vacuum", argv[i])) { |
||||
cancel_in_a_vacuum(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("cancel_with_status", argv[i])) { |
||||
cancel_with_status(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("channel_connectivity", argv[i])) { |
||||
channel_connectivity(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("channel_ping", argv[i])) { |
||||
channel_ping(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("compressed_payload", argv[i])) { |
||||
compressed_payload(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("default_host", argv[i])) { |
||||
default_host(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("disappearing_server", argv[i])) { |
||||
disappearing_server(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("empty_batch", argv[i])) { |
||||
empty_batch(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("graceful_server_shutdown", argv[i])) { |
||||
graceful_server_shutdown(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("high_initial_seqno", argv[i])) { |
||||
high_initial_seqno(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("hpack_size", argv[i])) { |
||||
hpack_size(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("invoke_large_request", argv[i])) { |
||||
invoke_large_request(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("large_metadata", argv[i])) { |
||||
large_metadata(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("max_concurrent_streams", argv[i])) { |
||||
max_concurrent_streams(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("max_message_length", argv[i])) { |
||||
max_message_length(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("metadata", argv[i])) { |
||||
metadata(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("negative_deadline", argv[i])) { |
||||
negative_deadline(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("no_op", argv[i])) { |
||||
no_op(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("payload", argv[i])) { |
||||
payload(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("ping_pong_streaming", argv[i])) { |
||||
ping_pong_streaming(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("registered_call", argv[i])) { |
||||
registered_call(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("request_with_flags", argv[i])) { |
||||
request_with_flags(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("request_with_payload", argv[i])) { |
||||
request_with_payload(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("server_finishes_request", argv[i])) { |
||||
server_finishes_request(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("shutdown_finishes_calls", argv[i])) { |
||||
shutdown_finishes_calls(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("shutdown_finishes_tags", argv[i])) { |
||||
shutdown_finishes_tags(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("simple_delayed_request", argv[i])) { |
||||
simple_delayed_request(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("simple_request", argv[i])) { |
||||
simple_request(config); |
||||
continue; |
||||
} |
||||
if (0 == strcmp("trailing_metadata", argv[i])) { |
||||
trailing_metadata(config); |
||||
continue; |
||||
} |
||||
gpr_log(GPR_DEBUG, "not a test: '%%s'", argv[i]); |
||||
abort(); |
||||
} |
||||
} |
||||
|
@ -0,0 +1 @@ |
||||
Subproject commit 9f897b25800d2f54f5c442ef01a60721aeca6d87 |
@ -0,0 +1,3 @@ |
||||
# this is busted in BoringSSL |
||||
leak:CRYPTO_set_thread_local |
||||
leak:err_get_state |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue