Push some functionality from FoundationTestCase to where it's actually used.

--
MOS_MIGRATED_REVID=121116897
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index ad9d10d..4b805e6 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -185,6 +185,11 @@
     useConfiguration();
   }
 
+  /** To be overriden by sub classes if they want to disable loading. */
+  protected boolean isLoadingEnabled() {
+    return true;
+  }
+
   protected ImmutableList<PrecomputedValue.Injected> getPrecomputedValues() {
     return ImmutableList.of();
   }
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 3376a21..f65452a 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
@@ -226,6 +226,11 @@
     ResourceManager.instance().setAvailableResources(getStartingResources());
   }
 
+  /** To be overriden by sub classes if they want to disable loading. */
+  protected boolean isLoadingEnabled() {
+    return true;
+  }
+
   protected AnalysisMock getAnalysisMock() {
     try {
       Class<?> providerClass = Class.forName(TestConstants.TEST_ANALYSIS_MOCK);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ParallelBuilderTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ParallelBuilderTest.java
index 4491682..d06a544 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/ParallelBuilderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/ParallelBuilderTest.java
@@ -36,7 +36,6 @@
 import com.google.devtools.build.lib.actions.LocalHostCapacity;
 import com.google.devtools.build.lib.actions.ResourceManager;
 import com.google.devtools.build.lib.actions.ResourceSet;
-import com.google.devtools.build.lib.actions.TestExecException;
 import com.google.devtools.build.lib.actions.cache.ActionCache;
 import com.google.devtools.build.lib.actions.util.TestAction;
 import com.google.devtools.build.lib.events.Event;
@@ -47,7 +46,6 @@
 import com.google.devtools.build.lib.testutil.Suite;
 import com.google.devtools.build.lib.testutil.TestSpec;
 import com.google.devtools.build.lib.testutil.TestUtils;
-import com.google.devtools.build.lib.util.AbruptExitException;
 import com.google.devtools.build.lib.vfs.FileStatus;
 import com.google.devtools.build.lib.vfs.FileSystem;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
@@ -102,13 +100,11 @@
     return Sets.newHashSet(elements);
   }
 
-  protected void buildArtifacts(Artifact... artifacts)
-      throws BuildFailedException, AbruptExitException,
-      InterruptedException, TestExecException {
+  protected void buildArtifacts(Artifact... artifacts) throws Exception {
     buildArtifacts(createBuilder(DEFAULT_NUM_JOBS, false), artifacts);
   }
 
-  private Builder createBuilder(int jobs, boolean keepGoing) {
+  private Builder createBuilder(int jobs, boolean keepGoing) throws Exception {
     return createBuilder(cache, jobs, keepGoing);
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderMediumTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderMediumTest.java
index 131d413..dba91d6 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderMediumTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderMediumTest.java
@@ -63,7 +63,7 @@
   /**
    * Creates and returns a new caching builder based on a given {@code cache}.
    */
-  private Builder persistentBuilder(CompactPersistentActionCache cache) {
+  private Builder persistentBuilder(CompactPersistentActionCache cache) throws Exception {
     return createBuilder(cache);
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
index 894c53c..e1d2b5e 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -119,7 +119,7 @@
     return action;
   }
 
-  protected Builder createBuilder(ActionCache actionCache) {
+  protected Builder createBuilder(ActionCache actionCache) throws Exception {
     return createBuilder(actionCache, 1, /*keepGoing=*/ false);
   }
 
@@ -128,7 +128,7 @@
    * specified ActionCache.
    */
   protected Builder createBuilder(
-      final ActionCache actionCache, final int threadCount, final boolean keepGoing) {
+      ActionCache actionCache, final int threadCount, final boolean keepGoing) throws Exception {
     return createBuilder(actionCache, threadCount, keepGoing, null);
   }
 
@@ -136,7 +136,7 @@
       final ActionCache actionCache,
       final int threadCount,
       final boolean keepGoing,
-      @Nullable EvaluationProgressReceiver evaluationProgressReceiver) {
+      @Nullable EvaluationProgressReceiver evaluationProgressReceiver) throws Exception {
     AtomicReference<PathPackageLocator> pkgLocator =
         new AtomicReference<>(new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)));
     AtomicReference<TimestampGranularityMonitor> tsgmRef = new AtomicReference<>(tsgm);
@@ -151,6 +151,7 @@
         new SkyframeActionExecutor(
             ResourceManager.instance(), eventBusRef, new AtomicReference<>(statusReporter));
 
+    Path actionOutputBase = scratch.dir("/usr/local/google/_blaze_jrluser/FAKEMD5/action_out/");
     skyframeActionExecutor.setActionLogBufferPathGenerator(
         new ActionLogBufferPathGenerator(actionOutputBase));
 
@@ -289,14 +290,14 @@
   /**
    * Creates and returns a new "amnesiac" builder based on the amnesiac cache.
    */
-  protected Builder amnesiacBuilder() {
+  protected Builder amnesiacBuilder() throws Exception {
     return createBuilder(AMNESIAC_CACHE);
   }
 
   /**
    * Creates and returns a new caching builder based on the inMemoryCache.
    */
-  protected Builder cachingBuilder() {
+  protected Builder cachingBuilder() throws Exception {
     return createBuilder(inMemoryCache);
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
index 4c1a6713..7304462 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
@@ -35,14 +35,11 @@
 import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact;
 import com.google.devtools.build.lib.actions.Artifact.SpecialArtifactType;
 import com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact;
-import com.google.devtools.build.lib.actions.BuildFailedException;
 import com.google.devtools.build.lib.actions.Root;
-import com.google.devtools.build.lib.actions.TestExecException;
 import com.google.devtools.build.lib.actions.cache.InjectedStat;
 import com.google.devtools.build.lib.actions.cache.MetadataHandler;
 import com.google.devtools.build.lib.actions.util.TestAction;
 import com.google.devtools.build.lib.testutil.TestUtils;
-import com.google.devtools.build.lib.util.AbruptExitException;
 import com.google.devtools.build.lib.vfs.FileStatus;
 import com.google.devtools.build.lib.vfs.FileSystem;
 import com.google.devtools.build.lib.vfs.FileSystemUtils;
@@ -732,8 +729,7 @@
         SpecialArtifactType.TREE);
   }
 
-  private void buildArtifact(Artifact artifact)
-      throws InterruptedException, BuildFailedException, TestExecException, AbruptExitException {
+  private void buildArtifact(Artifact artifact) throws Exception {
     buildArtifacts(cachingBuilder(), artifact);
   }
 
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/FoundationTestCase.java b/src/test/java/com/google/devtools/build/lib/testutil/FoundationTestCase.java
index 02b3619..689b822 100644
--- a/src/test/java/com/google/devtools/build/lib/testutil/FoundationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/testutil/FoundationTestCase.java
@@ -34,13 +34,9 @@
  * A helper class for implementing tests of the "foundation" library.
  */
 public abstract class FoundationTestCase {
-
   protected Path rootDirectory;
-
   protected Path outputBase;
 
-  protected Path actionOutputBase;
-
   // May be overridden by subclasses:
   protected Reporter reporter;
   protected EventCollector eventCollector;
@@ -70,7 +66,6 @@
     outputBase = scratch.dir("/usr/local/google/_blaze_jrluser/FAKEMD5/");
     rootDirectory = scratch.dir("/workspace");
     scratch.file(rootDirectory.getRelative("WORKSPACE").getPathString());
-    actionOutputBase = scratch.dir("/usr/local/google/_blaze_jrluser/FAKEMD5/action_out/");
   }
 
   @Before
@@ -86,11 +81,6 @@
                           // so that we don't cause later tests to fail.
   }
 
-  // To be overriden by sub classes if they want to disable loading.
-  protected boolean isLoadingEnabled() {
-    return true;
-  }
-
   /**
    * Creates the file system; override to inject FS behavior.
    */