aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar Philipp Wollermann <philwo@google.com>2015-09-02 15:35:42 +0000
committerGravatar Florian Weikert <fwe@google.com>2015-09-02 16:27:08 +0000
commit27f7fb58334ad7bbebdbc6abfde5626e368ef2d9 (patch)
tree615bd801c267e7276e243eaa11bea99c03ff0906 /src/test/java/com
parentfe98ecb944e49848622b9c2f97e8d3211d9d889f (diff)
sandbox: Better parsing of runfiles manifest files, fixes #413.
-- MOS_MIGRATED_REVID=102145100
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java b/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java
index 5b62bfbc6a..ecff730afb 100644
--- a/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/sandbox/LinuxSandboxedStrategyTest.java
@@ -17,6 +17,7 @@ import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.fail;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.ImmutableSetMultimap;
import com.google.common.collect.Iterables;
import com.google.common.collect.LinkedHashMultimap;
@@ -36,6 +37,7 @@ import org.junit.runners.JUnit4;
import java.io.File;
import java.io.IOException;
+import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
@@ -251,4 +253,32 @@ public class LinuxSandboxedStrategyTest {
String.format("%s (Not a directory)", workingDir.getRelative("a/c").getPathString()));
}
}
+
+ @Test
+ public void testParseManifestFile() throws IOException {
+ Path targetDir = workingDir.getRelative("runfiles");
+ targetDir.createDirectory();
+
+ Path testFile = workingDir.getRelative("testfile");
+ FileSystemUtils.createEmptyFile(testFile);
+
+ Path manifestFile = workingDir.getRelative("MANIFEST");
+ FileSystemUtils.writeContent(
+ manifestFile,
+ Charset.defaultCharset(),
+ String.format("x/testfile %s\nx/emptyfile \n", testFile.getPathString()));
+
+ ImmutableSetMultimap<Path, Path> mounts =
+ LinuxSandboxedStrategy.parseManifestFile(
+ fakeSandboxDir, targetDir, manifestFile.getPathFile());
+
+ assertThat(userFriendlyMap(mounts))
+ .containsExactly(
+ userFriendlyMap(
+ ImmutableMultimap.of(
+ testFile,
+ fakeSandboxDir.getRelative("runfiles/x/testfile"),
+ testFS.getPath("/dev/null"),
+ fakeSandboxDir.getRelative("runfiles/x/emptyfile"))));
+ }
}