|
|
|
@ -39,9 +39,9 @@ import hashlib |
|
|
|
|
|
|
|
|
|
FixtureOptions = collections.namedtuple( |
|
|
|
|
'FixtureOptions', |
|
|
|
|
'fullstack includes_proxy dns_resolver secure platforms ci_mac tracing exclude_configs exclude_iomgrs large_writes') |
|
|
|
|
'fullstack includes_proxy dns_resolver secure platforms ci_mac tracing exclude_configs exclude_iomgrs large_writes enables_compression') |
|
|
|
|
default_unsecure_fixture_options = FixtureOptions( |
|
|
|
|
True, False, True, False, ['windows', 'linux', 'mac', 'posix'], True, False, [], [], True) |
|
|
|
|
True, False, True, False, ['windows', 'linux', 'mac', 'posix'], True, False, [], [], True, False) |
|
|
|
|
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']) |
|
|
|
@ -51,8 +51,7 @@ fd_unsecure_fixture_options = default_unsecure_fixture_options._replace( |
|
|
|
|
|
|
|
|
|
# maps fixture name to whether it requires the security library |
|
|
|
|
END2END_FIXTURES = { |
|
|
|
|
'h2_compress': default_unsecure_fixture_options, |
|
|
|
|
|
|
|
|
|
'h2_compress': default_unsecure_fixture_options._replace(enables_compression=True), |
|
|
|
|
'h2_census': default_unsecure_fixture_options, |
|
|
|
|
'h2_load_reporting': default_unsecure_fixture_options, |
|
|
|
|
'h2_fakesec': default_secure_fixture_options._replace(ci_mac=False), |
|
|
|
@ -83,8 +82,8 @@ END2END_FIXTURES = { |
|
|
|
|
|
|
|
|
|
TestOptions = collections.namedtuple( |
|
|
|
|
'TestOptions', |
|
|
|
|
'needs_fullstack needs_dns proxyable secure traceable cpu_cost exclude_iomgrs large_writes flaky') |
|
|
|
|
default_test_options = TestOptions(False, False, True, False, True, 1.0, [], False, False) |
|
|
|
|
'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) |
|
|
|
|
connectivity_test_options = default_test_options._replace(needs_fullstack=True) |
|
|
|
|
|
|
|
|
|
LOWCPU = 0.1 |
|
|
|
@ -94,12 +93,13 @@ END2END_TESTS = { |
|
|
|
|
'authority_not_supported': default_test_options, |
|
|
|
|
'bad_hostname': default_test_options, |
|
|
|
|
'bad_ping': connectivity_test_options._replace(proxyable=False), |
|
|
|
|
'binary_metadata': default_test_options, |
|
|
|
|
'binary_metadata': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'resource_quota_server': default_test_options._replace(large_writes=True, |
|
|
|
|
proxyable=False), |
|
|
|
|
proxyable=False, |
|
|
|
|
allow_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, |
|
|
|
|
'cancel_after_client_done': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'cancel_after_invoke': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'cancel_before_invoke': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'cancel_in_a_vacuum': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
@ -110,46 +110,49 @@ END2END_TESTS = { |
|
|
|
|
'default_host': default_test_options._replace(needs_fullstack=True, |
|
|
|
|
needs_dns=True), |
|
|
|
|
'disappearing_server': connectivity_test_options._replace(flaky=True), |
|
|
|
|
'empty_batch': default_test_options, |
|
|
|
|
'filter_causes_close': default_test_options, |
|
|
|
|
'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, |
|
|
|
|
'filter_latency': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'graceful_server_shutdown': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'hpack_size': default_test_options._replace(proxyable=False, |
|
|
|
|
traceable=False), |
|
|
|
|
'high_initial_seqno': default_test_options, |
|
|
|
|
traceable=False, |
|
|
|
|
cpu_cost=LOWCPU), |
|
|
|
|
'high_initial_seqno': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'idempotent_request': default_test_options, |
|
|
|
|
'invoke_large_request': default_test_options, |
|
|
|
|
'keepalive_timeout': default_test_options._replace(proxyable=False), |
|
|
|
|
'keepalive_timeout': default_test_options._replace(proxyable=False, |
|
|
|
|
cpu_cost=LOWCPU), |
|
|
|
|
'large_metadata': default_test_options, |
|
|
|
|
'max_concurrent_streams': default_test_options._replace(proxyable=False), |
|
|
|
|
'max_connection_age': 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), |
|
|
|
|
'max_connection_idle': connectivity_test_options._replace( |
|
|
|
|
proxyable=False, exclude_iomgrs=['uv']), |
|
|
|
|
'max_message_length': default_test_options, |
|
|
|
|
proxyable=False, exclude_iomgrs=['uv'], cpu_cost=LOWCPU), |
|
|
|
|
'max_message_length': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'negative_deadline': default_test_options, |
|
|
|
|
'network_status_change': default_test_options, |
|
|
|
|
'network_status_change': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'no_logging': default_test_options._replace(traceable=False), |
|
|
|
|
'no_op': default_test_options, |
|
|
|
|
'payload': default_test_options, |
|
|
|
|
'load_reporting_hook': default_test_options, |
|
|
|
|
'ping_pong_streaming': default_test_options, |
|
|
|
|
'ping': connectivity_test_options._replace(proxyable=False), |
|
|
|
|
'ping_pong_streaming': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'ping': connectivity_test_options._replace(proxyable=False, cpu_cost=LOWCPU), |
|
|
|
|
'registered_call': default_test_options, |
|
|
|
|
'request_with_flags': default_test_options._replace( |
|
|
|
|
proxyable=False, cpu_cost=LOWCPU), |
|
|
|
|
'request_with_payload': default_test_options, |
|
|
|
|
'server_finishes_request': default_test_options, |
|
|
|
|
'shutdown_finishes_calls': default_test_options, |
|
|
|
|
'shutdown_finishes_tags': default_test_options, |
|
|
|
|
'simple_cacheable_request': default_test_options, |
|
|
|
|
'request_with_payload': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'server_finishes_request': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'shutdown_finishes_calls': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'shutdown_finishes_tags': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'simple_cacheable_request': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'simple_delayed_request': connectivity_test_options, |
|
|
|
|
'simple_metadata': default_test_options, |
|
|
|
|
'simple_request': default_test_options, |
|
|
|
|
'streaming_error_response': default_test_options, |
|
|
|
|
'streaming_error_response': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'trailing_metadata': default_test_options, |
|
|
|
|
'write_buffering': default_test_options, |
|
|
|
|
'write_buffering_at_end': default_test_options, |
|
|
|
|
'write_buffering': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
'write_buffering_at_end': default_test_options._replace(cpu_cost=LOWCPU), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -169,6 +172,9 @@ 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 END2END_FIXTURES[f].enables_compression: |
|
|
|
|
return False |
|
|
|
|
return True |
|
|
|
|
|
|
|
|
|
|
|
|
|
|