Simplify SkyFunctionEnvironmentForTesting
Its getValueOrUntypedExceptions method makes a redundant call to
buildDriver, given its call to skyframeExecutor.
RELNOTES: None.
PiperOrigin-RevId: 232888986
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctionEnvironmentForTesting.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctionEnvironmentForTesting.java
index 52da7f0..03b22ee 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctionEnvironmentForTesting.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctionEnvironmentForTesting.java
@@ -18,10 +18,7 @@
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.events.ExtendedEventHandler;
-import com.google.devtools.build.lib.util.ResourceUsage;
import com.google.devtools.build.skyframe.AbstractSkyFunctionEnvironment;
-import com.google.devtools.build.skyframe.BuildDriver;
-import com.google.devtools.build.skyframe.EvaluationContext;
import com.google.devtools.build.skyframe.EvaluationResult;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.devtools.build.skyframe.SkyKey;
@@ -29,38 +26,29 @@
import com.google.devtools.build.skyframe.ValueOrUntypedException;
import java.util.Map;
-/** A skyframe environment that can be used to evaluate arbitrary skykeys for testing. */
+/**
+ * A {@link SkyFunction.Environment} backed by a {@link SkyframeExecutor} that can be used to
+ * evaluate arbitrary {@link SkyKey}s for testing.
+ */
public class SkyFunctionEnvironmentForTesting extends AbstractSkyFunctionEnvironment
implements SkyFunction.Environment {
- private final BuildDriver buildDriver;
private final ExtendedEventHandler eventHandler;
private final SkyframeExecutor skyframeExecutor;
- /** Creates a SkyFunctionEnvironmentForTesting that uses a BuildDriver to evaluate skykeys. */
- public SkyFunctionEnvironmentForTesting(
- BuildDriver buildDriver,
- ExtendedEventHandler eventHandler,
- SkyframeExecutor skyframeExecutor) {
- this.buildDriver = buildDriver;
+ SkyFunctionEnvironmentForTesting(
+ ExtendedEventHandler eventHandler, SkyframeExecutor skyframeExecutor) {
this.eventHandler = eventHandler;
this.skyframeExecutor = skyframeExecutor;
}
@Override
protected Map<SkyKey, ValueOrUntypedException> getValueOrUntypedExceptions(
- Iterable<? extends SkyKey> depKeys) throws InterruptedException {
+ Iterable<? extends SkyKey> depKeys) {
ImmutableMap.Builder<SkyKey, ValueOrUntypedException> resultMap = ImmutableMap.builder();
Iterable<SkyKey> keysToEvaluate = ImmutableList.copyOf(depKeys);
- EvaluationContext evaluationContext =
- EvaluationContext.newBuilder()
- .setKeepGoing(true)
- .setNumThreads(ResourceUsage.getAvailableProcessors())
- .setEventHander(eventHandler)
- .build();
EvaluationResult<SkyValue> evaluationResult =
skyframeExecutor.evaluateSkyKeys(eventHandler, keysToEvaluate, true);
- buildDriver.evaluate(depKeys, evaluationContext);
for (SkyKey depKey : ImmutableSet.copyOf(depKeys)) {
resultMap.put(depKey, ValueOrUntypedException.ofValueUntyped(evaluationResult.get(depKey)));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index 8c2bfc2..171b64a 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -1176,7 +1176,7 @@
@VisibleForTesting
public SkyFunctionEnvironmentForTesting getSkyFunctionEnvironmentForTesting(
ExtendedEventHandler eventHandler) {
- return new SkyFunctionEnvironmentForTesting(buildDriver, eventHandler, this);
+ return new SkyFunctionEnvironmentForTesting(eventHandler, this);
}
/**