Thread FileSystem through to a single Path#delete call site.
This requires a fairly large amount of changes to fundamental objects like BlazeRuntime, Executor, and so on, as well as changing a lot of test code to thread the file system through. I expect future CLs to be much smaller.
PiperOrigin-RevId: 173678144
diff --git a/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
index 1849284..7b73cf3 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java
@@ -46,7 +46,7 @@
inputRoot = Root.asDerivedRoot(inputDir);
outputRoot = Root.asDerivedRoot(scratch.dir("/out"));
outErr = new TestFileOutErr();
- executor = new DummyExecutor(inputDir);
+ executor = new DummyExecutor(scratch.getFileSystem(), inputDir);
}
private ActionExecutionContext createContext() {
diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/DummyExecutor.java b/src/test/java/com/google/devtools/build/lib/actions/util/DummyExecutor.java
index 19043b2..34f6283 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/util/DummyExecutor.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/util/DummyExecutor.java
@@ -20,6 +20,7 @@
import com.google.devtools.build.lib.clock.BlazeClock;
import com.google.devtools.build.lib.clock.Clock;
import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.common.options.OptionsClassProvider;
@@ -28,23 +29,30 @@
*/
public final class DummyExecutor implements Executor {
+ private final FileSystem fileSystem;
private final Path inputDir;
private final EventHandler eventHandler;
- public DummyExecutor(Path inputDir) {
- this(inputDir, null);
+ public DummyExecutor(FileSystem fileSystem, Path inputDir) {
+ this(fileSystem, inputDir, null);
}
public DummyExecutor(EventHandler eventHandler) {
- this(null, eventHandler);
+ this(null, null, eventHandler);
}
- public DummyExecutor(Path inputDir, EventHandler eventHandler) {
+ public DummyExecutor(FileSystem fileSystem, Path inputDir, EventHandler eventHandler) {
+ this.fileSystem = fileSystem;
this.inputDir = inputDir;
this.eventHandler = eventHandler;
}
@Override
+ public FileSystem getFileSystem() {
+ return fileSystem;
+ }
+
+ @Override
public Path getExecRoot() {
return inputDir;
}
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 1d07a72..be8da53 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
@@ -54,7 +54,7 @@
@Before
public final void createExecutorAndContext() throws Exception {
- executor = new TestExecutorBuilder(directories, binTools).build();
+ executor = new TestExecutorBuilder(fileSystem, directories, binTools).build();
context = new ActionExecutionContext(executor, null, ActionInputPrefetcher.NONE, null,
new FileOutErr(), ImmutableMap.<String, String>of(), null);
}
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 81ac13a..8cae433 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
@@ -165,7 +165,7 @@
}
};
- Executor executor = new TestExecutorBuilder(directories, binTools).build();
+ Executor executor = new TestExecutorBuilder(fileSystem, directories, binTools).build();
return new ActionExecutionContext(executor, null, ActionInputPrefetcher.NONE, null,
new FileOutErr(), ImmutableMap.<String, String>of(), artifactExpander);
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
index 1fb182a..7a9c035 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java
@@ -319,9 +319,10 @@
private ActionExecutionContext actionExecutionContext(
List<Artifact> storingExpandedTreeFileArtifacts) throws Exception {
- Executor executor = new TestExecutorBuilder(directories, null)
- .setExecution(PopulateTreeArtifactAction.MNEMONIC, mock(SpawnActionContext.class))
- .build();
+ Executor executor =
+ new TestExecutorBuilder(fileSystem, directories, null)
+ .setExecution(PopulateTreeArtifactAction.MNEMONIC, mock(SpawnActionContext.class))
+ .build();
return new ActionExecutionContext(
executor,
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 532615b..1114663 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
@@ -73,7 +73,7 @@
@Test
public void testSymlink() throws Exception {
- Executor executor = new TestExecutorBuilder(directories, null).build();
+ Executor executor = new TestExecutorBuilder(fileSystem, directories, null).build();
ActionResult actionResult =
action.execute(
new ActionExecutionContext(
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 3f099f6..497ed2d 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 testExpansion() throws Exception {
- Executor executor = new TestExecutorBuilder(directories, binTools).build();
+ Executor executor = new TestExecutorBuilder(fileSystem, directories, binTools).build();
create().execute(createContext(executor));
String content = new String(FileSystemUtils.readContentAsLatin1(output));
String expected = Joiner.on('\n').join("key=foo", "value=bar");
@@ -181,7 +181,7 @@
private void executeTemplateExpansion(String expected, List<Substitution> substitutions)
throws Exception {
- Executor executor = new TestExecutorBuilder(directories, binTools).build();
+ Executor executor = new TestExecutorBuilder(fileSystem, directories, binTools).build();
createWithArtifact(substitutions).execute(createContext(executor));
String actual = FileSystemUtils.readContent(output, StandardCharsets.UTF_8);
assertThat(actual).isEqualTo(expected);
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 0960a53..2bd7bcf 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
@@ -161,6 +161,7 @@
PackageFactory pkgFactory, ImmutableList<BuildInfoFactory> buildInfoFactories) {
return SequencedSkyframeExecutor.create(
pkgFactory,
+ fileSystem,
directories,
workspaceStatusActionFactory,
buildInfoFactories,
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 5ea5d2f..6e834d1 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
@@ -232,6 +232,7 @@
skyframeExecutor =
SequencedSkyframeExecutor.create(
pkgFactory,
+ fileSystem,
directories,
workspaceStatusActionFactory,
ruleClassProvider.getBuildInfoFactories(),
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
index 72d4540..57db7b0 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
@@ -114,6 +114,7 @@
skyframeExecutor =
SequencedSkyframeExecutor.create(
pkgFactory,
+ fileSystem,
directories,
workspaceStatusActionFactory,
ruleClassProvider.getBuildInfoFactories(),
diff --git a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
index 1912960..ac10bf1 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
@@ -28,6 +28,7 @@
import com.google.devtools.build.lib.exec.util.TestExecutorBuilder;
import com.google.devtools.build.lib.testutil.Suite;
import com.google.devtools.build.lib.testutil.TestSpec;
+import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem;
import com.google.devtools.common.options.OptionsParser;
import javax.annotation.Nullable;
@@ -41,23 +42,24 @@
@RunWith(JUnit4.class)
@TestSpec(size = Suite.SMALL_TESTS)
public class BlazeExecutorTest {
+ private FileSystem fileSystem;
private BlazeDirectories directories;
private BinTools binTools;
@Before
public final void setUpDirectoriesAndTools() throws Exception {
- InMemoryFileSystem fs = new InMemoryFileSystem();
+ fileSystem = new InMemoryFileSystem();
directories =
new BlazeDirectories(
- new ServerDirectories(fs.getPath("/install"), fs.getPath("/base")),
- fs.getPath("/workspace"),
+ new ServerDirectories(fileSystem.getPath("/install"), fileSystem.getPath("/base")),
+ fileSystem.getPath("/workspace"),
"mock-product-name");
binTools = BinTools.empty(directories);
}
@Test
public void testDebugPrintActionContexts() throws Exception {
- TestExecutorBuilder builder = new TestExecutorBuilder(directories, binTools);
+ TestExecutorBuilder builder = new TestExecutorBuilder(fileSystem, directories, binTools);
OptionsParser parser = OptionsParser.newOptionsParser(TestExecutorBuilder.DEFAULT_OPTIONS);
parser.parse("--debug_print_action_contexts");
diff --git a/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java b/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
index aea8607..22acac8 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/util/TestExecutorBuilder.java
@@ -31,6 +31,7 @@
import com.google.devtools.build.lib.exec.SymlinkTreeStrategy;
import com.google.devtools.build.lib.runtime.CommonCommandOptions;
import com.google.devtools.build.lib.testutil.TestConstants;
+import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.common.options.OptionsBase;
import com.google.devtools.common.options.OptionsParser;
import com.google.devtools.common.options.OptionsParsingException;
@@ -45,6 +46,7 @@
public class TestExecutorBuilder {
public static final ImmutableList<Class<? extends OptionsBase>> DEFAULT_OPTIONS =
ImmutableList.of(ExecutionOptions.class, CommonCommandOptions.class);
+ private final FileSystem fileSystem;
private final BlazeDirectories directories;
private EventBus bus = new EventBus();
private Reporter reporter = new Reporter(bus);
@@ -53,7 +55,9 @@
private Map<String, SpawnActionContext> spawnStrategyMap =
new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
- public TestExecutorBuilder(BlazeDirectories directories, BinTools binTools) {
+ public TestExecutorBuilder(
+ FileSystem fileSystem, BlazeDirectories directories, BinTools binTools) {
+ this.fileSystem = fileSystem;
this.directories = directories;
strategies.add(new FileWriteStrategy());
strategies.add(new SymlinkTreeStrategy(null, binTools));
@@ -97,6 +101,7 @@
public BlazeExecutor build() throws ExecutorInitException {
return new BlazeExecutor(
+ fileSystem,
directories.getExecRoot(TestConstants.WORKSPACE_NAME),
reporter,
bus,
diff --git a/src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java b/src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java
index 32f5e27..e392778 100644
--- a/src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java
+++ b/src/test/java/com/google/devtools/build/lib/integration/util/IntegrationMock.java
@@ -17,9 +17,9 @@
import com.google.devtools.build.lib.analysis.config.BinTools;
import com.google.devtools.build.lib.testutil.BlazeTestUtils;
import com.google.devtools.build.lib.testutil.TestConstants;
+import com.google.devtools.build.lib.vfs.FileSystem;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
import com.google.devtools.build.lib.vfs.Path;
-
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
@@ -36,12 +36,13 @@
* Populates the _embedded_binaries/ directory, containing all binaries/libraries, by symlinking
* directories#getEmbeddedBinariesRoot() to the test's runfiles tree.
*/
- public BinTools getIntegrationBinTools(BlazeDirectories directories, String workspaceName)
+ public BinTools getIntegrationBinTools(
+ FileSystem fileSystem, BlazeDirectories directories, String workspaceName)
throws IOException {
Path embeddedDir = directories.getEmbeddedBinariesRoot();
FileSystemUtils.createDirectoryAndParents(embeddedDir);
- Path runfiles = directories.getFileSystem().getPath(BlazeTestUtils.runfilesDir());
+ Path runfiles = fileSystem.getPath(BlazeTestUtils.runfilesDir());
// Copy over everything in embedded_scripts.
Collection<Path> files = new ArrayList<>();
for (String embeddedScriptPath : TestConstants.EMBEDDED_SCRIPTS_PATHS) {
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
index 5390ca7..5a9d3f6 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
@@ -112,6 +112,7 @@
SkyframeExecutor skyframeExecutor =
SequencedSkyframeExecutor.create(
packageFactory,
+ fileSystem,
directories,
null, /* workspaceStatusActionFactory */
ruleClassProvider.getBuildInfoFactories(),
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/BuildFileModificationTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/BuildFileModificationTest.java
index 49cffe2..fbdf45e 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/BuildFileModificationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/BuildFileModificationTest.java
@@ -82,6 +82,7 @@
analysisMock
.getPackageFactoryBuilderForTesting(directories)
.build(ruleClassProvider, scratch.getFileSystem()),
+ fileSystem,
directories,
null, /* workspaceStatusActionFactory */
ruleClassProvider.getBuildInfoFactories(),
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
index 7e297b6..9e4fdf9 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
@@ -473,6 +473,7 @@
loadingMock
.getPackageFactoryBuilderForTesting(directories)
.build(loadingMock.createRuleClassProvider(), fs),
+ fs,
directories,
null, /* workspaceStatusActionFactory */
loadingMock.createRuleClassProvider().getBuildInfoFactories(),
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
index 362d632..6618d01 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
@@ -621,6 +621,7 @@
skyframeExecutor =
SequencedSkyframeExecutor.create(
pkgFactory,
+ fs,
directories,
null, /* workspaceStatusActionFactory -- not used */
ruleClassProvider.getBuildInfoFactories(),
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/PackageCacheTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/PackageCacheTest.java
index eff26b0..1d26d01 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/PackageCacheTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/PackageCacheTest.java
@@ -90,7 +90,8 @@
}
skyframeExecutor =
SequencedSkyframeExecutor.create(
- packageFactoryBuilder.build(ruleClassProvider, scratch.getFileSystem()),
+ packageFactoryBuilder.build(ruleClassProvider, fileSystem),
+ fileSystem,
directories,
null, /* workspaceStatusActionFactory */
ruleClassProvider.getBuildInfoFactories(),
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java
index 3273fb8..038ed7a 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkActionTest.java
@@ -116,7 +116,7 @@
Path extra = rootDirectory.getRelative("out/extra");
extra.getOutputStream().close();
assertThat(extra.exists()).isTrue();
- action.prepare(rootDirectory);
+ action.prepare(fileSystem, rootDirectory);
assertThat(extra.exists()).isFalse();
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/LtoBackendActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/LtoBackendActionTest.java
index d8a2247..483c349 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/LtoBackendActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/LtoBackendActionTest.java
@@ -75,7 +75,7 @@
@Before
public final void createExecutorAndContext() throws Exception {
- executor = new TestExecutorBuilder(directories, binTools).build();
+ executor = new TestExecutorBuilder(fileSystem, directories, binTools).build();
context = new ActionExecutionContext(executor, null, ActionInputPrefetcher.NONE, null,
new FileOutErr(), ImmutableMap.<String, String>of(), null);
}
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java b/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
index 5e99114..2198a13 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/BlazeCommandDispatcherRcoptionsTest.java
@@ -139,6 +139,7 @@
new ServerDirectories(scratch.dir("install_base"), scratch.dir("output_base"));
this.runtime =
new BlazeRuntime.Builder()
+ .setFileSystem(scratch.getFileSystem())
.setProductName(productName)
.setServerDirectories(serverDirectories)
.setStartupOptionsProvider(
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/CommandInterruptionTest.java b/src/test/java/com/google/devtools/build/lib/runtime/CommandInterruptionTest.java
index 1843ca7..ef8c7f0 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/CommandInterruptionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/CommandInterruptionTest.java
@@ -352,6 +352,7 @@
new ServerDirectories(scratch.dir("install"), scratch.dir("output"));
BlazeRuntime runtime =
new BlazeRuntime.Builder()
+ .setFileSystem(scratch.getFileSystem())
.setProductName(productName)
.setServerDirectories(serverDirectories)
.setStartupOptionsProvider(
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java
index 6af5623..db441e7 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java
@@ -68,7 +68,7 @@
@Before
public final void createExecutor() throws Exception {
- executor = new DummyExecutor(rootDirectory);
+ executor = new DummyExecutor(fileSystem, rootDirectory);
}
private static final class TrackingEvaluationProgressReceiver
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 de8a0be..0381713 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
@@ -376,7 +376,7 @@
protected void buildArtifacts(Builder builder, Artifact... artifacts)
throws BuildFailedException, AbruptExitException, InterruptedException, TestExecException {
- buildArtifacts(builder, new DummyExecutor(rootDirectory), artifacts);
+ buildArtifacts(builder, new DummyExecutor(fileSystem, rootDirectory), artifacts);
}
protected void buildArtifacts(Builder builder, Executor executor, Artifact... artifacts)
diff --git a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
index 5372dcd..10b0f35 100644
--- a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java
@@ -112,7 +112,8 @@
new BlazeDirectories(
new ServerDirectories(outputBase, outputBase), workspaceDir, "mock-product-name");
// This call implicitly symlinks the integration bin tools into the exec root.
- IntegrationMock.get().getIntegrationBinTools(directories, TestConstants.WORKSPACE_NAME);
+ IntegrationMock.get()
+ .getIntegrationBinTools(fileSystem, directories, TestConstants.WORKSPACE_NAME);
OptionsParser optionsParser = OptionsParser.newOptionsParser(ExecutionOptions.class);
optionsParser.parse("--verbose_failures");
LocalExecutionOptions localExecutionOptions = Options.getDefaults(LocalExecutionOptions.class);
@@ -125,6 +126,7 @@
Path execRoot = directories.getExecRoot(TestConstants.WORKSPACE_NAME);
this.executor =
new BlazeExecutor(
+ fileSystem,
execRoot,
reporter,
bus,
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 da100af..4f3b9ee 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
@@ -41,6 +41,7 @@
// The event bus of the reporter
protected EventBus eventBus;
protected EventCollector eventCollector;
+ protected FileSystem fileSystem;
protected Scratch scratch;
/** Returns the Scratch instance for this test case. */
@@ -69,7 +70,8 @@
@Before
public final void initializeFileSystemAndDirectories() throws Exception {
- scratch = new Scratch(createFileSystem(), "/workspace");
+ fileSystem = createFileSystem();
+ scratch = new Scratch(fileSystem, "/workspace");
outputBase = scratch.dir("/usr/local/google/_blaze_jrluser/FAKEMD5/");
rootDirectory = scratch.dir("/workspace");
scratch.file(rootDirectory.getRelative("WORKSPACE").getPathString());