aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Michajlo Matijkiw <michajlo@google.com>2015-10-15 20:54:33 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2015-10-16 07:40:24 +0000
commit6630426fb6b2380a8bf78ca77b7f42606b33702c (patch)
tree50b8984416f051a9f326c8f501bc02e6980c2ffa /src/main/java/com/google/devtools
parent629a7c4d97efbb4b2001650f30f9168968ffa9e7 (diff)
Move to using "well-known" SkyFunctionNames in tests exercising graph
-- MOS_MIGRATED_REVID=105539869
Diffstat (limited to 'src/main/java/com/google/devtools')
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java4
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/SkyFunctionName.java7
2 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
index 59ff33ad48..6dc31eeaf6 100644
--- a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
@@ -1513,8 +1513,8 @@ public final class ParallelEvaluator implements Evaluator {
// graph stack.
while (!toVisit.isEmpty()) {
SkyKey key = toVisit.pop();
- NodeEntry entry = graph.get(key);
+ NodeEntry entry;
if (key == CHILDREN_FINISHED) {
// A marker node means we are done with all children of a node. Since all nodes have
// errors, we must have found errors in the children when that happens.
@@ -1548,6 +1548,8 @@ public final class ParallelEvaluator implements Evaluator {
SkyFunctionEnvironment env = new SkyFunctionEnvironment(key, directDeps, visitor);
env.setError(ErrorInfo.fromChildErrors(key, errorDeps));
env.commit(/*enqueueParents=*/false);
+ } else {
+ entry = graph.get(key);
}
Preconditions.checkNotNull(entry, key);
diff --git a/src/main/java/com/google/devtools/build/skyframe/SkyFunctionName.java b/src/main/java/com/google/devtools/build/skyframe/SkyFunctionName.java
index a214bd33de..af7474c506 100644
--- a/src/main/java/com/google/devtools/build/skyframe/SkyFunctionName.java
+++ b/src/main/java/com/google/devtools/build/skyframe/SkyFunctionName.java
@@ -38,6 +38,13 @@ public final class SkyFunctionName implements Serializable {
}
});
+ /**
+ * A well-known key type intended for testing only. The associated SkyKey should have a String
+ * argument.
+ */
+ // Needs to be after the cache is initialized.
+ public static final SkyFunctionName FOR_TESTING = SkyFunctionName.create("FOR_TESTING");
+
/** Create a SkyFunctionName identified by {@code name}. */
public static SkyFunctionName create(String name) {
try {