Update tests to work with NestedSet not Iterable (part 1)

PiperOrigin-RevId: 289613917
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AnalysisFailureReportingTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AnalysisFailureReportingTest.java
index 0a55791..b6d0242 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AnalysisFailureReportingTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AnalysisFailureReportingTest.java
@@ -203,7 +203,7 @@
 
     @Subscribe
     public void failureEvent(AnalysisFailureEvent event) {
-      events.putAll(event.getFailedTarget().getLabel(), event.getRootCauses());
+      events.putAll(event.getFailedTarget().getLabel(), event.getRootCauses().toList());
     }
   }
 }
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
index 7f2cea6..c220b33 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
@@ -77,7 +77,7 @@
         "alias(name='b', actual=select({'//conditions:default': ':c'}))",
         "base(name='c')");
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("aspect //a:c", "rule //a:a");
   }
 
@@ -92,7 +92,7 @@
         "base(name='e')");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("aspect //a:e", "rule //a:a");
   }
 
@@ -105,7 +105,7 @@
         "alias(name='c', actual=select({'//conditions:default': ':d'}))",
         "base(name='d')");
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("aspect //a:d", "rule //a:a");
   }
 
@@ -117,7 +117,7 @@
         "aspect(name='b', foo=[])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("aspect //a:b", "rule //a:a");
   }
 
@@ -131,7 +131,7 @@
         "liar(name='b', foo=[])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData()).containsExactly("rule //a:a");
+    assertThat(a.getProvider(RuleInfo.class).getData().toList()).containsExactly("rule //a:a");
   }
 
   @Test
@@ -145,7 +145,7 @@
         "liar(name='b', foo=[])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData()).containsExactly("rule //a:a");
+    assertThat(a.getProvider(RuleInfo.class).getData().toList()).containsExactly("rule //a:a");
   }
 
   @Test
@@ -161,7 +161,7 @@
     );
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData()).containsExactly("rule //a:a");
+    assertThat(a.getProvider(RuleInfo.class).getData().toList()).containsExactly("rule //a:a");
   }
 
   @Test
@@ -175,8 +175,8 @@
         "honest(name='b', foo=[])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData()).containsExactly(
-        "rule //a:a", "aspect //a:b");
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
+        .containsExactly("rule //a:a", "aspect //a:b");
   }
 
   @Test
@@ -192,8 +192,8 @@
     );
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData()).containsExactly(
-        "rule //a:a", "aspect //a:b", "aspect //a:c");
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
+        .containsExactly("rule //a:a", "aspect //a:b", "aspect //a:c");
   }
 
 
@@ -222,7 +222,7 @@
         reporter, ModifiedFileSet.EVERYTHING_MODIFIED, Root.fromPath(rootDirectory));
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("rule //a:a", "aspect //a:b");
   }
 
@@ -237,7 +237,7 @@
         "honest(name='b', foo=[])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("rule //a:a", "aspect //a:b");
   }
 
@@ -252,7 +252,7 @@
         "honest2(name='c', foo=[])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("rule //a:a", "aspect //a:b", "aspect //a:c");
   }
 
@@ -271,7 +271,7 @@
         "honest(name='b', foo=[':c'])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(TestAspects.RuleInfo.class).getData())
+    assertThat(a.getProvider(TestAspects.RuleInfo.class).getData().toList())
         .containsExactly(
             "rule //a:a",
             "aspect //a:b data //a:q $dep:[ //a:q]",
@@ -366,7 +366,7 @@
         "aspect(name='b', foo=[])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("aspect //a:b", "rule //a:a");
   }
 
@@ -379,7 +379,7 @@
         "simple(name='b')");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData()).containsExactly("foo", "bar");
+    assertThat(a.getProvider(RuleInfo.class).getData().toList()).containsExactly("foo", "bar");
   }
 
   @Test
@@ -391,7 +391,7 @@
         "honest(name='b', foo=[])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("rule //a:a", "aspect //a:b data hello");
   }
 
