aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/test/TestResult.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/test/TestResult.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/test/TestResult.java191
1 files changed, 0 insertions, 191 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/test/TestResult.java b/src/main/java/com/google/devtools/build/lib/rules/test/TestResult.java
deleted file mode 100644
index d0eca7f696..0000000000
--- a/src/main/java/com/google/devtools/build/lib/rules/test/TestResult.java
+++ /dev/null
@@ -1,191 +0,0 @@
-// Copyright 2014 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.
-
-package com.google.devtools.build.lib.rules.test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.devtools.build.lib.actions.Artifact;
-import com.google.devtools.build.lib.buildeventstream.TestFileNameConstants;
-import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
-import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
-import com.google.devtools.build.lib.rules.test.TestRunnerAction.ResolvedPaths;
-import com.google.devtools.build.lib.util.Pair;
-import com.google.devtools.build.lib.util.Preconditions;
-import com.google.devtools.build.lib.vfs.Path;
-import com.google.devtools.build.lib.view.test.TestStatus.BlazeTestStatus;
-import com.google.devtools.build.lib.view.test.TestStatus.TestResultData;
-import java.util.Collection;
-import javax.annotation.Nullable;
-
-/**
- * This is the event passed from the various test strategies to the {@code RecordingTestListener}
- * upon test completion.
- */
-@ThreadSafe
-@Immutable
-public class TestResult {
-
- private final TestRunnerAction testAction;
- private final TestResultData data;
- private final boolean cached;
- @Nullable protected final Path execRoot;
-
- /**
- * Construct the TestResult for the given test / status.
- *
- * @param testAction The test that was run.
- * @param data test result protobuffer.
- * @param cached true if this is a locally cached test result.
- * @param execRoot The execution root in which the action was carried out; can be null, in which
- * case everything depending on the execution root is ignored.
- */
- public TestResult(
- TestRunnerAction testAction, TestResultData data, boolean cached, @Nullable Path execRoot) {
- this.testAction = Preconditions.checkNotNull(testAction);
- this.data = data;
- this.cached = cached;
- this.execRoot = execRoot;
- }
-
- public TestResult(TestRunnerAction testAction, TestResultData data, boolean cached) {
- this(testAction, data, cached, null);
- }
-
- public static boolean isBlazeTestStatusPassed(BlazeTestStatus status) {
- return status == BlazeTestStatus.PASSED || status == BlazeTestStatus.FLAKY;
- }
-
- /**
- * @return The test action.
- */
- public TestRunnerAction getTestAction() {
- return testAction;
- }
-
- /**
- * @return The test log path. Note, that actual log file may no longer
- * correspond to this artifact - use getActualLogPath() method if
- * you need log location.
- */
- public Path getTestLogPath() {
- return testAction.getTestLog().getPath();
- }
-
- /**
- * Return if result was loaded from local action cache.
- */
- public final boolean isCached() {
- return cached;
- }
-
- /**
- * @return Coverage data artifact, if available and null otherwise.
- */
- public Path getCoverageData() {
- if (data.getHasCoverage()) {
- return testAction.getCoverageData().getPath();
- }
- return null;
- }
-
- /**
- * @return The test status artifact.
- */
- public Artifact getTestStatusArtifact() {
- // these artifacts are used to keep track of the number of pending and completed tests.
- return testAction.getCacheStatusArtifact();
- }
-
-
- /**
- * Gets the test name in a user-friendly format.
- * Will generally include the target name and shard number, if applicable.
- *
- * @return The test name.
- */
- public String getTestName() {
- return testAction.getTestName();
- }
-
- /**
- * @return The test label.
- */
- public String getLabel() {
- return Label.print(testAction.getOwner().getLabel());
- }
-
- /**
- * @return The test shard number.
- */
- public int getShardNum() {
- return testAction.getShardNum();
- }
-
- /**
- * @return Total number of test shards. 0 means
- * no sharding, whereas 1 means degenerate sharding.
- */
- public int getTotalShards() {
- return testAction.getExecutionSettings().getTotalShards();
- }
-
- public TestResultData getData() {
- return data;
- }
-
- /**
- * @return Collection of files created by the test, tagged by their name indicating usage (e.g.,
- * "test.log").
- */
- public Collection<Pair<String, Path>> getFiles() {
- ImmutableList.Builder<Pair<String, Path>> builder = new ImmutableList.Builder<>();
- if (testAction.getTestLog().getPath().exists()) {
- builder.add(Pair.of(TestFileNameConstants.TEST_LOG, testAction.getTestLog().getPath()));
- }
- if (execRoot != null) {
- ResolvedPaths resolvedPaths = testAction.resolve(execRoot);
- if (resolvedPaths.getXmlOutputPath().exists()) {
- builder.add(Pair.of(TestFileNameConstants.TEST_XML, resolvedPaths.getXmlOutputPath()));
- }
- if (resolvedPaths.getSplitLogsPath().exists()) {
- builder.add(Pair.of(TestFileNameConstants.SPLIT_LOGS, resolvedPaths.getSplitLogsPath()));
- }
- if (resolvedPaths.getTestWarningsPath().exists()) {
- builder.add(Pair.of(TestFileNameConstants.TEST_WARNINGS, resolvedPaths.getSplitLogsPath()));
- }
- if (resolvedPaths.getUndeclaredOutputsZipPath().exists()) {
- builder.add(Pair.of(TestFileNameConstants.UNDECLARED_OUTPUTS_ZIP,
- resolvedPaths.getUndeclaredOutputsZipPath()));
- }
- if (resolvedPaths.getUndeclaredOutputsManifestPath().exists()) {
- builder.add(Pair.of(TestFileNameConstants.UNDECLARED_OUTPUTS_MANIFEST,
- resolvedPaths.getUndeclaredOutputsManifestPath()));
- }
- if (resolvedPaths.getUndeclaredOutputsAnnotationsPath().exists()) {
- builder.add(Pair.of(TestFileNameConstants.UNDECLARED_OUTPUTS_ANNOTATIONS,
- resolvedPaths.getUndeclaredOutputsManifestPath()));
- }
- if (resolvedPaths.getUnusedRunfilesLogPath().exists()) {
- builder.add(Pair.of(TestFileNameConstants.UNUSED_RUNFILES_LOG,
- resolvedPaths.getUnusedRunfilesLogPath()));
- }
- if (resolvedPaths.getInfrastructureFailureFile().exists()) {
- builder.add(Pair.of(TestFileNameConstants.TEST_INFRASTRUCTURE_FAILURE,
- resolvedPaths.getInfrastructureFailureFile()));
- }
- }
- return builder.build();
- }
-}