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());