diff options
author | mschaller <mschaller@google.com> | 2018-07-01 21:29:19 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-01 21:30:22 -0700 |
commit | 4f64b77a3dd8e4ccdc8077051927985f9578a3a5 (patch) | |
tree | 29bd53b6118db8d9f6d135425d10f2842c575e74 /src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java | |
parent | b9166943e5dc23f7ce8ef2dce3cb98e5ce26e50b (diff) |
Native Skyframe support for node restarting
Useful for attempting to recover relationships between Skyframe graph
state and external systems, when the evaluation of a Skyframe node has
the side effect of creating that relationship.
Currently, only supported in graph evaluations when reverse dependency
edges are not tracked.
RELNOTES: None.
PiperOrigin-RevId: 202892953
Diffstat (limited to 'src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java | 19 |
1 files changed, 13 insertions, 6 deletions
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 0f6090d47c..3112cff3ce 100644 --- a/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java +++ b/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java @@ -2283,7 +2283,7 @@ public class MemoizingEvaluatorTest { @Override public SkyValue compute(SkyKey skyKey, Environment env) { if (numFunctionCalls.getAndIncrement() < 2) { - return SkyFunction.SENTINEL_FOR_RESTART_FROM_SCRATCH; + return Restart.SELF; } return expectedValue; } @@ -2363,7 +2363,7 @@ public class MemoizingEvaluatorTest { } env.getValues(ImmutableList.of(newlyRequestedDoneDep, newlyRequestedNotDoneDep)); if (numFunctionCalls.get() < 4) { - return SkyFunction.SENTINEL_FOR_RESTART_FROM_SCRATCH; + return Restart.SELF; } else if (numFunctionCalls.get() == 4) { if (cleanBuild.get()) { Preconditions.checkState( @@ -4892,20 +4892,27 @@ public class MemoizingEvaluatorTest { this.driver = getBuildDriver(evaluator); } - public void setProgressReceiver(TrackingProgressReceiver customProgressReceiver) { - Preconditions.checkState(evaluator == null, "evaluator already initialized"); - progressReceiver = customProgressReceiver; + /** + * Sets the {@link #progressReceiver}. {@link #initialize} must be called after this to have any + * effect. + */ + public void setProgressReceiver(TrackingProgressReceiver progressReceiver) { + this.progressReceiver = progressReceiver; } /** * Sets the {@link #graphInconsistencyReceiver}. {@link #initialize} must be called after this - * to have any effect/ + * to have any effect. */ public void setGraphInconsistencyReceiver( GraphInconsistencyReceiver graphInconsistencyReceiver) { this.graphInconsistencyReceiver = graphInconsistencyReceiver; } + public MemoizingEvaluator getEvaluator() { + return evaluator; + } + public void invalidate() { differencer.invalidate(getModifiedValues()); clearModifiedValues(); |