30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
|
# 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):
|
||
|
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_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(":", "/")
|