aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-06-04 06:50:17 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-06-04 06:51:28 -0700
commitbdba40fb49cf9bd472d749b3e0e5f5713caef277 (patch)
treee4762e7997e474581c0db156456d9ad1ba7b94cf
parent51fdaa3e73c4623dc0a06592ab3cf2f3452d5946 (diff)
Allow injection of custom SkyFunctions into GraphTester.
PiperOrigin-RevId: 199126212
-rw-r--r--src/test/java/com/google/devtools/build/skyframe/GraphTester.java13
1 files changed, 10 insertions, 3 deletions
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 8901ae47f9..9b129df70e 100644
--- a/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
+++ b/src/test/java/com/google/devtools/build/skyframe/GraphTester.java
@@ -50,12 +50,15 @@ import javax.annotation.Nullable;
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<SkyFunctionName, SkyFunction> functionMap = new HashMap<>();
private final Map<SkyKey, TestFunction> values = new HashMap<>();
private final Set<SkyKey> modifiedValues = new LinkedHashSet<>();
+ public GraphTester() {
+ functionMap.put(NODE_TYPE, new DelegatingFunction());
+ }
+
public TestFunction getOrCreate(String name) {
return getOrCreate(skyKey(name));
}
@@ -309,7 +312,11 @@ public class GraphTester {
}
public ImmutableMap<SkyFunctionName, ? extends SkyFunction> getSkyFunctionMap() {
- return functionMap;
+ return ImmutableMap.copyOf(functionMap);
+ }
+
+ public void putSkyFunction(SkyFunctionName functionName, SkyFunction function) {
+ functionMap.put(functionName, function);
}
/**