Simplify BinTools setup for integration tests
Progress on #4608.
PiperOrigin-RevId: 185126689
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 e392778..54a1154 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
@@ -18,7 +18,6 @@
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;
@@ -33,14 +32,16 @@
}
/**
- * Populates the _embedded_binaries/ directory, containing all binaries/libraries, by symlinking
- * directories#getEmbeddedBinariesRoot() to the test's runfiles tree.
+ * Populates the _embedded_binaries/ directory with all files found in any of the directories in
+ * {@link TestConstants#EMBEDDED_SCRIPTS_PATHS} by creating symlinks in
+ * {@link BlazeDirectories#getEmbeddedBinariesRoot} that point to the runfiles tree
+ * of the currently running test (as obtained from {@link BlazeTestUtils#runfilesDir}).
*/
public BinTools getIntegrationBinTools(
FileSystem fileSystem, BlazeDirectories directories, String workspaceName)
throws IOException {
- Path embeddedDir = directories.getEmbeddedBinariesRoot();
- FileSystemUtils.createDirectoryAndParents(embeddedDir);
+ Path embeddedBinariesRoot = directories.getEmbeddedBinariesRoot();
+ embeddedBinariesRoot.createDirectoryAndParents();
Path runfiles = fileSystem.getPath(BlazeTestUtils.runfilesDir());
// Copy over everything in embedded_scripts.
@@ -56,13 +57,15 @@
for (Path fromFile : files) {
try {
- embeddedDir.getChild(fromFile.getBaseName()).createSymbolicLink(fromFile);
+ embeddedBinariesRoot.getChild(fromFile.getBaseName()).createSymbolicLink(fromFile);
} catch (IOException e) {
System.err.println("Could not symlink: " + e.getMessage());
}
}
return BinTools.forIntegrationTesting(
- directories, embeddedDir.toString(), TestConstants.EMBEDDED_TOOLS, workspaceName);
+ directories,
+ TestConstants.EMBEDDED_TOOLS,
+ workspaceName);
}
}
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 d4c5cac..bd5adbf 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
@@ -145,7 +145,7 @@
LocalEnvProvider.UNMODIFIED))),
ImmutableList.<ActionContextProvider>of());
- executor.getExecRoot().createDirectory();
+ executor.getExecRoot().createDirectoryAndParents();
}
private Spawn createSpawn(String... arguments) {