|
|
|
@ -37,8 +37,11 @@ import collections |
|
|
|
|
import hashlib |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FixtureOptions = collections.namedtuple('FixtureOptions', 'fullstack includes_proxy dns_resolver secure platforms ci_mac tracing') |
|
|
|
|
default_unsecure_fixture_options = FixtureOptions(True, False, True, False, ['windows', 'linux', 'mac', 'posix'], True, False) |
|
|
|
|
FixtureOptions = collections.namedtuple( |
|
|
|
|
'FixtureOptions', |
|
|
|
|
'fullstack includes_proxy dns_resolver secure platforms ci_mac tracing') |
|
|
|
|
default_unsecure_fixture_options = FixtureOptions( |
|
|
|
|
True, False, True, False, ['windows', 'linux', 'mac', 'posix'], 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']) |
|
|
|
@ -49,21 +52,27 @@ END2END_FIXTURES = { |
|
|
|
|
'h2_compress': default_unsecure_fixture_options, |
|
|
|
|
'h2_fakesec': default_secure_fixture_options._replace(ci_mac=False), |
|
|
|
|
'h2_full': default_unsecure_fixture_options, |
|
|
|
|
'h2_full+poll': default_unsecure_fixture_options._replace(platforms=['linux']), |
|
|
|
|
'h2_full+poll': default_unsecure_fixture_options._replace( |
|
|
|
|
platforms=['linux']), |
|
|
|
|
'h2_oauth2': default_secure_fixture_options._replace(ci_mac=False), |
|
|
|
|
'h2_proxy': default_unsecure_fixture_options._replace(includes_proxy=True, ci_mac=False), |
|
|
|
|
'h2_sockpair_1byte': socketpair_unsecure_fixture_options._replace(ci_mac=False), |
|
|
|
|
'h2_proxy': default_unsecure_fixture_options._replace(includes_proxy=True, |
|
|
|
|
ci_mac=False), |
|
|
|
|
'h2_sockpair_1byte': socketpair_unsecure_fixture_options._replace( |
|
|
|
|
ci_mac=False), |
|
|
|
|
'h2_sockpair': socketpair_unsecure_fixture_options._replace(ci_mac=False), |
|
|
|
|
'h2_sockpair+trace': socketpair_unsecure_fixture_options._replace(tracing=True), |
|
|
|
|
'h2_sockpair+trace': socketpair_unsecure_fixture_options._replace( |
|
|
|
|
tracing=True), |
|
|
|
|
'h2_ssl': default_secure_fixture_options, |
|
|
|
|
'h2_ssl+poll': default_secure_fixture_options._replace(platforms=['linux']), |
|
|
|
|
'h2_ssl_proxy': default_secure_fixture_options._replace(includes_proxy=True, ci_mac=False), |
|
|
|
|
'h2_ssl_proxy': default_secure_fixture_options._replace(includes_proxy=True, |
|
|
|
|
ci_mac=False), |
|
|
|
|
'h2_uchannel': default_unsecure_fixture_options, |
|
|
|
|
'h2_uds+poll': uds_fixture_options._replace(platforms=['linux']), |
|
|
|
|
'h2_uds': uds_fixture_options, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
TestOptions = collections.namedtuple('TestOptions', 'needs_fullstack needs_dns proxyable flaky secure traceable') |
|
|
|
|
TestOptions = collections.namedtuple( |
|
|
|
|
'TestOptions', 'needs_fullstack needs_dns proxyable flaky secure traceable') |
|
|
|
|
default_test_options = TestOptions(False, False, True, False, False, True) |
|
|
|
|
connectivity_test_options = default_test_options._replace(needs_fullstack=True) |
|
|
|
|
|
|
|
|
@ -81,11 +90,13 @@ END2END_TESTS = { |
|
|
|
|
'census_simple_request': default_test_options, |
|
|
|
|
'channel_connectivity': connectivity_test_options._replace(proxyable=False), |
|
|
|
|
'compressed_payload': default_test_options._replace(proxyable=False), |
|
|
|
|
'default_host': default_test_options._replace(needs_fullstack=True, needs_dns=True), |
|
|
|
|
'default_host': default_test_options._replace(needs_fullstack=True, |
|
|
|
|
needs_dns=True), |
|
|
|
|
'disappearing_server': connectivity_test_options, |
|
|
|
|
'empty_batch': default_test_options, |
|
|
|
|
'graceful_server_shutdown': default_test_options, |
|
|
|
|
'hpack_size': default_test_options._replace(proxyable=False, traceable=False), |
|
|
|
|
'hpack_size': default_test_options._replace(proxyable=False, |
|
|
|
|
traceable=False), |
|
|
|
|
'high_initial_seqno': default_test_options, |
|
|
|
|
'invoke_large_request': default_test_options, |
|
|
|
|
'large_metadata': default_test_options, |
|
|
|
@ -153,12 +164,27 @@ def main(): |
|
|
|
|
'language': 'c', |
|
|
|
|
'secure': 'check' if END2END_FIXTURES[f].secure else False, |
|
|
|
|
'src': ['test/core/end2end/fixtures/%s.c' % f], |
|
|
|
|
'platforms': [ 'linux', 'mac', 'posix' ] if f.endswith('_posix') else END2END_FIXTURES[f].platforms, |
|
|
|
|
'deps': sec_deps if END2END_FIXTURES[f].secure else unsec_deps, |
|
|
|
|
'platforms': ['linux', 'mac', 'posix'] if f.endswith('_posix') |
|
|
|
|
else END2END_FIXTURES[f].platforms, |
|
|
|
|
'deps': sec_deps, |
|
|
|
|
'headers': ['test/core/end2end/end2end_tests.h'], |
|
|
|
|
'vs_proj_dir': 'test', |
|
|
|
|
} |
|
|
|
|
for f in sorted(END2END_FIXTURES.keys())] + [ |
|
|
|
|
} for f in sorted(END2END_FIXTURES.keys()) |
|
|
|
|
] + [ |
|
|
|
|
{ |
|
|
|
|
'name': 'end2end_nosec_fixture_%s' % f, |
|
|
|
|
'build': 'private', |
|
|
|
|
'language': 'c', |
|
|
|
|
'secure': False, |
|
|
|
|
'src': ['test/core/end2end/fixtures/%s.c' % f], |
|
|
|
|
'platforms': ['linux', 'mac', 'posix'] if f.endswith('_posix') |
|
|
|
|
else END2END_FIXTURES[f].platforms, |
|
|
|
|
'deps': unsec_deps, |
|
|
|
|
'headers': ['test/core/end2end/end2end_tests.h'], |
|
|
|
|
'vs_proj_dir': 'test', |
|
|
|
|
} for f in sorted(END2END_FIXTURES.keys()) |
|
|
|
|
if not END2END_FIXTURES[f].secure |
|
|
|
|
] + [ |
|
|
|
|
{ |
|
|
|
|
'name': 'end2end_test_%s' % t, |
|
|
|
|
'build': 'private', |
|
|
|
@ -167,10 +193,23 @@ def main(): |
|
|
|
|
'src': ['test/core/end2end/tests/%s.c' % t], |
|
|
|
|
'headers': ['test/core/end2end/tests/cancel_test_helpers.h', |
|
|
|
|
'test/core/end2end/end2end_tests.h'], |
|
|
|
|
'deps': sec_deps if END2END_TESTS[t].secure else unsec_deps, |
|
|
|
|
'deps': sec_deps, |
|
|
|
|
'vs_proj_dir': 'test', |
|
|
|
|
} |
|
|
|
|
for t in sorted(END2END_TESTS.keys())] + [ |
|
|
|
|
} for t in sorted(END2END_TESTS.keys()) |
|
|
|
|
] + [ |
|
|
|
|
{ |
|
|
|
|
'name': 'end2end_nosec_test_%s' % t, |
|
|
|
|
'build': 'private', |
|
|
|
|
'language': 'c', |
|
|
|
|
'secure': False, |
|
|
|
|
'src': ['test/core/end2end/tests/%s.c' % t], |
|
|
|
|
'headers': ['test/core/end2end/tests/cancel_test_helpers.h', |
|
|
|
|
'test/core/end2end/end2end_tests.h'], |
|
|
|
|
'deps': unsec_deps, |
|
|
|
|
'vs_proj_dir': 'test', |
|
|
|
|
} for t in sorted(END2END_TESTS.keys()) |
|
|
|
|
if not END2END_TESTS[t].secure |
|
|
|
|
] + [ |
|
|
|
|
{ |
|
|
|
|
'name': 'end2end_certs', |
|
|
|
|
'build': 'private', |
|
|
|
@ -182,7 +221,7 @@ def main(): |
|
|
|
|
], |
|
|
|
|
'vs_proj_dir': 'test', |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
], |
|
|
|
|
'targets': [ |
|
|
|
|
{ |
|
|
|
|
'name': '%s_%s_test' % (f, t), |
|
|
|
@ -191,17 +230,17 @@ def main(): |
|
|
|
|
'src': [], |
|
|
|
|
'flaky': END2END_TESTS[t].flaky, |
|
|
|
|
'platforms': END2END_FIXTURES[f].platforms, |
|
|
|
|
'ci_platforms': (END2END_FIXTURES[f].platforms |
|
|
|
|
if END2END_FIXTURES[f].ci_mac |
|
|
|
|
else without(END2END_FIXTURES[f].platforms, 'mac')), |
|
|
|
|
'ci_platforms': (END2END_FIXTURES[f].platforms |
|
|
|
|
if END2END_FIXTURES[f].ci_mac else without( |
|
|
|
|
END2END_FIXTURES[f].platforms, 'mac')), |
|
|
|
|
'deps': [ |
|
|
|
|
'end2end_fixture_%s' % f, |
|
|
|
|
'end2end_test_%s' % t] + sec_deps, |
|
|
|
|
'end2end_fixture_%s' % f, 'end2end_test_%s' % t |
|
|
|
|
] + sec_deps, |
|
|
|
|
'vs_proj_dir': 'test', |
|
|
|
|
} |
|
|
|
|
for f in sorted(END2END_FIXTURES.keys()) |
|
|
|
|
for t in sorted(END2END_TESTS.keys()) |
|
|
|
|
if compatible(f, t)] + [ |
|
|
|
|
for f in sorted(END2END_FIXTURES.keys()) |
|
|
|
|
for t in sorted(END2END_TESTS.keys()) if compatible(f, t) |
|
|
|
|
] + [ |
|
|
|
|
{ |
|
|
|
|
'name': '%s_%s_nosec_test' % (f, t), |
|
|
|
|
'build': 'test', |
|
|
|
@ -210,16 +249,20 @@ def main(): |
|
|
|
|
'src': [], |
|
|
|
|
'flaky': END2END_TESTS[t].flaky, |
|
|
|
|
'platforms': END2END_FIXTURES[f].platforms, |
|
|
|
|
'ci_platforms': (END2END_FIXTURES[f].platforms |
|
|
|
|
if END2END_FIXTURES[f].ci_mac |
|
|
|
|
else without(END2END_FIXTURES[f].platforms, 'mac')), |
|
|
|
|
'ci_platforms': (END2END_FIXTURES[f].platforms |
|
|
|
|
if END2END_FIXTURES[f].ci_mac else without( |
|
|
|
|
END2END_FIXTURES[f].platforms, 'mac')), |
|
|
|
|
'deps': [ |
|
|
|
|
'end2end_fixture_%s' % f, |
|
|
|
|
'end2end_test_%s' % t] + unsec_deps, |
|
|
|
|
'end2end_nosec_fixture_%s' % f, 'end2end_nosec_test_%s' % t |
|
|
|
|
] + unsec_deps, |
|
|
|
|
'vs_proj_dir': 'test', |
|
|
|
|
} |
|
|
|
|
for f in sorted(END2END_FIXTURES.keys()) if not END2END_FIXTURES[f].secure |
|
|
|
|
for t in sorted(END2END_TESTS.keys()) if compatible(f, t) and not END2END_TESTS[t].secure]} |
|
|
|
|
for f in sorted(END2END_FIXTURES.keys()) |
|
|
|
|
if not END2END_FIXTURES[f].secure |
|
|
|
|
for t in sorted(END2END_TESTS.keys()) |
|
|
|
|
if compatible(f, t) and not END2END_TESTS[t].secure |
|
|
|
|
] |
|
|
|
|
} |
|
|
|
|
print yaml.dump(json) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|