From 0e7767b7887b16cce08e339398dde2aa6174fb3d Mon Sep 17 00:00:00 2001 From: Janak Ramakrishnan Date: Thu, 1 Sep 2016 14:09:36 +0000 Subject: Make MemoizingEvaluatorTest#nodeInvalidatedThenDoubleCycle a bit more complete. -- MOS_MIGRATED_REVID=131944129 --- .../devtools/build/skyframe/MemoizingEvaluatorTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/test/java/com/google') 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 f0f34b4276..704ba33de8 100644 --- a/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java +++ b/src/test/java/com/google/devtools/build/skyframe/MemoizingEvaluatorTest.java @@ -1440,6 +1440,19 @@ public class MemoizingEvaluatorTest { .hasCycleInfoThat() .hasSize(1); } + // When the nodes return to their original, error-free state, + tester + .getOrCreate(topKey, /*markAsModified=*/ true) + .setBuilder(null) + .addDependency(depKey) + .setConstantValue(new StringValue("a")); + tester.getOrCreate(depKey, /*markAsModified=*/ true).removeDependency(depKey); + tester.invalidate(); + // Then evaluation is as expected. + EvaluationResult result3 = tester.eval(/*keepGoing=*/ true, topKey, depKey); + assertThatEvaluationResult(result3).hasEntryThat(topKey).isEqualTo(new StringValue("a")); + assertThatEvaluationResult(result3).hasEntryThat(depKey).isEqualTo(new StringValue("b")); + assertThatEvaluationResult(result3).hasNoError(); } @Test -- cgit v1.2.3