aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/shell
diff options
context:
space:
mode:
authorGravatar ruperts <ruperts@google.com>2017-12-12 20:57:29 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-12 20:59:05 -0800
commitb1ca7fac0b934cf8fc7ffa3284431bd93e14cc23 (patch)
treec99575107787502f467681539207a9f3600edce8 /src/test/shell
parentb28285a51ab39c0983478731f03ac1a213f20ada (diff)
Enable local action execution statistics collection when the LocalSpawnRunner uses the process-wrapper to run commands.
In particular, record metrics for user and system CPU execution time, block I/O and involuntary context switches. This feature is guarded behind a new option, --experimental_collect_local_action_metrics. RELNOTES: None. PiperOrigin-RevId: 178856077
Diffstat (limited to 'src/test/shell')
-rwxr-xr-xsrc/test/shell/bazel/bazel_rules_test.sh2
-rw-r--r--src/test/shell/integration/BUILD7
-rw-r--r--src/test/shell/integration/spend_cpu_time_windows.cc26
3 files changed, 33 insertions, 2 deletions
diff --git a/src/test/shell/bazel/bazel_rules_test.sh b/src/test/shell/bazel/bazel_rules_test.sh
index 9b291c4e47..2d8b2f387f 100755
--- a/src/test/shell/bazel/bazel_rules_test.sh
+++ b/src/test/shell/bazel/bazel_rules_test.sh
@@ -251,7 +251,7 @@ EOF
|| fail "Failed to build //pkg:test"
assert_contains "PATH=$PATH_TO_BAZEL_WRAPPER:/bin:/usr/bin:/random/path" \
bazel-genfiles/pkg/test.out
- assert_contains "TMPDIR=.*execroot.*tmp[0-9a-fA-F]\+_[0-9a-fA-F]\+$" \
+ assert_contains "TMPDIR=.*execroot.*tmp[0-9a-fA-F]\+_[0-9a-fA-F]\+.*work$" \
bazel-genfiles/pkg/test.out
assert_not_contains "TMPDIR=.*newfancytmpdir" \
bazel-genfiles/pkg/test.out
diff --git a/src/test/shell/integration/BUILD b/src/test/shell/integration/BUILD
index 3909034183..35522fd5fb 100644
--- a/src/test/shell/integration/BUILD
+++ b/src/test/shell/integration/BUILD
@@ -327,13 +327,18 @@ package_group(
name = "spend_cpu_time_users",
packages = [
"//src/test/java/com/google/devtools/build/lib/...",
+ "//src/test/java/com/google/devtools/build/lib/shell/...",
],
)
cc_binary(
name = "spend_cpu_time",
testonly = 1,
- srcs = ["spend_cpu_time.cc"],
+ srcs = select({
+ "//src/conditions:windows": ["spend_cpu_time_windows.cc"],
+ "//src/conditions:windows_msvc": ["spend_cpu_time_windows.cc"],
+ "//conditions:default": ["spend_cpu_time.cc"],
+ }),
visibility = [
":spend_cpu_time_users",
],
diff --git a/src/test/shell/integration/spend_cpu_time_windows.cc b/src/test/shell/integration/spend_cpu_time_windows.cc
new file mode 100644
index 0000000000..889158608a
--- /dev/null
+++ b/src/test/shell/integration/spend_cpu_time_windows.cc
@@ -0,0 +1,26 @@
+// Copyright 2017 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.
+
+#include <iostream>
+
+int main(int argc, char** argv) {
+ // TODO(bazel-team): implement this program.
+ std::cout << "ERROR: spend_cpu_time is not yet implemented on Windows."
+ << std::endl
+ << "Called with args:" << std::endl;
+ for (int i = 0; i < argc; ++i) {
+ std::cout << "argv[" << i << "]=(" << argv[i] << ")" << std::endl;
+ }
+ return 1;
+}