| """Starlark definitions for Protobuf conformance tests. | 
 |  | 
 | PLEASE DO NOT DEPEND ON THE CONTENTS OF THIS FILE, IT IS UNSTABLE. | 
 | """ | 
 |  | 
 | def conformance_test( | 
 |         name, | 
 |         testee, | 
 |         failure_list = None, | 
 |         text_format_failure_list = None): | 
 |     """Conformance test runner. | 
 |  | 
 |     Args: | 
 |       name: the name for the test. | 
 |       testee: a conformance test client binary. | 
 |       failure_list: a text file with known failures, one per line. | 
 |       text_format_failure_list: a text file with known failures (one per line) | 
 |           for the text format conformance suite. | 
 |     """ | 
 |     args = ["--testee %s" % _strip_bazel(testee)] | 
 |     failure_lists = [] | 
 |     if failure_list: | 
 |         args = args + ["--failure_list %s" % _strip_bazel(failure_list)] | 
 |         failure_lists = failure_lists + [failure_list] | 
 |     if text_format_failure_list: | 
 |         args = args + ["--text_format_failure_list %s" % _strip_bazel(text_format_failure_list)] | 
 |         failure_lists = failure_lists + [text_format_failure_list] | 
 |  | 
 |     native.sh_test( | 
 |         name = name, | 
 |         srcs = ["//conformance:conformance_test_runner.sh"], | 
 |         data = [testee] + failure_lists + [ | 
 |             "//conformance:conformance_test_runner", | 
 |         ], | 
 |         args = args, | 
 |         deps = [ | 
 |             "@bazel_tools//tools/bash/runfiles", | 
 |         ], | 
 |     ) | 
 |  | 
 | def _strip_bazel(testee): | 
 |     if testee.startswith("//"): | 
 |         testee = testee.replace("//", "com_google_protobuf/") | 
 |     return testee.replace(":", "/") |