aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2016-05-02 20:48:47 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-05-03 08:38:12 +0000
commita7fea8a1467a89adde75e67bc99bf0e040f71fe9 (patch)
tree46dc3f2c71c5ceafd2c781ec6028142620d130fb /src/test/java/com/google/devtools
parent81a1605ac079e0570ba5747346360dafbb3907ea (diff)
Set workspace name for http_file, http_jar, and maven_jar
Fixes #1166. While I was here, I also: * Renamed the implementations of Decompressor to show that they are Decompressors, not SkyFunctions (they used to be, it's confusing to have them still have the -Function suffix). * Added a unit test and moved the testing target to the rule/repository subdirectory, since it was a good chance to break off a tiny chunk of the monolithic BUILD file in lib/. -- MOS_MIGRATED_REVID=121306165
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r--src/test/java/com/google/devtools/build/lib/BUILD34
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/repository/BUILD29
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java61
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java3
4 files changed, 95 insertions, 32 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index 3960aa7b43..7887b3bf86 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -1,3 +1,7 @@
+package(
+ default_visibility = ["//src/test/java/com/google/devtools/build/lib:__subpackages__"],
+)
+
# This should correspond to the list of "EMBEDDED_TOOLS" in TestConstants.java.bazel.
filegroup(
name = "embedded_scripts",
@@ -979,36 +983,6 @@ java_test(
)
java_test(
- name = "repository-rules-tests",
- srcs = glob(["rules/repository/*.java"]),
- tags = ["rules"],
- test_class = "com.google.devtools.build.lib.AllTests",
- deps = [
- ":analysis_testutil",
- ":testutil",
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
- "//src/main/java/com/google/devtools/build/lib:build-base",
- "//src/main/java/com/google/devtools/build/lib:cmdline",
- "//src/main/java/com/google/devtools/build/lib:common",
- "//src/main/java/com/google/devtools/build/lib:packages-internal",
- "//src/main/java/com/google/devtools/build/lib:runtime",
- "//src/main/java/com/google/devtools/build/lib:util",
- "//src/main/java/com/google/devtools/build/lib:vfs",
- "//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/rules/cpp",
- "//src/main/java/com/google/devtools/build/skyframe",
- "//src/test/java/com/google/devtools/build/lib:actions_testutil",
- "//src/test/java/com/google/devtools/build/lib:packages_testutil",
- "//third_party:guava",
- "//third_party:jsr305",
- "//third_party:junit4",
- "//third_party:mockito",
- "//third_party:truth",
- "//third_party/protobuf",
- ],
-)
-
-java_test(
name = "bazel-rules-tests",
srcs = glob([
"bazel/rules/**/*.java",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD b/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
new file mode 100644
index 0000000000..1d7724ff68
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
@@ -0,0 +1,29 @@
+java_test(
+ name = "RepositoryTests",
+ srcs = glob(["*.java"]),
+ tags = ["rules"],
+ test_class = "com.google.devtools.build.lib.AllTests",
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:bazel-main",
+ "//src/main/java/com/google/devtools/build/lib:bazel-repository",
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:cmdline",
+ "//src/main/java/com/google/devtools/build/lib:common",
+ "//src/main/java/com/google/devtools/build/lib:packages-internal",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib:util",
+ "//src/main/java/com/google/devtools/build/lib:vfs",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/test/java/com/google/devtools/build/lib:analysis_testutil",
+ "//src/test/java/com/google/devtools/build/lib:packages_testutil",
+ "//src/test/java/com/google/devtools/build/lib:testutil",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ "//third_party:junit4",
+ "//third_party:mockito",
+ "//third_party:truth",
+ "//third_party/protobuf",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java b/src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java
new file mode 100644
index 0000000000..852640287b
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/rules/repository/JarDecompressorTest.java
@@ -0,0 +1,61 @@
+// Copyright 2016 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.devtools.build.lib.rules.repository;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.devtools.build.lib.bazel.repository.DecompressorDescriptor;
+import com.google.devtools.build.lib.bazel.repository.DecompressorValue;
+import com.google.devtools.build.lib.bazel.repository.JarDecompressor;
+import com.google.devtools.build.lib.testutil.Scratch;
+import com.google.devtools.build.lib.vfs.FileSystemUtils;
+import com.google.devtools.build.lib.vfs.Path;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * Tests expanding external jars into external repositories.
+ */
+@RunWith(JUnit4.class)
+public class JarDecompressorTest {
+ private DecompressorDescriptor.Builder descriptorBuilder;
+
+ @Before
+ public void setUpFs() throws Exception {
+ Scratch fs = new Scratch();
+ Path dir = fs.dir("/whatever/external/tester");
+ Path jar = fs.file("/foo.jar", "I'm a jar");
+ FileSystemUtils.createDirectoryAndParents(dir);
+ descriptorBuilder = DecompressorDescriptor.builder()
+ .setDecompressor(JarDecompressor.INSTANCE)
+ .setTargetName("tester")
+ .setTargetKind("http_jar rule")
+ .setRepositoryPath(dir)
+ .setArchivePath(jar);
+ }
+
+ @Test
+ public void testWorkspaceGen() throws Exception {
+ Path outputDir = DecompressorValue.decompress(descriptorBuilder.build());
+ assertThat(outputDir.exists()).isTrue();
+ String workspaceContent = new String(
+ FileSystemUtils.readContentAsLatin1(outputDir.getRelative("WORKSPACE")));
+ assertThat(workspaceContent).contains("workspace(name = \"tester\")");
+ }
+
+}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java
index cbc65dd104..3cc0a84d24 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/repository/RepositoryFunctionTest.java
@@ -91,8 +91,7 @@ public class RepositoryFunctionTest extends BuildViewTestCase {
" name = 'abc',",
" path = '/a/b/c',",
")");
- TestingRepositoryFunction repositoryFunction = new TestingRepositoryFunction();
- repositoryFunction.createWorkspaceFile(rootDirectory, rule);
+ RepositoryFunction.createWorkspaceFile(rootDirectory, rule.getTargetKind(), rule.getName());
String workspaceContent = new String(
FileSystemUtils.readContentAsLatin1(rootDirectory.getRelative("WORKSPACE")));
assertThat(workspaceContent).contains("workspace(name = \"abc\")");