Simplify TestAttempt interface
By always requiring a TestResultData instace, we simplify the callers, which
already have to do all the work anyway.
PiperOrigin-RevId: 199639965
diff --git a/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
index 21bf683..7b347c4 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
@@ -167,13 +167,10 @@
.post(
TestAttempt.forExecutedTestResult(
action,
- standaloneTestResult.executionInfo(),
+ standaloneTestResult.testResultData(),
attempt,
- standaloneTestResult.testResultData().getStatus(),
- standaloneTestResult.testResultData().getStartTimeMillisEpoch(),
- standaloneTestResult.testResultData().getRunDurationMillis(),
testOutputs,
- standaloneTestResult.testResultData().getWarningList(),
+ standaloneTestResult.executionInfo(),
true));
finalizeTest(actionExecutionContext, action, dataBuilder.build());
@@ -251,13 +248,10 @@
.post(
TestAttempt.forExecutedTestResult(
action,
- result.executionInfo(),
+ data,
attempt,
- data.getStatus(),
- data.getStartTimeMillisEpoch(),
- data.getRunDurationMillis(),
testOutputsBuilder.build(),
- data.getWarningList(),
+ result.executionInfo(),
false));
processTestOutput(actionExecutionContext, new TestResult(action, data, false), testLog);
}
diff --git a/src/main/java/com/google/devtools/build/lib/exec/TestAttempt.java b/src/main/java/com/google/devtools/build/lib/exec/TestAttempt.java
index e6fd3e1..ed70ad2 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/TestAttempt.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/TestAttempt.java
@@ -22,6 +22,7 @@
import com.google.devtools.build.lib.buildeventstream.BuildEventContext;
import com.google.devtools.build.lib.buildeventstream.BuildEventId;
import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos;
+import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.TestStatus;
import com.google.devtools.build.lib.buildeventstream.BuildEventWithOrderConstraint;
import com.google.devtools.build.lib.buildeventstream.GenericBuildEvent;
import com.google.devtools.build.lib.buildeventstream.PathConverter;
@@ -40,7 +41,7 @@
public class TestAttempt implements BuildEventWithOrderConstraint {
private final TestRunnerAction testAction;
- private final BlazeTestStatus status;
+ private final TestStatus status;
private final boolean cachedLocally;
private final int attempt;
private final boolean lastAttempt;
@@ -71,7 +72,7 @@
this.testAction = testAction;
this.executionInfo = Preconditions.checkNotNull(executionInfo);
this.attempt = attempt;
- this.status = Preconditions.checkNotNull(status);
+ this.status = BuildEventStreamerUtils.bepStatus(Preconditions.checkNotNull(status));
this.cachedLocally = cachedLocally;
this.startTimeMillis = startTimeMillis;
this.durationMillis = durationMillis;
@@ -86,24 +87,21 @@
*/
public static TestAttempt forExecutedTestResult(
TestRunnerAction testAction,
- BuildEventStreamProtos.TestResult.ExecutionInfo executionInfo,
+ TestResultData attemptData,
int attempt,
- BlazeTestStatus status,
- long startTimeMillis,
- long durationMillis,
Collection<Pair<String, Path>> files,
- List<String> testWarnings,
+ BuildEventStreamProtos.TestResult.ExecutionInfo executionInfo,
boolean lastAttempt) {
return new TestAttempt(
false,
testAction,
executionInfo,
attempt,
- status,
- startTimeMillis,
- durationMillis,
+ attemptData.getStatus(),
+ attemptData.getStartTimeMillisEpoch(),
+ attemptData.getRunDurationMillis(),
files,
- testWarnings,
+ attemptData.getWarningList(),
lastAttempt);
}
@@ -143,7 +141,7 @@
}
@VisibleForTesting
- public BlazeTestStatus getStatus() {
+ public TestStatus getStatus() {
return status;
}
@@ -189,7 +187,7 @@
PathConverter pathConverter = converters.pathConverter();
BuildEventStreamProtos.TestResult.Builder builder =
BuildEventStreamProtos.TestResult.newBuilder();
- builder.setStatus(BuildEventStreamerUtils.bepStatus(status));
+ builder.setStatus(status);
builder.setExecutionInfo(executionInfo);
builder.setCachedLocally(cachedLocally);
builder.setTestAttemptStartMillisEpoch(startTimeMillis);
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index 29b35fd..15b05fa 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -1392,6 +1392,7 @@
"//src/main/java/com/google/devtools/build/lib:io",
"//src/main/java/com/google/devtools/build/lib:util",
"//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:build_event_stream_java_proto",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils",
"//src/main/java/com/google/devtools/build/lib/vfs",
diff --git a/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java b/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java
index 7c89da4..1aa1818 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java
@@ -37,6 +37,7 @@
import com.google.devtools.build.lib.analysis.test.TestResult;
import com.google.devtools.build.lib.analysis.test.TestRunnerAction;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
+import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.TestStatus;
import com.google.devtools.build.lib.clock.BlazeClock;
import com.google.devtools.build.lib.events.StoredEventHandler;
import com.google.devtools.build.lib.exec.TestStrategy.TestOutputFormat;
@@ -252,10 +253,10 @@
TestAttempt failedAttempt = attempts.get(0);
assertThat(failedAttempt.getExecutionInfo().getStrategy()).isEqualTo("test");
assertThat(failedAttempt.getExecutionInfo().getHostname()).isEqualTo("");
- assertThat(failedAttempt.getStatus()).isEqualTo(BlazeTestStatus.FAILED);
+ assertThat(failedAttempt.getStatus()).isEqualTo(TestStatus.FAILED);
assertThat(failedAttempt.getExecutionInfo().getCachedRemotely()).isFalse();
TestAttempt okAttempt = attempts.get(1);
- assertThat(okAttempt.getStatus()).isEqualTo(BlazeTestStatus.PASSED);
+ assertThat(okAttempt.getStatus()).isEqualTo(TestStatus.PASSED);
assertThat(okAttempt.getExecutionInfo().getStrategy()).isEqualTo("test");
assertThat(okAttempt.getExecutionInfo().getHostname()).isEqualTo("");
}
@@ -333,7 +334,7 @@
.filter(TestAttempt.class::isInstance)
.map(TestAttempt.class::cast)
.collect(MoreCollectors.onlyElement());
- assertThat(attempt.getStatus()).isEqualTo(BlazeTestStatus.PASSED);
+ assertThat(attempt.getStatus()).isEqualTo(TestStatus.PASSED);
assertThat(attempt.getExecutionInfo().getStrategy()).isEqualTo("remote");
assertThat(attempt.getExecutionInfo().getHostname()).isEqualTo("a-remote-host");
}