@@ -462,7 +462,7 @@
         "testrule(name='a', foo=[':b'])",
         "testrule(name='b')");
     ConfiguredTarget a = getConfiguredTarget("//a:a");
-    assertThat(a.getProvider(RuleInfo.class).getData()).contains("empty");
+    assertThat(a.getProvider(RuleInfo.class).getData().toList()).contains("empty");
   }
 
   /**
@@ -538,7 +538,7 @@
     ConfiguredTarget a = getConfiguredTarget("//a:a");
     NestedSet<Artifact.DerivedArtifact> extraActionArtifacts =
         a.getProvider(ExtraActionArtifactsProvider.class).getTransitiveExtraActionArtifacts();
-    for (Artifact artifact : extraActionArtifacts) {
+    for (Artifact artifact : extraActionArtifacts.toList()) {
       assertThat(artifact.getOwnerLabel()).isEqualTo(Label.create("@//a", "b"));
     }
   }
@@ -554,8 +554,8 @@
         "all_attributes_aspect(name='x', foo=[':a'])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:x");
-    assertThat(a.getProvider(RuleInfo.class).getData())
-        .containsExactly("aspect //a:a",  "aspect //a:b", "aspect //a:c", "rule //a:x");
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
+        .containsExactly("aspect //a:a", "aspect //a:b", "aspect //a:c", "rule //a:x");
   }
 
   /**
@@ -727,13 +727,9 @@
     update();
 
     ConfiguredTarget a = getConfiguredTarget("//a:x");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly(
-            "aspect //a:a",
-            "aspect //a:b",
-            "aspect //a:c",
-            "aspect //extra:extra",
-            "rule //a:x");
+            "aspect //a:a", "aspect //a:b", "aspect //a:c", "aspect //extra:extra", "rule //a:x");
   }
 
 
@@ -755,13 +751,9 @@
     update();
 
     ConfiguredTarget a = getConfiguredTarget("//a:x");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly(
-            "aspect //a:a",
-            "aspect //a:b",
-            "aspect //a:c",
-            "aspect //extra:extra",
-            "rule //a:x");
+            "aspect //a:a", "aspect //a:b", "aspect //a:c", "aspect //extra:extra", "rule //a:x");
   }
 
   /**
@@ -779,7 +771,7 @@
         "all_attributes_with_tool_aspect(name='x', foo=[':a'])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:x");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly("aspect //a:a", "rule //a:x");
   }
 
@@ -800,7 +792,7 @@
         "all_attributes_with_tool_aspect(name='x', foo=[':a'])");
 
     ConfiguredTarget a = getConfiguredTarget("//a:x");
-    assertThat(a.getProvider(RuleInfo.class).getData())
+    assertThat(a.getProvider(RuleInfo.class).getData().toList())
         .containsExactly(
             "aspect //a:a", "aspect //a:b", "aspect //a:c", "aspect //a:tool", "rule //a:x");
   }
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
index 95bea15..432115a 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BuildViewTest.java
@@ -765,8 +765,7 @@
     ConfiguredTarget target = Iterables.getOnlyElement(getAnalysisResult().getTargetsToBuild());
     assertThat(target.getLabel().toString()).isEqualTo(aoutLabel);
 
-    Artifact aout = Iterables.getOnlyElement(
-        target.getProvider(FileProvider.class).getFilesToBuild());
+    Artifact aout = target.getProvider(FileProvider.class).getFilesToBuild().getSingleton();
     Action action = getGeneratingAction(aout);
     assertThat(action.getClass()).isSameInstanceAs(FailAction.class);
   }
@@ -783,8 +782,7 @@
         "cc_binary(name = 'foo', srcs = ['foo.cc'])");
     ConfiguredTarget foo =
         Iterables.getOnlyElement(update("//actions_not_registered:foo").getTargetsToBuild());
-    Artifact fooOut =
-        Iterables.getOnlyElement(foo.getProvider(FileProvider.class).getFilesToBuild());
+    Artifact fooOut = foo.getProvider(FileProvider.class).getFilesToBuild().getSingleton();
     assertThat(getActionGraph().getGeneratingAction(fooOut)).isNotNull();
     clearAnalysisResult();
 
@@ -828,8 +826,7 @@
     ConfiguredTarget target = Iterables.getOnlyElement(getAnalysisResult().getTargetsToBuild());
     assertThat(target.getLabel().toString()).isEqualTo(aoutLabel);
 
-    Artifact aout = Iterables.getOnlyElement(
-        target.getProvider(FileProvider.class).getFilesToBuild());
+    Artifact aout = target.getProvider(FileProvider.class).getFilesToBuild().getSingleton();
     Action action = getGeneratingAction(aout);
     assertThat(action.getClass()).isSameInstanceAs(FailAction.class);
   }
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/LabelExpanderTest.java b/src/test/java/com/google/devtools/build/lib/analysis/LabelExpanderTest.java
index 590933a..97894ae 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/LabelExpanderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/LabelExpanderTest.java
@@ -75,7 +75,7 @@
    */
   private void collectArtifacts() {
     ImmutableMap.Builder<String, Artifact> builder = ImmutableMap.builder();
-    for (Artifact artifact : getFilesToBuild(dummyTarget)) {
+    for (Artifact artifact : getFilesToBuild(dummyTarget).toList()) {
       builder.put(artifact.getRootRelativePath().toString(), artifact);
     }
     artifactsByName = builder.build();
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
index 06d43f0..85aab12 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesSupplierImplTest.java
@@ -50,7 +50,7 @@
     RunfilesSupplierImpl underTest =
         new RunfilesSupplierImpl(PathFragment.create("notimportant"), mkRunfiles(artifacts));
 
-    assertThat(underTest.getArtifacts()).containsExactlyElementsIn(artifacts);
+    assertThat(underTest.getArtifacts().toList()).containsExactlyElementsIn(artifacts);
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java
index 70aacf6..92eec07 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/RunfilesTest.java
@@ -432,8 +432,7 @@
     Runfiles runfiles2 = new Runfiles.Builder("TESTING").addLegacyExtraMiddleman(mm2).build();
     Runfiles runfilesMerged =
         new Runfiles.Builder("TESTING").merge(runfiles1).merge(runfiles2).build();
-    assertThat(runfilesMerged.getExtraMiddlemen())
-        .containsExactlyElementsIn(ImmutableList.of(mm1, mm2));
+    assertThat(runfilesMerged.getExtraMiddlemen().toList()).containsExactly(mm1, mm2);
   }
 
   @Test
@@ -452,7 +451,7 @@
                         .map((f) -> f.replaceName(f.getBaseName() + "-empty"))
                         .collect(ImmutableList.toImmutableList()))
             .build();
