diff options
Diffstat (limited to 'tools/run_tests/run_interop_tests.py')
-rwxr-xr-x | tools/run_tests/run_interop_tests.py | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py index 80062aa37d..bde9115985 100755 --- a/tools/run_tests/run_interop_tests.py +++ b/tools/run_tests/run_interop_tests.py @@ -63,6 +63,13 @@ _TEST_TIMEOUT = 3*60 # see https://github.com/grpc/grpc/issues/9779 _SKIP_DATA_FRAME_PADDING = ['data_frame_padding'] +# report suffix is important for reports to get picked up by internal CI +_INTERNAL_CL_XML_REPORT = 'sponge_log.xml' + +# report suffix is important for reports to get picked up by internal CI +_XML_REPORT = 'report.xml' + + class CXXLanguage: def __init__(self): @@ -943,7 +950,12 @@ argp.add_argument('--insecure', action='store_const', const=True, help='Whether to use secure channel.') - +argp.add_argument('--internal_ci', + default=False, + action='store_const', + const=True, + help=('Put reports into subdirectories to improve ' + 'presentation of results by Internal CI.')) args = argp.parse_args() servers = set(s for s in itertools.chain.from_iterable(_SERVERS @@ -1201,7 +1213,10 @@ try: write_cmdlog_maybe(server_manual_cmd_log, 'interop_server_cmds.sh') write_cmdlog_maybe(client_manual_cmd_log, 'interop_client_cmds.sh') - report_utils.render_junit_xml_report(resultset, 'report.xml') + xml_report_name = _XML_REPORT + if args.internal_ci: + xml_report_name = _INTERNAL_CL_XML_REPORT + report_utils.render_junit_xml_report(resultset, xml_report_name) for name, job in resultset.items(): if "http2" in name: @@ -1215,6 +1230,11 @@ try: _HTTP2_TEST_CASES, http2_server_test_cases, resultset, num_failures, args.cloud_to_prod_auth or args.cloud_to_prod, args.prod_servers, args.http2_interop) + + if num_failures: + sys.exit(1) + else: + sys.exit(0) except Exception as e: print('exception occurred:') traceback.print_exc(file=sys.stdout) |