aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2016-05-26 20:25:54 +0000
committerGravatar Yue Gan <yueg@google.com>2016-05-27 08:45:30 +0000
commit108cee6a4f28a1caae6606fffc853ebd8d4582c1 (patch)
tree482bde2f1e0061e6d1dce71d934e683152630a23 /src/test/java/com/google/devtools/build/lib
parent3724d92fb85e021b6b65c3edb77c61572baedc25 (diff)
Force paths to be relative when archives are decompressed
-- MOS_MIGRATED_REVID=123350350
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD1
-rw-r--r--src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java38
2 files changed, 39 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
index f99926642c..6ee8c565fa 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
@@ -12,6 +12,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib:collect",
"//src/main/java/com/google/devtools/build/lib:events",
"//src/main/java/com/google/devtools/build/lib:inmemoryfs",
+ "//src/main/java/com/google/devtools/build/lib:os_util",
"//src/main/java/com/google/devtools/build/lib:packages-internal",
"//src/main/java/com/google/devtools/build/lib:syntax",
"//src/main/java/com/google/devtools/build/lib:vfs",
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java
index 2998460a76..f3ab3f1b8d 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/StripPrefixedPathTest.java
@@ -14,11 +14,13 @@
package com.google.devtools.build.lib.bazel.repository;
+import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import com.google.common.base.Optional;
+import com.google.devtools.build.lib.util.OS;
import com.google.devtools.build.lib.vfs.PathFragment;
import org.junit.Test;
@@ -46,4 +48,40 @@ public class StripPrefixedPathTest {
result = StripPrefixedPath.maybeDeprefix("foof/bar", Optional.of("foo"));
assertFalse(result.foundPrefix());
}
+
+ @Test
+ public void testAbsolute() {
+ StripPrefixedPath result = StripPrefixedPath.maybeDeprefix(
+ "/foo/bar", Optional.<String>absent());
+ assertThat(result.getPathFragment()).isEqualTo(new PathFragment("foo/bar"));
+
+ result = StripPrefixedPath.maybeDeprefix("///foo/bar/baz", Optional.<String>absent());
+ assertThat(result.getPathFragment()).isEqualTo(new PathFragment("foo/bar/baz"));
+
+ result = StripPrefixedPath.maybeDeprefix("/foo/bar/baz", Optional.of("/foo"));
+ assertThat(result.getPathFragment()).isEqualTo(new PathFragment("bar/baz"));
+ }
+
+ @Test
+ public void testWindowsAbsolute() {
+ if (OS.getCurrent() != OS.WINDOWS) {
+ return;
+ }
+ StripPrefixedPath result = StripPrefixedPath.maybeDeprefix(
+ "c:/foo/bar", Optional.<String>absent());
+ assertThat(result.getPathFragment()).isEqualTo(new PathFragment("foo/bar"));
+ }
+
+ @Test
+ public void testNormalize() {
+ StripPrefixedPath result = StripPrefixedPath.maybeDeprefix(
+ "../bar", Optional.<String>absent());
+ assertThat(result.getPathFragment()).isEqualTo(new PathFragment("../bar"));
+
+ result = StripPrefixedPath.maybeDeprefix("foo/../baz", Optional.<String>absent());
+ assertThat(result.getPathFragment()).isEqualTo(new PathFragment("baz"));
+
+ result = StripPrefixedPath.maybeDeprefix("foo/../baz", Optional.of("foo"));
+ assertThat(result.getPathFragment()).isEqualTo(new PathFragment("baz"));
+ }
}