Have GraphTest test rdep consistency conditionally since some graph implementations don't store rdeps for done nodes.

RELNOTES: None
PiperOrigin-RevId: 179455698
diff --git a/src/test/java/com/google/devtools/build/skyframe/GraphTest.java b/src/test/java/com/google/devtools/build/skyframe/GraphTest.java
index 26fcefc..a864f48 100644
--- a/src/test/java/com/google/devtools/build/skyframe/GraphTest.java
+++ b/src/test/java/com/google/devtools/build/skyframe/GraphTest.java
@@ -58,6 +58,10 @@
 
   protected abstract Version getNextVersion(Version version);
 
+  protected boolean checkRdeps() {
+    return true;
+  }
+
   @Before
   public void init() throws Exception {
     makeGraph();
@@ -194,7 +198,9 @@
                 for (int k = chunkSize; k <= numIterations; k++) {
                   entry.removeReverseDep(key("rdep" + j));
                   entry.addReverseDepAndCheckIfDone(key("rdep" + j));
-                  entry.getReverseDepsForDoneEntry();
+                  if (checkRdeps()) {
+                    entry.getReverseDepsForDoneEntry();
+                  }
                 }
               } catch (InterruptedException e) {
                 fail("Test failed: " + e.toString());
@@ -210,8 +216,10 @@
     wrapper.waitForTasksAndMaybeThrow();
     assertThat(ExecutorUtil.interruptibleShutdown(pool)).isFalse();
     assertThat(graph.get(null, Reason.OTHER, key).getValue()).isEqualTo(new StringValue("foo1"));
-    assertThat(graph.get(null, Reason.OTHER, key).getReverseDepsForDoneEntry())
-        .hasSize(numKeys + 1);
+    if (checkRdeps()) {
+      assertThat(graph.get(null, Reason.OTHER, key).getReverseDepsForDoneEntry())
+          .hasSize(numKeys + 1);
+    }
 
     graph = getGraph(getNextVersion(startingVersion));
     NodeEntry sameEntry = Preconditions.checkNotNull(graph.get(null, Reason.OTHER, key));
@@ -221,8 +229,10 @@
     sameEntry.markRebuilding();
     sameEntry.setValue(new StringValue("foo2"), getNextVersion(startingVersion));
     assertThat(graph.get(null, Reason.OTHER, key).getValue()).isEqualTo(new StringValue("foo2"));
-    assertThat(graph.get(null, Reason.OTHER, key).getReverseDepsForDoneEntry())
-        .hasSize(numKeys + 1);
+    if (checkRdeps()) {
+      assertThat(graph.get(null, Reason.OTHER, key).getReverseDepsForDoneEntry())
+          .hasSize(numKeys + 1);
+    }
   }
 
   // Tests adding inflight nodes with a given key while an existing node with the same key
@@ -450,8 +460,10 @@
       NodeEntry entry = graph.get(null, Reason.OTHER, key("foo" + i));
       assertThat(entry.getValue()).isEqualTo(new StringValue("bar" + i));
       assertThat(entry.getVersion()).isEqualTo(getNextVersion(startingVersion));
-      for (SkyKey key : entry.getReverseDepsForDoneEntry()) {
-        assertThat(key).isEqualTo(key("rdep"));
+      if (checkRdeps()) {
+        for (SkyKey key : entry.getReverseDepsForDoneEntry()) {
+          assertThat(key).isEqualTo(key("rdep"));
+        }
       }
       for (SkyKey key : entry.getDirectDeps()) {
         assertThat(key).isEqualTo(key("dep"));