diff options
author | 2015-11-21 09:00:11 -0800 | |
---|---|---|
committer | 2015-11-21 09:00:11 -0800 | |
commit | d653b394714b1fa342f0872c8262c8cde5511f4b (patch) | |
tree | 91573a209f253d58bb4a8b14d759db7e80167b3a /tools/run_tests | |
parent | 860f484f43841d14df61cfeda6ca5e637ed99d19 (diff) | |
parent | ceb7318d794b4174e18364f6780a5d20e6249e23 (diff) |
Merge github.com:grpc/grpc into better-profile
Diffstat (limited to 'tools/run_tests')
-rwxr-xr-x | tools/run_tests/dockerjob.py | 3 | ||||
-rwxr-xr-x | tools/run_tests/port_server.py | 2 | ||||
-rw-r--r-- | tools/run_tests/report_utils.py | 168 | ||||
-rwxr-xr-x | tools/run_tests/run_interop_tests.py | 16 | ||||
-rwxr-xr-x | tools/run_tests/run_tests.py | 30 | ||||
-rw-r--r-- | tools/run_tests/sources_and_headers.json | 337 | ||||
-rw-r--r-- | tools/run_tests/tests.json | 320 |
7 files changed, 722 insertions, 154 deletions
diff --git a/tools/run_tests/dockerjob.py b/tools/run_tests/dockerjob.py index 7d64222ba0..326c4faed9 100755 --- a/tools/run_tests/dockerjob.py +++ b/tools/run_tests/dockerjob.py @@ -47,6 +47,7 @@ def random_name(base_name): def docker_kill(cid): """Kills a docker container. Returns True if successful.""" return subprocess.call(['docker','kill', str(cid)], + stdin=subprocess.PIPE, stdout=_DEVNULL, stderr=subprocess.STDOUT) == 0 @@ -78,6 +79,7 @@ def finish_jobs(jobs): def image_exists(image): """Returns True if given docker image exists.""" return subprocess.call(['docker','inspect', image], + stdin=subprocess.PIPE, stdout=_DEVNULL, stderr=subprocess.STDOUT) == 0 @@ -88,6 +90,7 @@ def remove_image(image, skip_nonexistent=False, max_retries=10): return True for attempt in range(0, max_retries): if subprocess.call(['docker','rmi', '-f', image], + stdin=subprocess.PIPE, stdout=_DEVNULL, stderr=subprocess.STDOUT) == 0: return True diff --git a/tools/run_tests/port_server.py b/tools/run_tests/port_server.py index 3b85486ebf..14e82b601e 100755 --- a/tools/run_tests/port_server.py +++ b/tools/run_tests/port_server.py @@ -42,7 +42,7 @@ import time # increment this number whenever making a change to ensure that # the changes are picked up by running CI servers # note that all changes must be backwards compatible -_MY_VERSION = 5 +_MY_VERSION = 7 if len(sys.argv) == 2 and sys.argv[1] == 'dump_version': diff --git a/tools/run_tests/report_utils.py b/tools/run_tests/report_utils.py index bb9eca4254..adeb707a07 100644 --- a/tools/run_tests/report_utils.py +++ b/tools/run_tests/report_utils.py @@ -29,6 +29,11 @@ """Generate XML and HTML test reports.""" +try: + from mako.runtime import Context + from mako.template import Template +except (ImportError): + pass # Mako not installed but it is ok. import os import string import xml.etree.cElementTree as ET @@ -49,7 +54,7 @@ def _filter_msg(msg, output_format): return msg -def render_xml_report(resultset, xml_report): +def render_junit_xml_report(resultset, xml_report): """Generate JUnit-like XML report.""" root = ET.Element('testsuites') testsuite = ET.SubElement(root, 'testsuite', id='1', package='grpc', @@ -69,147 +74,36 @@ def render_xml_report(resultset, xml_report): tree.write(xml_report, encoding='UTF-8') -# TODO(adelez): Use mako template. -def fill_one_test_result(shortname, resultset, html_str): - if shortname in resultset: - # Because interop tests does not have runs_per_test flag, each test is run - # once. So there should only be one element for each result. - result = resultset[shortname][0] - if result.state == 'PASSED': - html_str = '%s<td bgcolor=\"green\">PASS</td>\n' % html_str - else: - tooltip = '' - if result.returncode > 0 or result.message: - if result.returncode > 0: - tooltip = 'returncode: %d ' % result.returncode - if result.message: - escaped_msg = _filter_msg(result.message, 'HTML') - tooltip = '%smessage: %s' % (tooltip, escaped_msg) - if result.state == 'FAILED': - html_str = '%s<td bgcolor=\"red\">' % html_str - if tooltip: - html_str = ('%s<a href=\"#\" data-toggle=\"tooltip\" ' - 'data-placement=\"auto\" title=\"%s\">FAIL</a></td>\n' % - (html_str, tooltip)) - else: - html_str = '%sFAIL</td>\n' % html_str - elif result.state == 'TIMEOUT': - html_str = '%s<td bgcolor=\"yellow\">' % html_str - if tooltip: - html_str = ('%s<a href=\"#\" data-toggle=\"tooltip\" ' - 'data-placement=\"auto\" title=\"%s\">TIMEOUT</a></td>\n' - % (html_str, tooltip)) - else: - html_str = '%sTIMEOUT</td>\n' % html_str - else: - html_str = '%s<td bgcolor=\"magenta\">Not implemented</td>\n' % html_str - - return html_str - +def render_interop_html_report( + client_langs, server_langs, test_cases, auth_test_cases, http2_cases, + resultset, num_failures, cloud_to_prod, http2_interop): + """Generate HTML report for interop tests.""" + html_report_dir = 'reports' + template_file = os.path.join(html_report_dir, 'interop_html_report.template') + try: + mytemplate = Template(filename=template_file, format_exceptions=True) + except NameError: + print 'Mako template is not installed. Skipping HTML report generation.' + return + except IOError as e: + print 'Failed to find the template %s: %s' % (template_file, e) + return -def render_html_report(client_langs, server_langs, test_cases, auth_test_cases, - http2_cases, resultset, num_failures, cloud_to_prod, - http2_interop): - """Generate html report.""" sorted_test_cases = sorted(test_cases) sorted_auth_test_cases = sorted(auth_test_cases) sorted_http2_cases = sorted(http2_cases) sorted_client_langs = sorted(client_langs) sorted_server_langs = sorted(server_langs) - html_str = ('<!DOCTYPE html>\n' - '<html lang=\"en\">\n' - '<head><title>Interop Test Result</title></head>\n' - '<body>\n') - if num_failures > 1: - html_str = ( - '%s<p><h2><font color=\"red\">%d tests failed!</font></h2></p>\n' % - (html_str, num_failures)) - elif num_failures: - html_str = ( - '%s<p><h2><font color=\"red\">%d test failed!</font></h2></p>\n' % - (html_str, num_failures)) - else: - html_str = ( - '%s<p><h2><font color=\"green\">All tests passed!</font></h2></p>\n' % - html_str) - if cloud_to_prod: - # Each column header is the client language. - html_str = ('%s<h2>Cloud to Prod</h2>\n' - '<table style=\"width:100%%\" border=\"1\">\n' - '<tr bgcolor=\"#00BFFF\">\n' - '<th>Client languages ►</th>\n') % html_str - for client_lang in sorted_client_langs: - html_str = '%s<th>%s\n' % (html_str, client_lang) - html_str = '%s</tr>\n' % html_str - for test_case in sorted_test_cases + sorted_auth_test_cases: - html_str = '%s<tr><td><b>%s</b></td>\n' % (html_str, test_case) - for client_lang in sorted_client_langs: - if not test_case in sorted_auth_test_cases: - shortname = 'cloud_to_prod:%s:%s' % (client_lang, test_case) - else: - shortname = 'cloud_to_prod_auth:%s:%s' % (client_lang, test_case) - html_str = fill_one_test_result(shortname, resultset, html_str) - html_str = '%s</tr>\n' % html_str - html_str = '%s</table>\n' % html_str - if http2_interop: - # Each column header is the server language. - html_str = ('%s<h2>HTTP/2 Interop</h2>\n' - '<table style=\"width:100%%\" border=\"1\">\n' - '<tr bgcolor=\"#00BFFF\">\n' - '<th>Servers ►<br/>' - 'Test Cases ▼</th>\n') % html_str - for server_lang in sorted_server_langs: - html_str = '%s<th>%s\n' % (html_str, server_lang) - if cloud_to_prod: - html_str = '%s<th>%s\n' % (html_str, "prod") - html_str = '%s</tr>\n' % html_str - for test_case in sorted_http2_cases: - html_str = '%s<tr><td><b>%s</b></td>\n' % (html_str, test_case) - # Fill up the cells with test result. - for server_lang in sorted_server_langs: - shortname = 'cloud_to_cloud:%s:%s_server:%s' % ( - "http2", server_lang, test_case) - html_str = fill_one_test_result(shortname, resultset, html_str) - if cloud_to_prod: - shortname = 'cloud_to_prod:%s:%s' % ("http2", test_case) - html_str = fill_one_test_result(shortname, resultset, html_str) - html_str = '%s</tr>\n' % html_str - html_str = '%s</table>\n' % html_str - if server_langs: - for test_case in sorted_test_cases: - # Each column header is the client language. - html_str = ('%s<h2>%s</h2>\n' - '<table style=\"width:100%%\" border=\"1\">\n' - '<tr bgcolor=\"#00BFFF\">\n' - '<th>Client languages ►<br/>' - 'Server languages ▼</th>\n') % (html_str, test_case) - for client_lang in sorted_client_langs: - html_str = '%s<th>%s\n' % (html_str, client_lang) - html_str = '%s</tr>\n' % html_str - # Each row head is the server language. - for server_lang in sorted_server_langs: - html_str = '%s<tr><td><b>%s</b></td>\n' % (html_str, server_lang) - # Fill up the cells with test result. - for client_lang in sorted_client_langs: - shortname = 'cloud_to_cloud:%s:%s_server:%s' % ( - client_lang, server_lang, test_case) - html_str = fill_one_test_result(shortname, resultset, html_str) - html_str = '%s</tr>\n' % html_str - html_str = '%s</table>\n' % html_str - html_str = ('%s\n' - '<script>\n' - '$(document).ready(function(){' - '$(\'[data-toggle=\"tooltip\"]\').tooltip();\n' - '});\n' - '</script>\n' - '</body>\n' - '</html>') % html_str - - # Write to reports/index.html as set up in Jenkins plugin. - html_report_dir = 'reports' - if not os.path.exists(html_report_dir): - os.mkdir(html_report_dir) + args = {'client_langs': sorted_client_langs, + 'server_langs': sorted_server_langs, + 'test_cases': sorted_test_cases, + 'auth_test_cases': sorted_auth_test_cases, + 'http2_cases': sorted_http2_cases, + 'resultset': resultset, + 'num_failures': num_failures, + 'cloud_to_prod': cloud_to_prod, + 'http2_interop': http2_interop} html_file_path = os.path.join(html_report_dir, 'index.html') - with open(html_file_path, 'w') as f: - f.write(html_str) + with open(html_file_path, 'w') as output_file: + mytemplate.render_context(Context(output_file, **args)) diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py index 1686942b0a..5435a1d02f 100755 --- a/tools/run_tests/run_interop_tests.py +++ b/tools/run_tests/run_interop_tests.py @@ -37,7 +37,6 @@ import jobset import multiprocessing import os import report_utils -import subprocess import sys import tempfile import time @@ -170,7 +169,7 @@ class Http2Client: self.safename = str(self) def client_args(self): - return ['tools/http2_interop/http2_interop.test'] + return ['tools/http2_interop/http2_interop.test', '-test.v'] def cloud_to_prod_env(self): return {} @@ -306,7 +305,7 @@ _TEST_CASES = ['large_unary', 'empty_unary', 'ping_pong', _AUTH_TEST_CASES = ['compute_engine_creds', 'jwt_token_creds', 'oauth2_auth_token', 'per_rpc_creds'] -_HTTP2_TEST_CASES = ["tls"] +_HTTP2_TEST_CASES = ["tls", "framing"] def docker_run_cmdline(cmdline, image, docker_args=[], cwd=None, environ=None): """Wraps given cmdline array to create 'docker run' cmdline from it.""" @@ -624,7 +623,9 @@ try: docker_image=docker_images.get(str(language))) jobs.append(test_job) - if args.http2_interop: + # TODO(carl-mastrangelo): Currently prod TLS terminators aren't spec compliant. Reenable + # this once a better solution is in place. + if args.http2_interop and False: for test_case in _HTTP2_TEST_CASES: test_job = cloud_to_prod_jobspec(http2Interop, test_case, docker_image=docker_images.get(str(http2Interop))) @@ -660,6 +661,9 @@ try: if args.http2_interop: for test_case in _HTTP2_TEST_CASES: + if server_name == "go": + # TODO(carl-mastrangelo): Reenable after https://github.com/grpc/grpc-go/issues/434 + continue test_job = cloud_to_cloud_jobspec(http2Interop, test_case, server_name, @@ -681,9 +685,9 @@ try: else: jobset.message('SUCCESS', 'All tests passed', do_newline=True) - report_utils.render_xml_report(resultset, 'report.xml') + report_utils.render_junit_xml_report(resultset, 'report.xml') - report_utils.render_html_report( + report_utils.render_interop_html_report( set([str(l) for l in languages]), servers, _TEST_CASES, _AUTH_TEST_CASES, _HTTP2_TEST_CASES, resultset, num_failures, args.cloud_to_prod_auth or args.cloud_to_prod, args.http2_interop) diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index 85c73d6fbd..2d12adebbb 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -485,10 +485,10 @@ _CONFIGS = { 'msan': SimpleConfig('msan', timeout_multiplier=1.5), 'ubsan': SimpleConfig('ubsan'), 'asan': SimpleConfig('asan', timeout_multiplier=1.5, environ={ - 'ASAN_OPTIONS': 'detect_leaks=1:color=always:suppressions=tools/tsan_suppressions.txt', + 'ASAN_OPTIONS': 'detect_leaks=1:color=always', 'LSAN_OPTIONS': 'report_objects=1'}), 'asan-noleaks': SimpleConfig('asan', environ={ - 'ASAN_OPTIONS': 'detect_leaks=0:color=always:suppressions=tools/tsan_suppressions.txt'}), + 'ASAN_OPTIONS': 'detect_leaks=0:color=always'}), 'gcov': SimpleConfig('gcov'), 'memcheck': ValgrindConfig('valgrind', 'memcheck', ['--leak-check=full']), 'helgrind': ValgrindConfig('dbg', 'helgrind') @@ -624,10 +624,15 @@ build_configs = set(cfg.build_config for cfg in run_configs) if args.travis: _FORCE_ENVIRON_FOR_WRAPPERS = {'GRPC_TRACE': 'api'} -languages = set(_LANGUAGES[l] - for l in itertools.chain.from_iterable( - _LANGUAGES.iterkeys() if x == 'all' else [x] - for x in args.language)) +if 'all' in args.language: + lang_list = _LANGUAGES.keys() +else: + lang_list = args.language +# We don't support code coverage on ObjC +if 'gcov' in args.config and 'objc' in lang_list: + lang_list.remove('objc') + +languages = set(_LANGUAGES[l] for l in lang_list) if len(build_configs) > 1: for language in languages: @@ -749,7 +754,8 @@ def _start_port_server(port_server_port): running = False if running: current_version = int(subprocess.check_output( - [sys.executable, 'tools/run_tests/port_server.py', 'dump_version'])) + [sys.executable, os.path.abspath('tools/run_tests/port_server.py'), + 'dump_version'])) print 'my port server is version %d' % current_version running = (version >= current_version) if not running: @@ -760,13 +766,18 @@ def _start_port_server(port_server_port): fd, logfile = tempfile.mkstemp() os.close(fd) print 'starting port_server, with log file %s' % logfile - args = [sys.executable, 'tools/run_tests/port_server.py', '-p', '%d' % port_server_port, '-l', logfile] + args = [sys.executable, os.path.abspath('tools/run_tests/port_server.py'), + '-p', '%d' % port_server_port, '-l', logfile] env = dict(os.environ) env['BUILD_ID'] = 'pleaseDontKillMeJenkins' if platform.system() == 'Windows': + # Working directory of port server needs to be outside of Jenkins + # workspace to prevent file lock issues. + tempdir = tempfile.mkdtemp() port_server = subprocess.Popen( args, env=env, + cwd=tempdir, creationflags = 0x00000008, # detached process close_fds=True) else: @@ -834,6 +845,7 @@ def _calculate_num_runs_failures(list_of_results): num_failures += jobresult.num_failures return num_runs, num_failures + def _build_and_run( check_cancelled, newline_on_success, cache, xml_report=None): """Do one pass of building & running tests.""" @@ -896,7 +908,7 @@ def _build_and_run( for antagonist in antagonists: antagonist.kill() if xml_report and resultset: - report_utils.render_xml_report(resultset, xml_report) + report_utils.render_junit_xml_report(resultset, xml_report) number_failures, _ = jobset.run( post_tests_steps, maxjobs=1, stop_on_failure=True, diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index d3493bbe2c..577cf4a19f 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -1401,6 +1401,25 @@ { "deps": [ "gpr", + "grpc", + "grpc++", + "grpc++_test_config" + ], + "headers": [ + "test/cpp/util/metrics_server.h", + "test/proto/metrics.grpc.pb.h", + "test/proto/metrics.pb.h" + ], + "language": "c++", + "name": "metrics_client", + "src": [ + "test/cpp/interop/metrics_client.cc", + "test/cpp/util/metrics_server.h" + ] + }, + { + "deps": [ + "gpr", "gpr_test_util", "grpc", "grpc++", @@ -1683,10 +1702,13 @@ "test/cpp/interop/client_helper.h", "test/cpp/interop/interop_client.h", "test/cpp/interop/stress_interop_client.h", + "test/cpp/util/metrics_server.h", "test/proto/empty.grpc.pb.h", "test/proto/empty.pb.h", "test/proto/messages.grpc.pb.h", "test/proto/messages.pb.h", + "test/proto/metrics.grpc.pb.h", + "test/proto/metrics.pb.h", "test/proto/test.grpc.pb.h", "test/proto/test.pb.h" ], @@ -1698,7 +1720,9 @@ "test/cpp/interop/interop_client.h", "test/cpp/interop/stress_interop_client.cc", "test/cpp/interop/stress_interop_client.h", - "test/cpp/interop/stress_test.cc" + "test/cpp/interop/stress_test.cc", + "test/cpp/util/metrics_server.cc", + "test/cpp/util/metrics_server.h" ] }, { @@ -2027,6 +2051,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_compress", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_compress_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_compress", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -2552,6 +2591,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_fakesec", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_fakesec_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_fakesec", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -3077,6 +3131,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_full", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_full_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_full", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -3602,6 +3671,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_full+poll", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_full+poll_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_full+poll", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -4127,6 +4211,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_oauth2", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_oauth2_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_oauth2", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -5072,6 +5171,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_sockpair", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_sockpair_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_sockpair", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -6002,6 +6116,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_sockpair_1byte", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_sockpair_1byte_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_sockpair_1byte", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -6512,6 +6641,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_ssl", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_ssl_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_ssl", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -7037,6 +7181,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_ssl+poll", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_ssl+poll_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_ssl+poll", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -8027,6 +8186,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_uchannel", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_uchannel_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_uchannel", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -8537,6 +8711,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_uds", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_uds_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_uds", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -9047,6 +9236,21 @@ "deps": [ "end2end_certs", "end2end_fixture_h2_uds+poll", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc", + "grpc_test_util" + ], + "headers": [], + "language": "c", + "name": "h2_uds+poll_hpack_size_test", + "src": [] + }, + { + "deps": [ + "end2end_certs", + "end2end_fixture_h2_uds+poll", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -9540,6 +9744,20 @@ { "deps": [ "end2end_fixture_h2_compress", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "h2_compress_hpack_size_nosec_test", + "src": [] + }, + { + "deps": [ + "end2end_fixture_h2_compress", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -10016,6 +10234,20 @@ { "deps": [ "end2end_fixture_h2_full", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "h2_full_hpack_size_nosec_test", + "src": [] + }, + { + "deps": [ + "end2end_fixture_h2_full", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -10492,6 +10724,20 @@ { "deps": [ "end2end_fixture_h2_full+poll", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "h2_full+poll_hpack_size_nosec_test", + "src": [] + }, + { + "deps": [ + "end2end_fixture_h2_full+poll", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -11346,6 +11592,20 @@ { "deps": [ "end2end_fixture_h2_sockpair", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "h2_sockpair_hpack_size_nosec_test", + "src": [] + }, + { + "deps": [ + "end2end_fixture_h2_sockpair", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -12186,6 +12446,20 @@ { "deps": [ "end2end_fixture_h2_sockpair_1byte", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "h2_sockpair_1byte_hpack_size_nosec_test", + "src": [] + }, + { + "deps": [ + "end2end_fixture_h2_sockpair_1byte", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -12648,6 +12922,20 @@ { "deps": [ "end2end_fixture_h2_uchannel", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "h2_uchannel_hpack_size_nosec_test", + "src": [] + }, + { + "deps": [ + "end2end_fixture_h2_uchannel", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -13110,6 +13398,20 @@ { "deps": [ "end2end_fixture_h2_uds", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "h2_uds_hpack_size_nosec_test", + "src": [] + }, + { + "deps": [ + "end2end_fixture_h2_uds", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -13572,6 +13874,20 @@ { "deps": [ "end2end_fixture_h2_uds+poll", + "end2end_test_hpack_size", + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [], + "language": "c", + "name": "h2_uds+poll_hpack_size_nosec_test", + "src": [] + }, + { + "deps": [ + "end2end_fixture_h2_uds+poll", "end2end_test_invoke_large_request", "gpr", "gpr_test_util", @@ -16033,6 +16349,25 @@ "test/core/end2end/tests/cancel_test_helpers.h" ], "language": "c", + "name": "end2end_test_hpack_size", + "src": [ + "test/core/end2end/end2end_tests.h", + "test/core/end2end/tests/cancel_test_helpers.h", + "test/core/end2end/tests/hpack_size.c" + ] + }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc_test_util_unsecure", + "grpc_unsecure" + ], + "headers": [ + "test/core/end2end/end2end_tests.h", + "test/core/end2end/tests/cancel_test_helpers.h" + ], + "language": "c", "name": "end2end_test_invoke_large_request", "src": [ "test/core/end2end/end2end_tests.h", diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index 00ef157e98..029fc5ec71 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -1965,6 +1965,24 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_compress_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_compress_invoke_large_request_test", "platforms": [ "linux", @@ -2577,6 +2595,23 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_fakesec_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_fakesec_invoke_large_request_test", "platforms": [ "linux", @@ -3190,6 +3225,24 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_full_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_full_invoke_large_request_test", "platforms": [ "linux", @@ -3715,6 +3768,18 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_full+poll_hpack_size_test", + "platforms": [ + "linux" + ] + }, + { + "ci_platforms": [ + "linux" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_full+poll_invoke_large_request_test", "platforms": [ "linux" @@ -4222,6 +4287,23 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_oauth2_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_oauth2_invoke_large_request_test", "platforms": [ "linux", @@ -5293,6 +5375,23 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_sockpair_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_sockpair_invoke_large_request_test", "platforms": [ "linux", @@ -6378,6 +6477,23 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_sockpair_1byte_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_sockpair_1byte_invoke_large_request_test", "platforms": [ "linux", @@ -6974,6 +7090,24 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_ssl_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_ssl_invoke_large_request_test", "platforms": [ "linux", @@ -7499,6 +7633,18 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_ssl+poll_hpack_size_test", + "platforms": [ + "linux" + ] + }, + { + "ci_platforms": [ + "linux" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_ssl+poll_invoke_large_request_test", "platforms": [ "linux" @@ -8551,6 +8697,24 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_uchannel_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_uchannel_invoke_large_request_test", "platforms": [ "linux", @@ -9130,6 +9294,22 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_uds_hpack_size_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_uds_invoke_large_request_test", "platforms": [ "linux", @@ -9608,6 +9788,18 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_uds+poll_hpack_size_test", + "platforms": [ + "linux" + ] + }, + { + "ci_platforms": [ + "linux" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_uds+poll_invoke_large_request_test", "platforms": [ "linux" @@ -10115,6 +10307,24 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_compress_hpack_size_nosec_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_compress_invoke_large_request_nosec_test", "platforms": [ "linux", @@ -10727,6 +10937,24 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_full_hpack_size_nosec_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_full_invoke_large_request_nosec_test", "platforms": [ "linux", @@ -11240,6 +11468,18 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_full+poll_hpack_size_nosec_test", + "platforms": [ + "linux" + ] + }, + { + "ci_platforms": [ + "linux" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_full+poll_invoke_large_request_nosec_test", "platforms": [ "linux" @@ -12189,6 +12429,23 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_sockpair_hpack_size_nosec_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_sockpair_invoke_large_request_nosec_test", "platforms": [ "linux", @@ -13239,6 +13496,23 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_sockpair_1byte_hpack_size_nosec_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_sockpair_1byte_invoke_large_request_nosec_test", "platforms": [ "linux", @@ -13817,6 +14091,24 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_uchannel_hpack_size_nosec_test", + "platforms": [ + "linux", + "mac", + "posix", + "windows" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix", + "windows" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_uchannel_invoke_large_request_nosec_test", "platforms": [ "linux", @@ -14380,6 +14672,22 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_uds_hpack_size_nosec_test", + "platforms": [ + "linux", + "mac", + "posix" + ] + }, + { + "ci_platforms": [ + "linux", + "mac", + "posix" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_uds_invoke_large_request_nosec_test", "platforms": [ "linux", @@ -14846,6 +15154,18 @@ "exclude_configs": [], "flaky": false, "language": "c", + "name": "h2_uds+poll_hpack_size_nosec_test", + "platforms": [ + "linux" + ] + }, + { + "ci_platforms": [ + "linux" + ], + "exclude_configs": [], + "flaky": false, + "language": "c", "name": "h2_uds+poll_invoke_large_request_nosec_test", "platforms": [ "linux" |