Minor cleanups to GraphTester
Refactors SkyFunction map creation into the tester from tests.
Encapsulates modifiedValues better.
--
MOS_MIGRATED_REVID=105982046
diff --git a/src/test/java/com/google/devtools/build/skyframe/EagerInvalidatorTest.java b/src/test/java/com/google/devtools/build/skyframe/EagerInvalidatorTest.java
index be7391f..629c8f3 100644
--- a/src/test/java/com/google/devtools/build/skyframe/EagerInvalidatorTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/EagerInvalidatorTest.java
@@ -26,7 +26,6 @@
import com.google.common.base.Preconditions;
import com.google.common.base.Supplier;
import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.collect.Sets;
import com.google.common.testing.GcFinalization;
@@ -144,7 +143,7 @@
new ParallelEvaluator(
graph,
graphVersion,
- ImmutableMap.of(GraphTester.NODE_TYPE, tester.createDelegatingFunction()),
+ tester.getSkyFunctionMap(),
reporter,
new MemoizingEvaluator.EmittedEventState(),
InMemoryMemoizingEvaluator.DEFAULT_STORED_EVENT_FILTER,
diff --git a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
index f7c2da4..2d44e9d 100644
--- a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
+++ b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
@@ -16,13 +16,14 @@
import static com.google.common.truth.Truth.assertThat;
import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.skyframe.SkyFunction.Environment;
import com.google.devtools.build.skyframe.SkyFunctionException.Transience;
-import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
@@ -46,6 +47,8 @@
public class GraphTester {
public static final SkyFunctionName NODE_TYPE = SkyFunctionName.FOR_TESTING;
+ private final ImmutableMap<SkyFunctionName, ? extends SkyFunction> functionMap =
+ ImmutableMap.of(GraphTester.NODE_TYPE, new DelegatingFunction());
private final Map<SkyKey, TestFunction> values = new HashMap<>();
private final Set<SkyKey> modifiedValues = new LinkedHashSet<>();
@@ -77,8 +80,12 @@
return getOrCreate(key, true).setConstantValue(value);
}
- public Collection<SkyKey> getModifiedValues() {
- return modifiedValues;
+ public ImmutableSet<SkyKey> getModifiedValues() {
+ return ImmutableSet.copyOf(modifiedValues);
+ }
+
+ public void clearModifiedValues() {
+ modifiedValues.clear();
}
public SkyFunction getFunction() {
@@ -276,8 +283,8 @@
}
}
- public DelegatingFunction createDelegatingFunction() {
- return new DelegatingFunction();
+ public ImmutableMap<SkyFunctionName, ? extends SkyFunction> getSkyFunctionMap() {
+ return functionMap;
}
/**
diff --git a/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java b/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
index 2187cb7..5ced1bd 100644
--- a/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java
@@ -3670,10 +3670,7 @@
public void initialize() {
this.differencer = new RecordingDifferencer();
this.evaluator =
- getMemoizingEvaluator(
- ImmutableMap.of(NODE_TYPE, createDelegatingFunction()),
- differencer,
- invalidationReceiver);
+ getMemoizingEvaluator(getSkyFunctionMap(), differencer, invalidationReceiver);
this.driver = getBuildDriver(evaluator);
}
@@ -3684,7 +3681,7 @@
public void invalidate() {
differencer.invalidate(getModifiedValues());
- getModifiedValues().clear();
+ clearModifiedValues();
invalidationReceiver.clear();
}
diff --git a/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java b/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
index ebe3419..bf306e4 100644
--- a/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/ParallelEvaluatorTest.java
@@ -148,9 +148,7 @@
protected <T extends SkyValue> EvaluationResult<T> eval(boolean keepGoing, Iterable<SkyKey> keys)
throws InterruptedException {
- ParallelEvaluator evaluator = makeEvaluator(graph,
- ImmutableMap.of(GraphTester.NODE_TYPE, tester.createDelegatingFunction()),
- keepGoing);
+ ParallelEvaluator evaluator = makeEvaluator(graph, tester.getSkyFunctionMap(), keepGoing);
return evaluator.eval(keys);
}
@@ -519,7 +517,7 @@
ParallelEvaluator evaluator =
makeEvaluator(
graph,
- ImmutableMap.of(GraphTester.NODE_TYPE, tester.createDelegatingFunction()),
+ tester.getSkyFunctionMap(),
/*keepGoing=*/ false,
new EventFilter() {
@Override
@@ -538,9 +536,7 @@
assertContainsEvent(eventCollector, "boop");
assertContainsEvent(eventCollector, "beep");
eventCollector.clear();
- evaluator = makeEvaluator(graph,
- ImmutableMap.of(GraphTester.NODE_TYPE, tester.createDelegatingFunction()),
- /*keepGoing=*/false);
+ evaluator = makeEvaluator(graph, tester.getSkyFunctionMap(), /*keepGoing=*/ false);
evaluated.set(false);
evaluator.eval(ImmutableList.of(a));
assertFalse(evaluated.get());