<%def name="fill_one_test_result(shortname, resultset)"> % 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': PASS % else: <% tooltip = '' if result.returncode > 0 or result.message: if result.returncode > 0: tooltip = 'returncode: %d ' % result.returncode if result.message: tooltip = '%smessage: %s' % (tooltip, result.message) %> % if result.state == 'FAILED': % if tooltip: FAIL % else: FAIL % endif % elif result.state == 'TIMEOUT': % if tooltip: TIMEOUT % else: TIMEOUT % endif % endif % endif % else: Not implemented % endif <%def name="fill_one_http2_test_result(shortname, resultset)"> ## keep this mostly in sync with the template above % 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.http2results:
${int(result.http2results['percent'] * 100)}%
% else: No result is found! % endif % else: Not implemented % endif <%def name="display_cloud_to_prod_result(prod_server)"> ## Each column header is the client language. % for client_lang in client_langs: % endfor % for test_case in test_cases + auth_test_cases: % for client_lang in client_langs: <% if test_case in auth_test_cases: shortname = 'cloud_to_prod_auth:%s:%s:%s' % ( prod_server, client_lang, test_case) else: shortname = 'cloud_to_prod:%s:%s:%s' % ( prod_server, client_lang, test_case) %> ${fill_one_test_result(shortname, resultset)} % endfor % endfor
Client languages ►
Test Cases ▼
${client_lang}
${test_case}
% if num_failures > 1:

${num_failures} tests failed!

% elif num_failures:

${num_failures} test failed!

% else:

All tests passed!

% endif % if cloud_to_prod: % for prod_server in prod_servers:

Cloud to ${prod_server}

${display_cloud_to_prod_result(prod_server)} % endfor % endif % if http2_server_cases:

HTTP/2 Server Tests

## Each column header is the client language. % for client_lang in client_langs: % endfor % for test_case in http2_server_cases: % for client_lang in client_langs: <% shortname = 'cloud_to_cloud:%s:http2_server:%s' % (client_lang, test_case) %> ${fill_one_test_result(shortname, resultset)} % endfor % endfor
Client languages ►
Test Cases ▼
${client_lang}
${test_case}
% endif % if http2_interop: ## Each column header is the server language.

HTTP/2 Interop

% for server_lang in server_langs: % endfor % if cloud_to_prod: % for prod_server in prod_servers: % endfor % endif % for test_case in http2_cases: ## Fill up the cells with test result. % for server_lang in server_langs: <% shortname = 'cloud_to_cloud:http2:%s_server:%s' % ( server_lang, test_case) %> ${fill_one_http2_test_result(shortname, resultset)} % endfor % if cloud_to_prod: % for prod_server in prod_servers: <% shortname = 'cloud_to_prod:%s:http2:%s' % (prod_server, test_case) %> ${fill_one_http2_test_result(shortname, resultset)} % endfor % endif % endfor
Servers ►
Test Cases ▼
${server_lang}${prod_server}
${test_case}
% endif % if server_langs: % for test_case in test_cases: ## Each column header is the client language.

${test_case}

% for client_lang in client_langs: % endfor ## Each row head is the server language. % for server_lang in server_langs: % for client_lang in client_langs: <% shortname = 'cloud_to_cloud:%s:%s_server:%s' % ( client_lang, server_lang, test_case) %> ${fill_one_test_result(shortname, resultset)} % endfor % endfor
Client languages ►
Server languages ▼
${client_lang}
${server_lang}
% endfor % endif