From dffece9657aa0008efa49674688615091e2dd9a1 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 30 Sep 2019 17:37:37 +0200 Subject: [PATCH] make end2end bazel test generator work on non-linux as well --- test/core/end2end/generate_tests.bzl | 51 +++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/test/core/end2end/generate_tests.bzl b/test/core/end2end/generate_tests.bzl index 85faca16364..218689343f9 100755 --- a/test/core/end2end/generate_tests.bzl +++ b/test/core/end2end/generate_tests.bzl @@ -46,7 +46,7 @@ def _fixture_options( supports_write_buffering = supports_write_buffering, client_channel = client_channel, supports_msvc = supports_msvc, - #_platforms=_platforms, + _platforms=_platforms, ) # maps fixture name to whether it requires the security library @@ -368,6 +368,16 @@ def _compatible(fopt, topt): return False 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(): grpc_cc_library( name = "end2end_tests", @@ -386,8 +396,7 @@ def grpc_end2end_tests(): ":http_proxy", ":proxy", ":local_util", - ], - tags = ["no_windows"], + ] ) for f, fopt in END2END_FIXTURES.items(): @@ -401,12 +410,25 @@ def grpc_end2end_tests(): "//:grpc", "//:gpr", ], - tags = ["no_windows"], + tags = _platform_support_tags(fopt), ) + for t, topt in END2END_TESTS.items(): #print(_compatible(fopt, topt), f, t, fopt, topt) if not _compatible(fopt, topt): 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: native.sh_test( name = "%s_test@%s@poller=%s" % (f, t, poller), @@ -417,7 +439,7 @@ def grpc_end2end_tests(): t, poller, ], - tags = ["no_windows"], + tags = ["no_mac", "no_windows"], ) def grpc_end2end_nosec_tests(): @@ -439,8 +461,7 @@ def grpc_end2end_nosec_tests(): ":http_proxy", ":proxy", ":local_util", - ], - tags = ["no_windows"], + ] ) for f, fopt in END2END_NOSEC_FIXTURES.items(): @@ -456,7 +477,7 @@ def grpc_end2end_nosec_tests(): "//:grpc_unsecure", "//:gpr", ], - tags = ["no_windows"], + tags = _platform_support_tags(fopt), ) for t, topt in END2END_TESTS.items(): #print(_compatible(fopt, topt), f, t, fopt, topt) @@ -464,6 +485,18 @@ def grpc_end2end_nosec_tests(): continue if topt.secure: 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: native.sh_test( name = "%s_nosec_test@%s@poller=%s" % (f, t, poller), @@ -474,5 +507,5 @@ def grpc_end2end_nosec_tests(): t, poller, ], - tags = ["no_windows"], + tags = ["no_mac", "no_windows"], )