From d970489db285ff7a728dc0f14f889eecdc04de91 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 16 Sep 2019 18:16:07 +0200 Subject: [PATCH 01/24] use no_windows for some C++ tests --- test/cpp/interop/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/test/cpp/interop/BUILD b/test/cpp/interop/BUILD index e575ef88c5d..1b72a1a6dd7 100644 --- a/test/cpp/interop/BUILD +++ b/test/cpp/interop/BUILD @@ -44,6 +44,7 @@ grpc_cc_binary( "grpclb_fallback_test.cc", ], language = "C++", + tags = ["no_windows"], deps = [ "//src/proto/grpc/testing:empty_proto", "//src/proto/grpc/testing:messages_proto", From 068340381f80514b2eaac369bf816e5eca107d1c Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 17 Sep 2019 09:16:30 +0200 Subject: [PATCH 02/24] add uses_polling=False to selected core tests --- test/core/security/BUILD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/core/security/BUILD b/test/core/security/BUILD index c6dbc5fbed8..06ded9fdbd8 100644 --- a/test/core/security/BUILD +++ b/test/core/security/BUILD @@ -177,6 +177,7 @@ grpc_cc_binary( "//:grpc", "//test/core/util:grpc_test_util", ], + uses_polling = False, ) grpc_cc_binary( @@ -201,6 +202,7 @@ grpc_cc_binary( "//:grpc", "//test/core/util:grpc_test_util", ], + uses_polling = False, ) grpc_cc_test( From 85117cbf6168d8266a19b2cc241802dabee14ef6 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 17 Sep 2019 09:16:57 +0200 Subject: [PATCH 03/24] add uses_polling=False to selected c++ tests --- test/cpp/codegen/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/test/cpp/codegen/BUILD b/test/cpp/codegen/BUILD index 69d5859489f..c8208ec0851 100644 --- a/test/cpp/codegen/BUILD +++ b/test/cpp/codegen/BUILD @@ -71,6 +71,7 @@ grpc_cc_binary( "//test/core/util:grpc_test_util", "//test/cpp/util:test_config", ], + uses_polling = False, ) genrule( From e682b323403466ba6f31f435b0055ea53861ea1b Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 17 Sep 2019 09:26:54 +0200 Subject: [PATCH 04/24] fixup core uses-polling --- test/core/security/BUILD | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/core/security/BUILD b/test/core/security/BUILD index 06ded9fdbd8..c6dbc5fbed8 100644 --- a/test/core/security/BUILD +++ b/test/core/security/BUILD @@ -177,7 +177,6 @@ grpc_cc_binary( "//:grpc", "//test/core/util:grpc_test_util", ], - uses_polling = False, ) grpc_cc_binary( @@ -202,7 +201,6 @@ grpc_cc_binary( "//:grpc", "//test/core/util:grpc_test_util", ], - uses_polling = False, ) grpc_cc_test( From 93d2cf299fc19c92b60e0b9037718747ea9f9001 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 17 Sep 2019 09:27:34 +0200 Subject: [PATCH 05/24] fixup cpp uses-polling --- test/cpp/codegen/BUILD | 1 - 1 file changed, 1 deletion(-) diff --git a/test/cpp/codegen/BUILD b/test/cpp/codegen/BUILD index c8208ec0851..69d5859489f 100644 --- a/test/cpp/codegen/BUILD +++ b/test/cpp/codegen/BUILD @@ -71,7 +71,6 @@ grpc_cc_binary( "//test/core/util:grpc_test_util", "//test/cpp/util:test_config", ], - uses_polling = False, ) genrule( From 6f6fe451be700d9f1c526b54f89d96be2923e48c Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 17 Sep 2019 10:02:14 +0200 Subject: [PATCH 06/24] run tests on win RBE --- tools/internal_ci/windows/bazel_rbe.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/internal_ci/windows/bazel_rbe.bat b/tools/internal_ci/windows/bazel_rbe.bat index 86dcc74c429..7ce197d9b3c 100644 --- a/tools/internal_ci/windows/bazel_rbe.bat +++ b/tools/internal_ci/windows/bazel_rbe.bat @@ -24,7 +24,7 @@ powershell -Command "[guid]::NewGuid().ToString()" >%KOKORO_ARTIFACTS_DIR%/bazel set /p BAZEL_INVOCATION_ID=<%KOKORO_ARTIFACTS_DIR%/bazel_invocation_ids @rem TODO(jtattermusch): windows RBE should be able to use the same credentials as Linux RBE. -bazel --bazelrc=tools/remote_build/windows.bazelrc build --invocation_id="%BAZEL_INVOCATION_ID%" --workspace_status_command=tools/remote_build/workspace_status_kokoro.sh :all --google_credentials=%KOKORO_GFILE_DIR%/rbe-windows-credentials.json +bazel --bazelrc=tools/remote_build/windows.bazelrc test --invocation_id="%BAZEL_INVOCATION_ID%" --workspace_status_command=tools/remote_build/workspace_status_kokoro.sh --google_credentials=%KOKORO_GFILE_DIR%/rbe-windows-credentials.json //test/... set BAZEL_EXITCODE=%errorlevel% @rem TODO(jtattermusch): upload results to bigquery From 16f4103269878601926bdcb64ebdb2c19ce20ca8 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 17 Sep 2019 10:30:29 +0200 Subject: [PATCH 07/24] try running only one test --- tools/internal_ci/windows/bazel_rbe.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/internal_ci/windows/bazel_rbe.bat b/tools/internal_ci/windows/bazel_rbe.bat index 7ce197d9b3c..818ad8cb1c9 100644 --- a/tools/internal_ci/windows/bazel_rbe.bat +++ b/tools/internal_ci/windows/bazel_rbe.bat @@ -24,7 +24,7 @@ powershell -Command "[guid]::NewGuid().ToString()" >%KOKORO_ARTIFACTS_DIR%/bazel set /p BAZEL_INVOCATION_ID=<%KOKORO_ARTIFACTS_DIR%/bazel_invocation_ids @rem TODO(jtattermusch): windows RBE should be able to use the same credentials as Linux RBE. -bazel --bazelrc=tools/remote_build/windows.bazelrc test --invocation_id="%BAZEL_INVOCATION_ID%" --workspace_status_command=tools/remote_build/workspace_status_kokoro.sh --google_credentials=%KOKORO_GFILE_DIR%/rbe-windows-credentials.json //test/... +bazel --bazelrc=tools/remote_build/windows.bazelrc test --invocation_id="%BAZEL_INVOCATION_ID%" --workspace_status_command=tools/remote_build/workspace_status_kokoro.sh --google_credentials=%KOKORO_GFILE_DIR%/rbe-windows-credentials.json //test/core/gpr:log_test set BAZEL_EXITCODE=%errorlevel% @rem TODO(jtattermusch): upload results to bigquery From c6f18ce6c57c245bb48dd2b3dc014e2bb3e0cb6a Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 17 Sep 2019 11:21:09 +0200 Subject: [PATCH 08/24] make Win RBE test pass --- tools/remote_build/windows.bazelrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/remote_build/windows.bazelrc b/tools/remote_build/windows.bazelrc index e9b418f9837..daf58072ecc 100644 --- a/tools/remote_build/windows.bazelrc +++ b/tools/remote_build/windows.bazelrc @@ -34,6 +34,9 @@ build --define GRPC_PORT_ISOLATED_RUNTIME=1 build --test_tag_filters=-no_windows build --build_tag_filters=-no_windows +# required for the tests to pass on Windows RBE +build --incompatible_windows_native_test_wrapper + # without verbose gRPC logs the test outputs are not very useful test --test_env=GRPC_VERBOSITY=debug From f35678e3b42c1fbc0e363257b4f6e0a6e4edd01a Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Tue, 17 Sep 2019 11:38:30 +0200 Subject: [PATCH 09/24] run at least core tests --- tools/internal_ci/windows/bazel_rbe.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/internal_ci/windows/bazel_rbe.bat b/tools/internal_ci/windows/bazel_rbe.bat index 818ad8cb1c9..a975402e992 100644 --- a/tools/internal_ci/windows/bazel_rbe.bat +++ b/tools/internal_ci/windows/bazel_rbe.bat @@ -24,7 +24,7 @@ powershell -Command "[guid]::NewGuid().ToString()" >%KOKORO_ARTIFACTS_DIR%/bazel set /p BAZEL_INVOCATION_ID=<%KOKORO_ARTIFACTS_DIR%/bazel_invocation_ids @rem TODO(jtattermusch): windows RBE should be able to use the same credentials as Linux RBE. -bazel --bazelrc=tools/remote_build/windows.bazelrc test --invocation_id="%BAZEL_INVOCATION_ID%" --workspace_status_command=tools/remote_build/workspace_status_kokoro.sh --google_credentials=%KOKORO_GFILE_DIR%/rbe-windows-credentials.json //test/core/gpr:log_test +bazel --bazelrc=tools/remote_build/windows.bazelrc test --invocation_id="%BAZEL_INVOCATION_ID%" --workspace_status_command=tools/remote_build/workspace_status_kokoro.sh --google_credentials=%KOKORO_GFILE_DIR%/rbe-windows-credentials.json //test/core/... set BAZEL_EXITCODE=%errorlevel% @rem TODO(jtattermusch): upload results to bigquery From 5b9e08d9a33a6db024377491c389b1d5ca6fe75a Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 23 Sep 2019 09:24:58 +0200 Subject: [PATCH 10/24] try updating bazel toolchains --- bazel/grpc_deps.bzl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl index 01b9ffc9a0e..fcc8077c035 100644 --- a/bazel/grpc_deps.bzl +++ b/bazel/grpc_deps.bzl @@ -174,13 +174,14 @@ def grpc_deps(): ) if "bazel_toolchains" not in native.existing_rules(): + # list of releases is at https://releases.bazel.build/bazel-toolchains.html http_archive( name = "bazel_toolchains", - sha256 = "872955b658113924eb1a3594b04d43238da47f4f90c17b76e8785709490dc041", - strip_prefix = "bazel-toolchains-1083686fde6032378d52b4c98044922cebde364e", + sha256 = "22ca5b8115c8673ecb627a02b606529e813961e447933863fccdf325cc5f999f", + strip_prefix = "bazel-toolchains-0.29.5", urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/1083686fde6032378d52b4c98044922cebde364e.tar.gz", - "https://github.com/bazelbuild/bazel-toolchains/archive/1083686fde6032378d52b4c98044922cebde364e.tar.gz", + "https://github.com/bazelbuild/bazel-toolchains/releases/download/0.29.5/bazel-toolchains-0.29.5.tar.gz", + "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.29.5.tar.gz", ], ) From 0f78b92e876db22a3ed8912597729c6f32ebc457 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 27 Sep 2019 11:22:58 +0200 Subject: [PATCH 11/24] avoid machine_size:large tests on windows --- test/core/gprpp/BUILD | 1 + test/core/iomgr/BUILD | 1 + test/cpp/qps/BUILD | 1 + 3 files changed, 3 insertions(+) diff --git a/test/core/gprpp/BUILD b/test/core/gprpp/BUILD index 0b0236334b2..5be49b77518 100644 --- a/test/core/gprpp/BUILD +++ b/test/core/gprpp/BUILD @@ -125,6 +125,7 @@ grpc_cc_test( srcs = ["mpscq_test.cc"], exec_compatible_with = ["//third_party/toolchains/machine_size:large"], language = "C++", + tags = ["no_windows"], # machine_size:large is not configured for windows RBE deps = [ "//:gpr", "//test/core/util:grpc_test_util", diff --git a/test/core/iomgr/BUILD b/test/core/iomgr/BUILD index 7e4cdc0d729..0025ef334bd 100644 --- a/test/core/iomgr/BUILD +++ b/test/core/iomgr/BUILD @@ -41,6 +41,7 @@ grpc_cc_test( srcs = ["combiner_test.cc"], exec_compatible_with = ["//third_party/toolchains/machine_size:large"], language = "C++", + tags = ["no_windows"], # machine_size:large is not configured for windows RBE deps = [ "//:gpr", "//:grpc", diff --git a/test/cpp/qps/BUILD b/test/cpp/qps/BUILD index 5c84d75dc5f..433b0b32c75 100644 --- a/test/cpp/qps/BUILD +++ b/test/cpp/qps/BUILD @@ -170,6 +170,7 @@ grpc_cc_test( name = "qps_openloop_test", srcs = ["qps_openloop_test.cc"], exec_compatible_with = ["//third_party/toolchains/machine_size:large"], + tags = ["no_windows"], # machine_size:large is not configured for windows RBE deps = [ ":benchmark_config", ":driver_impl", From 0f50bf015036028eafea4e0523b97d9efdc9d0d3 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 27 Sep 2019 11:56:44 +0200 Subject: [PATCH 12/24] temporarily disable memory usage test on windows --- test/core/memory_usage/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/test/core/memory_usage/BUILD b/test/core/memory_usage/BUILD index c9da6b4241b..0949c89ed9e 100644 --- a/test/core/memory_usage/BUILD +++ b/test/core/memory_usage/BUILD @@ -49,6 +49,7 @@ grpc_cc_test( ":memory_usage_server", ], language = "C++", + tags = ["no_windows"], # TODO(jtattermusch): breaks windows RBE build if enabled deps = [ "//:gpr", "//:grpc", From 14a2b7b05c08bb19d3185eefdc88020b8f32bdba Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 27 Sep 2019 12:04:12 +0200 Subject: [PATCH 13/24] disable fork bazel test on windows --- test/core/gprpp/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/test/core/gprpp/BUILD b/test/core/gprpp/BUILD index 5be49b77518..2144b276c5a 100644 --- a/test/core/gprpp/BUILD +++ b/test/core/gprpp/BUILD @@ -22,6 +22,7 @@ grpc_cc_test( name = "fork_test", srcs = ["fork_test.cc"], language = "C++", + tags = ["no_windows"], deps = [ "//:gpr", "//test/core/util:grpc_test_util", From 8d81a934cad7dbd598cab0321bff84bcaa7ebfcb Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 27 Sep 2019 12:25:55 +0200 Subject: [PATCH 14/24] run both C and C++ tests on win RBE --- tools/internal_ci/windows/bazel_rbe.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/internal_ci/windows/bazel_rbe.bat b/tools/internal_ci/windows/bazel_rbe.bat index a975402e992..7ce197d9b3c 100644 --- a/tools/internal_ci/windows/bazel_rbe.bat +++ b/tools/internal_ci/windows/bazel_rbe.bat @@ -24,7 +24,7 @@ powershell -Command "[guid]::NewGuid().ToString()" >%KOKORO_ARTIFACTS_DIR%/bazel set /p BAZEL_INVOCATION_ID=<%KOKORO_ARTIFACTS_DIR%/bazel_invocation_ids @rem TODO(jtattermusch): windows RBE should be able to use the same credentials as Linux RBE. -bazel --bazelrc=tools/remote_build/windows.bazelrc test --invocation_id="%BAZEL_INVOCATION_ID%" --workspace_status_command=tools/remote_build/workspace_status_kokoro.sh --google_credentials=%KOKORO_GFILE_DIR%/rbe-windows-credentials.json //test/core/... +bazel --bazelrc=tools/remote_build/windows.bazelrc test --invocation_id="%BAZEL_INVOCATION_ID%" --workspace_status_command=tools/remote_build/workspace_status_kokoro.sh --google_credentials=%KOKORO_GFILE_DIR%/rbe-windows-credentials.json //test/... set BAZEL_EXITCODE=%errorlevel% @rem TODO(jtattermusch): upload results to bigquery From b8a32c0cffba8a42099e5ff99140ac1b8e176172 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 27 Sep 2019 12:32:16 +0200 Subject: [PATCH 15/24] temporarily disable failing tests on windows --- test/core/gprpp/BUILD | 1 + test/core/transport/BUILD | 1 + 2 files changed, 2 insertions(+) diff --git a/test/core/gprpp/BUILD b/test/core/gprpp/BUILD index 2144b276c5a..193ef5e410a 100644 --- a/test/core/gprpp/BUILD +++ b/test/core/gprpp/BUILD @@ -51,6 +51,7 @@ grpc_cc_test( "gtest", ], language = "C++", + tags = ["no_windows"], # TODO(jtattermusch): fix the failure on windows deps = [ "//:gpr", "//test/core/util:grpc_test_util", diff --git a/test/core/transport/BUILD b/test/core/transport/BUILD index 12e748f7d10..078d573b86d 100644 --- a/test/core/transport/BUILD +++ b/test/core/transport/BUILD @@ -25,6 +25,7 @@ grpc_cc_test( "gtest", ], language = "C++", + tags = ["no_windows"], # TODO(jtattermusch): investigate the timeout on windows deps = [ "//:gpr", "//:grpc", From 1ba59b879e90765b239639c2c87059fe5c2a19dc Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 27 Sep 2019 12:36:15 +0200 Subject: [PATCH 16/24] update windows RBE instructions --- tools/remote_build/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/remote_build/README.md b/tools/remote_build/README.md index 68d68400577..edf771dd184 100644 --- a/tools/remote_build/README.md +++ b/tools/remote_build/README.md @@ -31,8 +31,8 @@ bazel --bazelrc=tools/remote_build/manual.bazelrc test --config=asan //test/... Run on Windows MSVC: ``` -# RBE manual run only for c-core (must be run on a Windows host machine) -bazel --bazelrc=tools/remote_build/windows.bazelrc build :all +# manual run of bazel tests remotely on RBE Windows (must be run from Windows machine) +bazel --bazelrc=tools/remote_build/windows.bazelrc test //test/... ``` Available command line options can be found in From 8e79705d29c62ed0d658929042b0874039df755c Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Fri, 27 Sep 2019 16:52:27 +0200 Subject: [PATCH 17/24] disable fuzzers on windows --- test/core/client_channel/BUILD | 1 + test/core/end2end/fuzzers/BUILD | 3 +++ test/core/http/BUILD | 2 ++ test/core/json/BUILD | 1 + test/core/nanopb/BUILD | 2 ++ test/core/security/BUILD | 2 ++ test/core/slice/BUILD | 2 ++ test/core/transport/chttp2/BUILD | 1 + 8 files changed, 14 insertions(+) diff --git a/test/core/client_channel/BUILD b/test/core/client_channel/BUILD index cafd6101ffc..4740f3cca7c 100644 --- a/test/core/client_channel/BUILD +++ b/test/core/client_channel/BUILD @@ -30,6 +30,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_test( diff --git a/test/core/end2end/fuzzers/BUILD b/test/core/end2end/fuzzers/BUILD index c12cfc6983f..70aec59b10a 100644 --- a/test/core/end2end/fuzzers/BUILD +++ b/test/core/end2end/fuzzers/BUILD @@ -33,6 +33,7 @@ grpc_fuzzer( "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_fuzzer( @@ -45,6 +46,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_fuzzer( @@ -57,4 +59,5 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) diff --git a/test/core/http/BUILD b/test/core/http/BUILD index 8951d1aba2e..7e3f57d82df 100644 --- a/test/core/http/BUILD +++ b/test/core/http/BUILD @@ -30,6 +30,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_fuzzer( @@ -42,6 +43,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) # Copyright 2017 gRPC authors. diff --git a/test/core/json/BUILD b/test/core/json/BUILD index c9298e5f2c4..198a24c6301 100644 --- a/test/core/json/BUILD +++ b/test/core/json/BUILD @@ -30,6 +30,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_binary( diff --git a/test/core/nanopb/BUILD b/test/core/nanopb/BUILD index 1497f829ab6..6836e56ce31 100644 --- a/test/core/nanopb/BUILD +++ b/test/core/nanopb/BUILD @@ -30,6 +30,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_fuzzer( @@ -42,4 +43,5 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) diff --git a/test/core/security/BUILD b/test/core/security/BUILD index c6dbc5fbed8..f755cde9407 100644 --- a/test/core/security/BUILD +++ b/test/core/security/BUILD @@ -30,6 +30,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_fuzzer( @@ -43,6 +44,7 @@ grpc_fuzzer( "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_library( diff --git a/test/core/slice/BUILD b/test/core/slice/BUILD index dbca3477131..e02267276d1 100644 --- a/test/core/slice/BUILD +++ b/test/core/slice/BUILD @@ -30,6 +30,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_fuzzer( @@ -42,6 +43,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_test( diff --git a/test/core/transport/chttp2/BUILD b/test/core/transport/chttp2/BUILD index f31ba248d19..c80aadb6ed6 100644 --- a/test/core/transport/chttp2/BUILD +++ b/test/core/transport/chttp2/BUILD @@ -28,6 +28,7 @@ grpc_fuzzer( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_test( From 3080419c9046c24e666edd99d8eb80c4c1fae352 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 30 Sep 2019 08:29:37 +0200 Subject: [PATCH 18/24] temporarily disable alarm_test --- test/cpp/common/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/test/cpp/common/BUILD b/test/cpp/common/BUILD index ac82acc073e..d8128d76173 100644 --- a/test/cpp/common/BUILD +++ b/test/cpp/common/BUILD @@ -24,6 +24,7 @@ grpc_cc_test( external_deps = [ "gtest", ], + tags = ["no_windows"], # TODO(jtattermusch): fix test on windows RBE deps = [ "//:grpc++_unsecure", "//test/core/util:grpc_test_util_unsecure", From 3ce50ae7545050fe890120caf08409a4c6812b86 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 30 Sep 2019 12:45:18 +0200 Subject: [PATCH 19/24] disable some test on windows based on build.yaml --- test/core/bad_ssl/generate_tests.bzl | 1 + test/core/end2end/BUILD | 1 + test/core/fling/BUILD | 2 ++ test/core/handshake/BUILD | 1 + test/core/http/BUILD | 2 ++ test/core/tsi/BUILD | 1 + test/cpp/end2end/BUILD | 4 ++-- 7 files changed, 10 insertions(+), 2 deletions(-) diff --git a/test/core/bad_ssl/generate_tests.bzl b/test/core/bad_ssl/generate_tests.bzl index 22e7d3a692e..f2060125326 100755 --- a/test/core/bad_ssl/generate_tests.bzl +++ b/test/core/bad_ssl/generate_tests.bzl @@ -46,4 +46,5 @@ def grpc_bad_ssl_tests(): deps = ['//test/core/util:grpc_test_util', '//:gpr', '//test/core/end2end:cq_verifier'], + tags = ["no_windows"], ) diff --git a/test/core/end2end/BUILD b/test/core/end2end/BUILD index d13894050ff..a810f35cd20 100644 --- a/test/core/end2end/BUILD +++ b/test/core/end2end/BUILD @@ -117,6 +117,7 @@ grpc_cc_test( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_test( diff --git a/test/core/fling/BUILD b/test/core/fling/BUILD index 0c16b2a8799..078eed59aed 100644 --- a/test/core/fling/BUILD +++ b/test/core/fling/BUILD @@ -59,6 +59,7 @@ grpc_cc_test( "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", ], + tags = ["no_windows], ) grpc_cc_test( @@ -74,4 +75,5 @@ grpc_cc_test( "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", ], + tags = ["no_windows], ) diff --git a/test/core/handshake/BUILD b/test/core/handshake/BUILD index 0824efb980f..96a71ca6440 100644 --- a/test/core/handshake/BUILD +++ b/test/core/handshake/BUILD @@ -97,4 +97,5 @@ grpc_cc_test( "//:grpc", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) diff --git a/test/core/http/BUILD b/test/core/http/BUILD index 7e3f57d82df..73b9ff0573e 100644 --- a/test/core/http/BUILD +++ b/test/core/http/BUILD @@ -80,6 +80,7 @@ grpc_cc_test( "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_test( @@ -99,6 +100,7 @@ grpc_cc_test( "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_test( diff --git a/test/core/tsi/BUILD b/test/core/tsi/BUILD index e9faf5c99f3..223452df1ed 100644 --- a/test/core/tsi/BUILD +++ b/test/core/tsi/BUILD @@ -85,6 +85,7 @@ grpc_cc_test( "//:tsi", "//test/core/util:grpc_test_util", ], + tags = ["no_windows"], ) grpc_cc_test( diff --git a/test/cpp/end2end/BUILD b/test/cpp/end2end/BUILD index 3a0786b8d15..06395f2654f 100644 --- a/test/cpp/end2end/BUILD +++ b/test/cpp/end2end/BUILD @@ -122,7 +122,7 @@ grpc_cc_test( "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], - tags = ["no_test_ios"], + tags = ["no_test_ios", "no_windows"], ) grpc_cc_binary( @@ -567,7 +567,7 @@ grpc_cc_test( "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], - tags = ["no_test_ios"], + tags = ["no_test_ios", "no_windows"], ) grpc_cc_binary( From 5cc45de44388b920b362c4c3f505cff83fecf2ba Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 30 Sep 2019 13:22:11 +0200 Subject: [PATCH 20/24] disable some broken test on windows RBE --- test/cpp/end2end/BUILD | 6 +++++- test/cpp/ext/filters/census/BUILD | 1 + test/cpp/util/BUILD | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/test/cpp/end2end/BUILD b/test/cpp/end2end/BUILD index 06395f2654f..7139548f803 100644 --- a/test/cpp/end2end/BUILD +++ b/test/cpp/end2end/BUILD @@ -442,6 +442,7 @@ grpc_cc_test( "//test/core/util:test_lb_policies", "//test/cpp/util:test_util", ], + tags = ["no_windows"], # TODO(jtattermusch): fix test on windows ) grpc_cc_test( @@ -482,6 +483,7 @@ grpc_cc_test( "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], + tags = ["no_windows"], # TODO(jtattermusch): fix test on windows ) grpc_cc_test( @@ -505,6 +507,7 @@ grpc_cc_test( "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], + tags = ["no_windows"], # TODO(jtattermusch): fix test on windows ) grpc_cc_test( @@ -621,7 +624,7 @@ grpc_cc_test( "//src/proto/grpc/testing:echo_proto", "//test/cpp/util:test_util", ], - tags = ["no_test_ios"], + tags = ["no_test_ios", "no_windows"], ) grpc_cc_test( @@ -687,6 +690,7 @@ grpc_cc_test( external_deps = [ "gtest", ], + tags = ["no_windows"], # TODO(jtattermusch): fix test on windows deps = [ "//:gpr", "//:grpc", diff --git a/test/cpp/ext/filters/census/BUILD b/test/cpp/ext/filters/census/BUILD index 452a84b2a7a..08f702fa502 100644 --- a/test/cpp/ext/filters/census/BUILD +++ b/test/cpp/ext/filters/census/BUILD @@ -37,4 +37,5 @@ grpc_cc_test( "//test/cpp/util:test_config", "//test/cpp/util:test_util", ], + tags = ["no_windows"], # TODO(jtattermusch): fix test on windows ) diff --git a/test/cpp/util/BUILD b/test/cpp/util/BUILD index 2e9d1cc8bba..a3074c42e5c 100644 --- a/test/cpp/util/BUILD +++ b/test/cpp/util/BUILD @@ -188,7 +188,8 @@ grpc_cc_test( "gtest", ], tags = ["nomsan", # death tests seem to be incompatible with msan - "no_test_ios" + "no_test_ios", + "no_windows", ], deps = [ ":grpc_cli_libs", From 6c3ba9a3a8492cefe79ace0e81d795dcb725fb5d Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 30 Sep 2019 13:24:34 +0200 Subject: [PATCH 21/24] fixup fling BUILD --- test/core/fling/BUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/core/fling/BUILD b/test/core/fling/BUILD index 078eed59aed..816a9091787 100644 --- a/test/core/fling/BUILD +++ b/test/core/fling/BUILD @@ -59,7 +59,7 @@ grpc_cc_test( "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", ], - tags = ["no_windows], + tags = ["no_windows"], ) grpc_cc_test( @@ -75,5 +75,5 @@ grpc_cc_test( "//test/core/end2end:ssl_test_data", "//test/core/util:grpc_test_util", ], - tags = ["no_windows], + tags = ["no_windows"], ) From 3ece58172061ce13b4d722d5ab82b00f15817dd6 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 30 Sep 2019 13:26:33 +0200 Subject: [PATCH 22/24] win RBE tests with uses_polling=True need to run as well --- bazel/grpc_build_system.bzl | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl index 5bf04f2ff0b..ed137285334 100644 --- a/bazel/grpc_build_system.bzl +++ b/bazel/grpc_build_system.bzl @@ -184,17 +184,17 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data "exec_compatible_with": exec_compatible_with, } if uses_polling: - # Only run targets with pollers for non-MSVC - # TODO(yfen): Enable MSVC for poller-enabled targets without pollers + # the vanilla version of the test should run on platforms that only + # support a single poller native.cc_test( name = name, testonly = True, - tags = [ - "manual", - "no_windows", - ], + tags = (tags + [ + "no_linux", # linux supports multiple pollers + ]), **args ) + # on linux we run the same test multiple times, once for each poller for poller in POLLERS: native.sh_test( name = name + "@poller=" + poller, @@ -208,10 +208,11 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data poller, "$(location %s)" % name, ] + args["args"], - tags = (tags + ["no_windows"]), + tags = (tags + ["no_windows", "no_mac"]), exec_compatible_with = exec_compatible_with, ) else: + # the test behavior doesn't depend on polling, just generate the test native.cc_test(name = name, tags = tags, **args) ios_cc_test( name = name, From dffece9657aa0008efa49674688615091e2dd9a1 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 30 Sep 2019 17:37:37 +0200 Subject: [PATCH 23/24] 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"], ) From f81ef767d395be8172140c0fab9db2a3ee21ae37 Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Mon, 30 Sep 2019 17:41:13 +0200 Subject: [PATCH 24/24] filter out non-linux tests --- tools/remote_build/rbe_common.bazelrc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/remote_build/rbe_common.bazelrc b/tools/remote_build/rbe_common.bazelrc index 6236003fe17..568e7aec5fa 100644 --- a/tools/remote_build/rbe_common.bazelrc +++ b/tools/remote_build/rbe_common.bazelrc @@ -44,6 +44,11 @@ build --define GRPC_PORT_ISOLATED_RUNTIME=1 # without verbose gRPC logs the test outputs are not very useful test --test_env=GRPC_VERBOSITY=debug +# we assume the default bazel RBE build is on linux, +# so filter out stuff that should not be built or run there. +build --test_tag_filters=-no_linux +build --build_tag_filters=-no_linux + # Default test timeouts for all RBE tests (sanitizers override these values) # TODO(jtattermusch): revisit the non-standard test timeout values build --test_timeout=300,450,1200,3600 @@ -53,7 +58,7 @@ build --test_timeout=300,450,1200,3600 build:asan --copt=-gmlt # TODO(jtattermusch): use more reasonable test timeout build:asan --test_timeout=3600 -build:asan --test_tag_filters=-qps_json_driver +build:asan --test_tag_filters=-no_linux,-qps_json_driver # memory sanitizer: most settings are already in %workspace%/.bazelrc # we only need a few additional ones that are Foundry specific @@ -61,7 +66,7 @@ build:msan --copt=-gmlt # TODO(jtattermusch): use more reasonable test timeout build:msan --test_timeout=3600 # TODO(jtattermusch): revisit the disabled tests -build:msan --test_tag_filters=-nomsan,-json_run_localhost +build:msan --test_tag_filters=-no_linux,-nomsan,-json_run_localhost build:msan --cxxopt=--stdlib=libc++ # setting LD_LIBRARY_PATH is necessary # to avoid "libc++.so.1: cannot open shared object file" @@ -75,7 +80,7 @@ build:msan --crosstool_top=@rbe_msan//cc:toolchain build:tsan --copt=-gmlt # TODO(jtattermusch): use more reasonable test timeout build:tsan --test_timeout=3600 -build:tsan --test_tag_filters=-qps_json_driver +build:tsan --test_tag_filters=-no_linux,-qps_json_driver build:tsan --extra_execution_platforms=//third_party/toolchains:rbe_ubuntu1604,//third_party/toolchains:rbe_ubuntu1604_large # undefined behavior sanitizer: most settings are already in %workspace%/.bazelrc