-    assertThat(runfiles.getEmptyFilenames())
+    assertThat(runfiles.getEmptyFilenames().toList())
         .containsExactly("my-artifact-empty", "my-symlink-empty");
   }
 }
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java b/src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java
index 832d049..aed1bc1 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelperTest.java
@@ -74,20 +74,20 @@
     setup(asList(Pair.of("foo", 3), Pair.of("bar", 2)));
 
     ArtifactsToBuild allArtifacts = getAllArtifactsToBuild(groupProvider, null, ctx);
-    assertThat(allArtifacts.getAllArtifacts()).hasSize(5);
-    assertThat(allArtifacts.getImportantArtifacts()).hasSize(5);
+    assertThat(allArtifacts.getAllArtifacts().toList()).hasSize(5);
+    assertThat(allArtifacts.getImportantArtifacts().toList()).hasSize(5);
 
     NestedSet<ArtifactsInOutputGroup> artifactsByGroup =
         allArtifacts.getAllArtifactsByOutputGroup();
     // Two groups
-    assertThat(artifactsByGroup).hasSize(2);
+    assertThat(artifactsByGroup.toList()).hasSize(2);
 
-    for (ArtifactsInOutputGroup artifacts : artifactsByGroup) {
+    for (ArtifactsInOutputGroup artifacts : artifactsByGroup.toList()) {
       String outputGroup = artifacts.getOutputGroup();
       if ("foo".equals(outputGroup)) {
-        assertThat(artifacts.getArtifacts()).hasSize(3);
+        assertThat(artifacts.getArtifacts().toList()).hasSize(3);
       } else if ("bar".equals(outputGroup)) {
-        assertThat(artifacts.getArtifacts()).hasSize(2);
+        assertThat(artifacts.getArtifacts().toList()).hasSize(2);
       }
     }
   }
