jobset.message('SUCCESS', 'All tests passed', do_newline=True) report_utils.append_junit_xml_results(_xml_report_tree, resultset, 'grpc_interop_matrix', suite_name, str(uuid.uuid4())) if not args.keep: cleanup(image) return total_num_failures def cleanup(image): jobset.message('START', 'Cleanup docker image %s' % image, do_newline=True) dockerjob.remove_image(image, skip_nonexistent=True) languages = args.language if args.language != ['all'] else _LANGUAGES total_num_failures = 0 for lang in languages: docker_images = find_all_images_for_lang(lang) for runtime in sorted(docker_images.keys()): total_num_failures += run_tests_for_lang(lang, runtime, docker_images[runtime]) report_utils.create_xml_report_file(_xml_report_tree, args.report_file) if total_num_failures: sys.exit(1) sys.exit(0)