diff options
author | Laszlo Csomor <laszlocsomor@google.com> | 2018-08-14 08:29:29 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-14 08:31:03 -0700 |
commit | 9a933772e87dfcf684590eb74eee9970e8b66669 (patch) | |
tree | e1aa9f9bd258af2415b3659e05f6db7fbac0f9de /tools | |
parent | 4d57f86c3df2c36763cf9cf92b8cfd206a7153b6 (diff) |
test-wrapper: add empty impl + Bazel flag
This commit adds:
- the skeleton implementation of the Windows
native test wrapper
- a depenency on the native test wrapper from test
rules, through the new $test_wrapper rule
attribute
- the --windows_native_test_wrapper Bazel flag,
which is currently a no-op
See https://github.com/bazelbuild/bazel/issues/5508
Change-Id: I8df95c8ce8bab53c51c257698ec95416065a836e
Closes #5854.
Change-Id: I2ffc78bceec5dd867af775b5878f105fa87c3dba
PiperOrigin-RevId: 208650699
Diffstat (limited to 'tools')
-rw-r--r-- | tools/test/BUILD | 14 | ||||
-rw-r--r-- | tools/test/BUILD.tools | 8 | ||||
-rw-r--r-- | tools/test/empty_test_wrapper.cc | 28 | ||||
-rw-r--r-- | tools/test/windows/test_wrapper.cc | 23 |
4 files changed, 72 insertions, 1 deletions
diff --git a/tools/test/BUILD b/tools/test/BUILD index 18dc71b493..4d5a3ab212 100644 --- a/tools/test/BUILD +++ b/tools/test/BUILD @@ -33,6 +33,15 @@ filegroup( srcs = ["@bazel_tools//tools/test/LcovMerger/java/com/google/devtools/lcovmerger:Main"], ) +cc_binary( + name = "test_wrapper_bin", + srcs = select({ + "@bazel_tools//src/conditions:windows": ["windows/test_wrapper.cc"], + "//conditions:default": ["empty_test_wrapper.cc"], + }), + visibility = ["//visibility:private"], +) + filegroup( name = "srcs", srcs = glob(["**"]), @@ -45,7 +54,10 @@ filegroup( "test-setup.sh", "generate-xml.sh", "collect_coverage.sh", - ] + glob(["LcovMerger/**"]), + ] + glob(["LcovMerger/**"]) + select({ + "@bazel_tools//src/conditions:windows": ["test_wrapper_bin"], + "//conditions:default": [], + }), visibility = ["//tools:__pkg__"], ) diff --git a/tools/test/BUILD.tools b/tools/test/BUILD.tools index 5e4e5f55dc..c41e2935b7 100644 --- a/tools/test/BUILD.tools +++ b/tools/test/BUILD.tools @@ -32,3 +32,11 @@ filegroup( name = "coverage_report_generator", srcs = ["@bazel_tools//tools/test/LcovMerger/java/com/google/devtools/lcovmerger:Main"], ) + +filegroup( + name = "test_wrapper", + srcs = select({ + "@bazel_tools//src/conditions:windows": ["test_wrapper_bin.exe"], + "//conditions:default": ["test_wrapper_bin"], + }), +) diff --git a/tools/test/empty_test_wrapper.cc b/tools/test/empty_test_wrapper.cc new file mode 100644 index 0000000000..006f29d93d --- /dev/null +++ b/tools/test/empty_test_wrapper.cc @@ -0,0 +1,28 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Empty implementation of the test wrapper. +// +// As of 2018-08-10, every platform uses //tools/test:test-setup.sh as the test +// wrapper, and we are working on introducing a C++ test wrapper for Windows. +// See +// https://github.com/laszlocsomor/proposals/blob/win-test-runner/designs/2018-07-18-windows-native-test-runner.md + +#include <stdio.h> + +int main(int, char**) { + fprintf(stderr, + __FILE__ ": The C++ test wrapper is not used on this platform.\n"); + return 1; +} diff --git a/tools/test/windows/test_wrapper.cc b/tools/test/windows/test_wrapper.cc new file mode 100644 index 0000000000..dc911fdc66 --- /dev/null +++ b/tools/test/windows/test_wrapper.cc @@ -0,0 +1,23 @@ +// Copyright 2018 The Bazel Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Test wrapper implementation for Windows. +// Design: +// https://github.com/laszlocsomor/proposals/blob/win-test-runner/designs/2018-07-18-windows-native-test-runner.md + +int main(int argc, char** argv) { + // TODO(laszlocsomor): Implement the functionality described in + // https://github.com/laszlocsomor/proposals/blob/win-test-runner/designs/2018-07-18-windows-native-test-runner.md + return 0; +} |