@@ -97,13 +97,13 @@
     setup(asList(Pair.of("foo", 1), Pair.of("bar", 0)));
 
     ArtifactsToBuild allArtifacts = getAllArtifactsToBuild(groupProvider, null, ctx);
-    assertThat(allArtifacts.getAllArtifacts()).hasSize(1);
-    assertThat(allArtifacts.getImportantArtifacts()).hasSize(1);
+    assertThat(allArtifacts.getAllArtifacts().toList()).hasSize(1);
+    assertThat(allArtifacts.getImportantArtifacts().toList()).hasSize(1);
 
     NestedSet<ArtifactsInOutputGroup> artifactsByGroup =
         allArtifacts.getAllArtifactsByOutputGroup();
     // The bar list should not appear here, as it contains no artifacts.
-    assertThat(artifactsByGroup).hasSize(1);
+    assertThat(artifactsByGroup.toList()).hasSize(1);
     assertThat(artifactsByGroup.toList().get(0).getOutputGroup()).isEqualTo("foo");
   }
 
@@ -112,8 +112,8 @@
     setup(asList(Pair.of(HIDDEN_OUTPUT_GROUP_PREFIX + "notimportant", 1), Pair.of("important", 2)));
 
     ArtifactsToBuild allArtifacts = getAllArtifactsToBuild(groupProvider, null, ctx);
-    assertThat(allArtifacts.getAllArtifacts()).hasSize(3);
-    assertThat(allArtifacts.getImportantArtifacts()).hasSize(2);
+    assertThat(allArtifacts.getAllArtifacts().toList()).hasSize(3);
+    assertThat(allArtifacts.getImportantArtifacts().toList()).hasSize(2);
   }
 
   private NestedSet<Artifact> newArtifacts(int num) {
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java
index 5af3cc0..da0d408 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java
@@ -80,7 +80,7 @@
   }
 
   protected void checkNoInputsByDefault() {
-    assertThat(action.getInputs()).isEmpty();
+    assertThat(action.getInputs().toList()).isEmpty();
     assertThat(action.getPrimaryInput()).isNull();
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
index aa9047b..098dafe 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java
@@ -85,7 +85,7 @@
         createParameterFileWriteAction(
             NestedSetBuilder.create(Order.STABLE_ORDER, treeArtifact),
             createTreeArtifactExpansionCommandLineDefault());
-    assertThat(Artifact.toExecPaths(action.getInputs()))
+    assertThat(Artifact.asExecPaths(action.getInputs()))
         .containsExactly("out/artifact/myTreeFileArtifact");
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
index 56a0a10..71833d7 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplateTest.java
@@ -60,7 +60,7 @@
   @Test
   public void testInputAndOutputTreeArtifacts() {
     SpawnActionTemplate actionTemplate = createSimpleSpawnActionTemplate();
-    assertThat(actionTemplate.getInputs()).containsExactly(createInputTreeArtifact());
+    assertThat(actionTemplate.getInputs().toList()).containsExactly(createInputTreeArtifact());
     assertThat(actionTemplate.getOutputs()).containsExactly(createOutputTreeArtifact());
   }
 
@@ -84,8 +84,9 @@
         .addCommonInputs(ImmutableList.of(commonInput))
         .build(ActionsTestUtil.NULL_ACTION_OWNER);
 
-    assertThat(actionTemplate.getTools()).containsAtLeast(commonTool, executable);
-    assertThat(actionTemplate.getInputs()).containsAtLeast(commonInput, commonTool, executable);
+    assertThat(actionTemplate.getTools().toList()).containsAtLeast(commonTool, executable);
+    assertThat(actionTemplate.getInputs().toList())
+        .containsAtLeast(commonInput, commonTool, executable);
   }
 
   @Test
