From 3d7d5f4ed222b687ecbd03c172e1042b7d460304 Mon Sep 17 00:00:00 2001 From: Vijay Pai Date: Thu, 4 May 2017 10:02:24 -0700 Subject: Create inproc transport, add relevant tests, exclude irrelevant tests --- test/core/end2end/gen_build_yaml.py | 47 ++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 16 deletions(-) (limited to 'test/core/end2end/gen_build_yaml.py') diff --git a/test/core/end2end/gen_build_yaml.py b/test/core/end2end/gen_build_yaml.py index 6dffacf9d7..6878964c4f 100755 --- a/test/core/end2end/gen_build_yaml.py +++ b/test/core/end2end/gen_build_yaml.py @@ -24,15 +24,15 @@ import hashlib FixtureOptions = collections.namedtuple( 'FixtureOptions', - 'fullstack includes_proxy dns_resolver secure platforms ci_mac tracing exclude_configs exclude_iomgrs large_writes enables_compression') + 'fullstack includes_proxy dns_resolver name_resolution secure platforms ci_mac tracing exclude_configs exclude_iomgrs large_writes enables_compression supports_compression is_inproc is_http2') default_unsecure_fixture_options = FixtureOptions( - True, False, True, False, ['windows', 'linux', 'mac', 'posix'], True, False, [], [], True, False) + True, False, True, True, False, ['windows', 'linux', 'mac', 'posix'], True, False, [], [], True, False, True, False, True) socketpair_unsecure_fixture_options = default_unsecure_fixture_options._replace(fullstack=False, dns_resolver=False) default_secure_fixture_options = default_unsecure_fixture_options._replace(secure=True) uds_fixture_options = default_unsecure_fixture_options._replace(dns_resolver=False, platforms=['linux', 'mac', 'posix'], exclude_iomgrs=['uv']) fd_unsecure_fixture_options = default_unsecure_fixture_options._replace( dns_resolver=False, fullstack=False, platforms=['linux', 'mac', 'posix'], exclude_iomgrs=['uv']) - +inproc_fixture_options = default_unsecure_fixture_options._replace(dns_resolver=False, fullstack=False, name_resolution=False, supports_compression=False, is_inproc=True, is_http2=False) # maps fixture name to whether it requires the security library END2END_FIXTURES = { @@ -64,12 +64,13 @@ END2END_FIXTURES = { 'h2_ssl_proxy': default_secure_fixture_options._replace( includes_proxy=True, ci_mac=False, exclude_iomgrs=['uv']), 'h2_uds': uds_fixture_options, + 'inproc': inproc_fixture_options } TestOptions = collections.namedtuple( 'TestOptions', - 'needs_fullstack needs_dns proxyable secure traceable cpu_cost exclude_iomgrs large_writes flaky allow_compression') -default_test_options = TestOptions(False, False, True, False, True, 1.0, [], False, False, True) + 'needs_fullstack needs_dns needs_names proxyable secure traceable cpu_cost exclude_iomgrs large_writes flaky allows_compression needs_compression exclude_inproc needs_http2') +default_test_options = TestOptions(False, False, False, True, False, True, 1.0, [], False, False, True, False, False, False) connectivity_test_options = default_test_options._replace(needs_fullstack=True) LOWCPU = 0.1 @@ -77,12 +78,12 @@ LOWCPU = 0.1 # maps test names to options END2END_TESTS = { 'authority_not_supported': default_test_options, - 'bad_hostname': default_test_options, + 'bad_hostname': default_test_options._replace(needs_names=True), 'bad_ping': connectivity_test_options._replace(proxyable=False), 'binary_metadata': default_test_options._replace(cpu_cost=LOWCPU), 'resource_quota_server': default_test_options._replace(large_writes=True, proxyable=False, - allow_compression=False), + allows_compression=False), 'call_creds': default_test_options._replace(secure=True), 'cancel_after_accept': default_test_options._replace(cpu_cost=LOWCPU), 'cancel_after_client_done': default_test_options._replace(cpu_cost=LOWCPU), @@ -91,17 +92,17 @@ END2END_TESTS = { 'cancel_before_invoke': default_test_options._replace(cpu_cost=LOWCPU), 'cancel_in_a_vacuum': default_test_options._replace(cpu_cost=LOWCPU), 'cancel_with_status': default_test_options._replace(cpu_cost=LOWCPU), - 'compressed_payload': default_test_options._replace(proxyable=False), - 'connectivity': connectivity_test_options._replace( + 'compressed_payload': default_test_options._replace(proxyable=False,needs_compression=True), + 'connectivity': connectivity_test_options._replace(needs_names=True, proxyable=False, cpu_cost=LOWCPU, exclude_iomgrs=['uv']), 'default_host': default_test_options._replace(needs_fullstack=True, - needs_dns=True), - 'disappearing_server': connectivity_test_options._replace(flaky=True), + needs_dns=True,needs_names=True), + 'disappearing_server': connectivity_test_options._replace(flaky=True,needs_names=True), 'empty_batch': default_test_options._replace(cpu_cost=LOWCPU), 'filter_causes_close': default_test_options._replace(cpu_cost=LOWCPU), 'filter_call_init_fails': default_test_options, 'filter_latency': default_test_options._replace(cpu_cost=LOWCPU), - 'graceful_server_shutdown': default_test_options._replace(cpu_cost=LOWCPU), + 'graceful_server_shutdown': default_test_options._replace(cpu_cost=LOWCPU,exclude_inproc=True), 'hpack_size': default_test_options._replace(proxyable=False, traceable=False, cpu_cost=LOWCPU), @@ -109,11 +110,13 @@ END2END_TESTS = { 'idempotent_request': default_test_options, 'invoke_large_request': default_test_options, 'keepalive_timeout': default_test_options._replace(proxyable=False, - cpu_cost=LOWCPU), + cpu_cost=LOWCPU, + needs_http2=True), 'large_metadata': default_test_options, 'max_concurrent_streams': default_test_options._replace( - proxyable=False, cpu_cost=LOWCPU), - 'max_connection_age': default_test_options._replace(cpu_cost=LOWCPU), + proxyable=False, cpu_cost=LOWCPU, exclude_inproc=True), + 'max_connection_age': default_test_options._replace(cpu_cost=LOWCPU, + exclude_inproc=True), 'max_connection_idle': connectivity_test_options._replace( proxyable=False, exclude_iomgrs=['uv'], cpu_cost=LOWCPU), 'max_message_length': default_test_options._replace(cpu_cost=LOWCPU), @@ -151,6 +154,9 @@ def compatible(f, t): if END2END_TESTS[t].needs_dns: if not END2END_FIXTURES[f].dns_resolver: return False + if END2END_TESTS[t].needs_names: + if not END2END_FIXTURES[f].name_resolution: + return False if not END2END_TESTS[t].proxyable: if END2END_FIXTURES[f].includes_proxy: return False @@ -160,9 +166,18 @@ def compatible(f, t): if END2END_TESTS[t].large_writes: if not END2END_FIXTURES[f].large_writes: return False - if not END2END_TESTS[t].allow_compression: + if not END2END_TESTS[t].allows_compression: if END2END_FIXTURES[f].enables_compression: return False + if END2END_TESTS[t].needs_compression: + if not END2END_FIXTURES[f].supports_compression: + return False + if END2END_TESTS[t].exclude_inproc: + if END2END_FIXTURES[f].is_inproc: + return False + if END2END_TESTS[t].needs_http2: + if not END2END_FIXTURES[f].is_http2: + return False return True -- cgit v1.2.3