make end2end bazel test generator work on non-linux as well

pull/20265/head
Jan Tattermusch 5 years ago
parent 3ece581720
commit dffece9657
  1. 51
      test/core/end2end/generate_tests.bzl

@ -46,7 +46,7 @@ def _fixture_options(
supports_write_buffering = supports_write_buffering, supports_write_buffering = supports_write_buffering,
client_channel = client_channel, client_channel = client_channel,
supports_msvc = supports_msvc, supports_msvc = supports_msvc,
#_platforms=_platforms, _platforms=_platforms,
) )
# maps fixture name to whether it requires the security library # maps fixture name to whether it requires the security library
@ -368,6 +368,16 @@ def _compatible(fopt, topt):
return False return False
return True return True
def _platform_support_tags(fopt):
result = []
if not "windows" in fopt._platforms:
result += ["no_windows"]
if not "mac" in fopt._platforms:
result += ["no_mac"]
if not "linux" in fopt._platforms:
result += ["no_linux"]
return result
def grpc_end2end_tests(): def grpc_end2end_tests():
grpc_cc_library( grpc_cc_library(
name = "end2end_tests", name = "end2end_tests",
@ -386,8 +396,7 @@ def grpc_end2end_tests():
":http_proxy", ":http_proxy",
":proxy", ":proxy",
":local_util", ":local_util",
], ]
tags = ["no_windows"],
) )
for f, fopt in END2END_FIXTURES.items(): for f, fopt in END2END_FIXTURES.items():
@ -401,12 +410,25 @@ def grpc_end2end_tests():
"//:grpc", "//:grpc",
"//:gpr", "//:gpr",
], ],
tags = ["no_windows"], tags = _platform_support_tags(fopt),
) )
for t, topt in END2END_TESTS.items(): for t, topt in END2END_TESTS.items():
#print(_compatible(fopt, topt), f, t, fopt, topt) #print(_compatible(fopt, topt), f, t, fopt, topt)
if not _compatible(fopt, topt): if not _compatible(fopt, topt):
continue continue
native.sh_test(
name = "%s_test@%s" % (f, t),
data = [":%s_test" % f],
srcs = ["end2end_test.sh"],
args = [
"$(location %s_test)" % f,
t
],
tags = ["no_linux"] + _platform_support_tags(fopt),
)
for poller in POLLERS: for poller in POLLERS:
native.sh_test( native.sh_test(
name = "%s_test@%s@poller=%s" % (f, t, poller), name = "%s_test@%s@poller=%s" % (f, t, poller),
@ -417,7 +439,7 @@ def grpc_end2end_tests():
t, t,
poller, poller,
], ],
tags = ["no_windows"], tags = ["no_mac", "no_windows"],
) )
def grpc_end2end_nosec_tests(): def grpc_end2end_nosec_tests():
@ -439,8 +461,7 @@ def grpc_end2end_nosec_tests():
":http_proxy", ":http_proxy",
":proxy", ":proxy",
":local_util", ":local_util",
], ]
tags = ["no_windows"],
) )
for f, fopt in END2END_NOSEC_FIXTURES.items(): for f, fopt in END2END_NOSEC_FIXTURES.items():
@ -456,7 +477,7 @@ def grpc_end2end_nosec_tests():
"//:grpc_unsecure", "//:grpc_unsecure",
"//:gpr", "//:gpr",
], ],
tags = ["no_windows"], tags = _platform_support_tags(fopt),
) )
for t, topt in END2END_TESTS.items(): for t, topt in END2END_TESTS.items():
#print(_compatible(fopt, topt), f, t, fopt, topt) #print(_compatible(fopt, topt), f, t, fopt, topt)
@ -464,6 +485,18 @@ def grpc_end2end_nosec_tests():
continue continue
if topt.secure: if topt.secure:
continue continue
native.sh_test(
name = "%s_nosec_test@%s" % (f, t),
data = [":%s_nosec_test" % f],
srcs = ["end2end_test.sh"],
args = [
"$(location %s_nosec_test)" % f,
t
],
tags = ["no_linux"] + _platform_support_tags(fopt),
)
for poller in POLLERS: for poller in POLLERS:
native.sh_test( native.sh_test(
name = "%s_nosec_test@%s@poller=%s" % (f, t, poller), name = "%s_nosec_test@%s@poller=%s" % (f, t, poller),
@ -474,5 +507,5 @@ def grpc_end2end_nosec_tests():
t, t,
poller, poller,
], ],
tags = ["no_windows"], tags = ["no_mac", "no_windows"],
) )

Loading…
Cancel
Save