@@ -206,9 +207,10 @@
 
     for (int i = 0; i < expandedActions.size(); ++i) {
       String baseName = String.format("child%d", i);
-      assertThat(expandedActions.get(i).getInputs()).containsExactly(
-          ActionInputHelper.treeFileArtifact(
-              inputTreeArtifact, PathFragment.create("children/" + baseName)));
+      assertThat(expandedActions.get(i).getInputs().toList())
+          .containsExactly(
+              ActionInputHelper.treeFileArtifact(
+                  inputTreeArtifact, PathFragment.create("children/" + baseName)));
       assertThat(expandedActions.get(i).getOutputs()).containsExactly(
           ActionInputHelper.treeFileArtifact(
               outputTreeArtifact, PathFragment.create("children/" + baseName)));
@@ -242,9 +244,10 @@
                 inputTreeFileArtifacts, ActionsTestUtil.NULL_ARTIFACT_OWNER));
 
     for (int i = 0; i < expandedActions.size(); ++i) {
-      assertThat(expandedActions.get(i).getInputs())
+      assertThat(expandedActions.get(i).getInputs().toList())
           .containsAtLeast(commonInput, commonTool, executable);
-      assertThat(expandedActions.get(i).getTools()).containsAtLeast(commonTool, executable);
+      assertThat(expandedActions.get(i).getTools().toList())
+          .containsAtLeast(commonTool, executable);
     }
   }
 
@@ -290,7 +293,8 @@
     assertThat(expandedActions).hasSize(3);
 
     for (int i = 0; i < expandedActions.size(); ++i) {
-      assertThat(expandedActions.get(i).getIncompleteEnvironmentForTesting()).containsExactly("env", "value");
+      assertThat(expandedActions.get(i).getIncompleteEnvironmentForTesting())
+          .containsExactly("env", "value");
       assertThat(expandedActions.get(i).getExecutionInfo()).containsExactly("local", "");
     }
   }
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java
index f826c30..60655e2 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java
@@ -68,7 +68,7 @@
 
   @Test
   public void testInputArtifactIsInput() {
-    Iterable<Artifact> inputs = action.getInputs();
+    Iterable<Artifact> inputs = action.getInputs().toList();
     assertThat(inputs).containsExactly(inputArtifact);
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java
index 2e8e50e..6d3518c 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java
@@ -101,7 +101,7 @@
 
   @Test
   public void testInputsIsEmpty() {
-    assertThat(create().getInputs()).isEmpty();
+    assertThat(create().getInputs().toList()).isEmpty();
   }
 
   @Test
@@ -219,7 +219,7 @@
 
   @Test
   public void testArtifactTemplateHasInput() {
-    assertThat(createWithArtifact().getInputs()).containsExactly(inputArtifact);
+    assertThat(createWithArtifact().getInputs().toList()).containsExactly(inputArtifact);
   }
 
   @Test
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index f392669..e5960f5 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -20,7 +20,6 @@
 import static org.junit.Assert.fail;
 
 import com.google.common.base.Ascii;
-import com.google.common.base.Function;
 import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Predicate;
@@ -710,7 +709,7 @@
       ConfiguredTarget target, String attributeName) throws Exception {
     Set<Artifact> result = new LinkedHashSet<>();
     for (FileProvider provider : getPrerequisites(target, attributeName, FileProvider.class)) {
-      Iterables.addAll(result, provider.getFilesToBuild());
+      result.addAll(provider.getFilesToBuild().toList());
     }
     return ImmutableList.copyOf(result);
   }
@@ -778,7 +777,7 @@
 
   @Nullable
   private ParameterFileWriteAction paramFileWriteActionForAction(Action action) {
-    for (Artifact input : action.getInputs()) {
+    for (Artifact input : action.getInputs().toList()) {
       if (!(input instanceof SpecialArtifact)) {
         Action generatingAction = getGeneratingAction(input);
         if (generatingAction instanceof ParameterFileWriteAction) {
@@ -811,7 +810,7 @@
 
   private Action getGeneratingAction(
       String outputName, NestedSet<Artifact> filesToBuild, String providerName) {
-    Artifact artifact = Iterables.find(filesToBuild, artifactNamed(outputName), null);
+    Artifact artifact = Iterables.find(filesToBuild.toList(), artifactNamed(outputName), null);
     if (artifact == null) {
       fail(
           String.format(
@@ -849,7 +848,7 @@
 
   protected SpawnAction getGeneratingSpawnAction(ConfiguredTarget target, String outputName) {
     return getGeneratingSpawnAction(
-        Iterables.find(getFilesToBuild(target), artifactNamed(outputName)));
+        Iterables.find(getFilesToBuild(target).toList(), artifactNamed(outputName)));
   }
 
   protected final List<String> getGeneratingSpawnActionArgs(Artifact artifact)
@@ -1149,6 +1148,16 @@
    *
    * <p>The returned set preserves the order of the input.
    */
+  protected Set<String> artifactsToStrings(NestedSet<? extends Artifact> artifacts) {
+    return artifactsToStrings(artifacts.toList());
+  }
+
+  /**
+   * Given a collection of Artifacts, returns a corresponding set of strings of the form "[root]
+   * [relpath]", such as "bin x/libx.a". Such strings make assertions easier to write.
+   *
+   * <p>The returned set preserves the order of the input.
+   */
   protected Set<String> artifactsToStrings(Iterable<? extends Artifact> artifacts) {
     return AnalysisTestUtil.artifactsToStrings(masterConfig, artifacts);
   }
@@ -1267,7 +1276,7 @@
   protected List<Artifact> getInputs(Action owner, Collection<String> execPaths) {
     Set<String> expectedPaths = new HashSet<>(execPaths);
     List<Artifact> result = new ArrayList<>();
-    for (Artifact output : owner.getInputs()) {
+    for (Artifact output : owner.getInputs().toList()) {
       if (expectedPaths.remove(output.getExecPathString())) {
         result.add(output);
       }
@@ -1579,14 +1588,10 @@
     return ConfiguredTargetKey.of(makeLabel(label), getConfiguration(label));
   }
 
-  protected static List<String> actionInputsToPaths(Iterable<? extends ActionInput> actionInputs) {
+  protected static List<String> actionInputsToPaths(NestedSet<? extends ActionInput> actionInputs) {
     return ImmutableList.copyOf(
-        Iterables.transform(actionInputs, new Function<ActionInput, String>() {
-          @Override
-          public String apply(ActionInput actionInput) {
-            return actionInput.getExecPathString();
-          }
-        }));
+        Iterables.transform(
+            actionInputs.toList(), (actionInput) -> actionInput.getExecPathString()));
   }
 
   /**
@@ -1624,7 +1629,7 @@
     assertContainsEvent(label + " [self-edge]");
   }
 
-  protected Iterable<Artifact> collectRunfiles(ConfiguredTarget target) {
+  protected NestedSet<Artifact> collectRunfiles(ConfiguredTarget target) {
     RunfilesProvider runfilesProvider = target.getProvider(RunfilesProvider.class);
     if (runfilesProvider != null) {
       return runfilesProvider.getDefaultRunfiles().getAllArtifacts();
@@ -1642,7 +1647,7 @@
    */
   protected ImmutableList<Action> getExtraActionActions(ConfiguredTarget target) {
     LinkedHashSet<Action> result = new LinkedHashSet<>();
-    for (Artifact artifact : getExtraActionArtifacts(target)) {
+    for (Artifact artifact : getExtraActionArtifacts(target).toList()) {
       result.add(getGeneratingAction(artifact));
     }
     return ImmutableList.copyOf(result);
@@ -1656,7 +1661,8 @@
     for (Artifact artifact :
         target
             .getProvider(ExtraActionArtifactsProvider.class)
-            .getTransitiveExtraActionArtifacts()) {
+            .getTransitiveExtraActionArtifacts()
+            .toList()) {
       Action action = getGeneratingAction(artifact);
       if (action instanceof ExtraAction) {
         result.add((ExtraAction) action);
@@ -1667,7 +1673,7 @@
 
   protected ImmutableList<Action> getFilesToBuildActions(ConfiguredTarget target) {
     List<Action> result = new ArrayList<>();
-    for (Artifact artifact : getFilesToBuild(target)) {
+    for (Artifact artifact : getFilesToBuild(target).toList()) {
       Action action = getGeneratingAction(artifact);
       if (action != null) {
         result.add(action);
@@ -2064,7 +2070,10 @@
       throws Exception {
     ImmutableList.Builder<String> basenames = ImmutableList.builder();
     for (Artifact baselineCoverage :
-        target.get(InstrumentedFilesInfo.SKYLARK_CONSTRUCTOR).getBaselineCoverageArtifacts()) {
+        target
+            .get(InstrumentedFilesInfo.SKYLARK_CONSTRUCTOR)
+            .getBaselineCoverageArtifacts()
+            .toList()) {
       BaselineCoverageAction baselineAction =
           (BaselineCoverageAction) getGeneratingAction(baselineCoverage);
       ByteArrayOutputStream bytes = new ByteArrayOutputStream();
@@ -2089,6 +2098,18 @@
    * the first artifact in the inputs of its generating action that matches the second suffix etc.,
    * and repeats this until the supplied suffixes run out.
    */
+  protected Artifact artifactByPath(NestedSet<Artifact> artifacts, String... suffixes) {
+    return artifactByPath(artifacts.toList(), suffixes);
+  }
+
+  /**
+   * Finds an artifact in the transitive closure of a set of other artifacts by following a path
+   * based on artifact name suffixes.
+   *
+   * <p>This selects the first artifact in the input set that matches the first suffix, then selects
+   * the first artifact in the inputs of its generating action that matches the second suffix etc.,
+   * and repeats this until the supplied suffixes run out.
+   */
   protected Artifact artifactByPath(Iterable<Artifact> artifacts, String... suffixes) {
     Artifact artifact = getFirstArtifactEndingWith(artifacts, suffixes[0]);
     Action action = null;
@@ -2105,7 +2126,7 @@
       }
 
       action = getGeneratingAction(artifact);
-      artifacts = action.getInputs();
+      artifacts = action.getInputs().toList();
       artifact = getFirstArtifactEndingWith(artifacts, suffixes[i]);
     }
 
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/CompileOnlyTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/CompileOnlyTestCase.java
index f44d402..a3c196d 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/CompileOnlyTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/CompileOnlyTestCase.java
@@ -23,7 +23,7 @@
 public abstract class CompileOnlyTestCase extends BuildViewTestCase {
 
   protected Artifact getArtifactByExecPathSuffix(ConfiguredTarget target, String path) {
-    for (Artifact artifact : getOutputGroup(target, OutputGroupInfo.FILES_TO_COMPILE)) {
+    for (Artifact artifact : getOutputGroup(target, OutputGroupInfo.FILES_TO_COMPILE).toList()) {
       if (artifact.getExecPathString().endsWith(path)) {
         return artifact;
       }