aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar lberki <lberki@google.com>2018-01-08 03:41:51 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-08 03:43:49 -0800
commitfae484ddb382e0048479837015a704291088270c (patch)
treecf99758d390bc8bc2b3766b7ee912541e58f2cbd /src/test
parentc686a971c0570537568cd1e2af0693d12b4782b7 (diff)
Remove code that used to support --javabase=<absolute path>.
This is the first step in removing package loading from JvmConfigurationLoader (I didn't want to add the rest into this change because it's technically possible to access ctx.fragments.jvm even though it contains no fields, so removing that is an incompatible change) and it's also possible that removing error reporting from JvmConfigurationLoader causes some subtle changes in behavior. Baby steps. Now that the hard part is done, there is no need to rush. RELNOTES: None. PiperOrigin-RevId: 181143978
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java55
-rwxr-xr-xsrc/test/shell/bazel/bazel_java_test.sh7
3 files changed, 57 insertions, 9 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
index 4d1086c796..aca42726d5 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/BazelAnalysisMock.java
@@ -91,6 +91,10 @@ public final class BazelAnalysisMock extends AnalysisMock {
" ijar = ['ijar'],",
")",
"java_runtime(name = 'jdk-default', srcs = [])",
+ "java_runtime_alias(name = 'current_java_runtime')",
+ // This isn't actually the host runtime, but will do. This way, we don't need to pull in the
+ // Skylark implementation of the java_host_runtime_alias rule.
+ "java_runtime_alias(name = 'current_host_java_runtime')",
"java_runtime_suite(name = 'jdk', runtimes = {}, default = ':jdk-default')",
"java_runtime_suite(name = 'host_jdk', runtimes = {}, default = ':jdk-default')",
"filegroup(name='langtools', srcs=['jdk/lib/tools.jar'])",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
index 4624159196..ad5c73672f 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaSkylarkApiTest.java
@@ -28,6 +28,7 @@ import com.google.devtools.build.lib.packages.SkylarkProvider.SkylarkKey;
import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider.OutputJar;
import com.google.devtools.build.lib.syntax.SkylarkList;
import com.google.devtools.build.lib.syntax.SkylarkNestedSet;
+import com.google.devtools.build.lib.testutil.TestConstants;
import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.ArrayList;
import java.util.Collection;
@@ -42,6 +43,8 @@ import org.junit.runners.JUnit4;
*/
@RunWith(JUnit4.class)
public class JavaSkylarkApiTest extends BuildViewTestCase {
+ private static final String HOST_JAVA_RUNTIME_LABEL = TestConstants.TOOLS_REPOSITORY
+ + "//tools/jdk:current_host_java_runtime";
@Test
public void testJavaRuntimeProvider() throws Exception {
@@ -69,6 +72,43 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
}
@Test
+ public void testInvalidHostJavabase() throws Exception {
+ writeBuildFileForJavaToolchain();
+
+ scratch.file("a/BUILD",
+ "load(':rule.bzl', 'jrule')",
+ "filegroup(name='fg')",
+ "jrule(name='r', srcs=['S.java'])");
+
+ scratch.file("a/rule.bzl",
+ "def _impl(ctx):",
+ " output_jar = ctx.actions.declare_file('lib' + ctx.label.name + '.jar')",
+ " java_common.compile(",
+ " ctx,",
+ " source_files = ctx.files.srcs,",
+ " output = output_jar,",
+ " java_toolchain = ctx.attr._java_toolchain,",
+ " host_javabase = ctx.attr._host_javabase",
+ " )",
+ " return struct()",
+ "jrule = rule(",
+ " implementation = _impl,",
+ " outputs = {",
+ " 'my_output': 'lib%{name}.jar'",
+ " },",
+ " attrs = {",
+ " 'srcs': attr.label_list(allow_files=['.java']),",
+ " '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),",
+ " '_host_javabase': attr.label(default = Label('//a:fg'))",
+ " },",
+ " fragments = ['java'])");
+
+ reporter.removeHandler(failFastHandler);
+ getConfiguredTarget("//a:r");
+ assertContainsEvent("must point to a Java runtime");
+ }
+
+ @Test
public void testExposesJavaCommonProvider() throws Exception {
scratch.file(
"java/test/BUILD",
@@ -187,7 +227,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
" 'srcs': attr.label_list(allow_files=['.java']),",
" 'sourcepath': attr.label_list(allow_files=['.jar']),",
" '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),",
- " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))",
+ " '_host_javabase': attr.label(",
+ " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))",
" },",
" fragments = ['java']",
")");
@@ -250,7 +291,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
" 'srcs': attr.label_list(allow_files=['.java']),",
" 'deps': attr.label_list(),",
" '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),",
- " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))",
+ " '_host_javabase': attr.label(",
+ " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))",
" },",
" fragments = ['java']",
")");
@@ -320,7 +362,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
" 'srcs': attr.label_list(allow_files=['.java']),",
" 'deps': attr.label_list(),",
" '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),",
- " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))",
+ " '_host_javabase': attr.label(",
+ " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))",
" },",
" fragments = ['java']",
")");
@@ -370,7 +413,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
" attrs = {",
" 'srcs': attr.label_list(allow_files=['.jar']),",
" '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),",
- " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))",
+ " '_host_javabase': attr.label(",
+ " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))",
" },",
" fragments = ['java']",
")");
@@ -420,7 +464,8 @@ public class JavaSkylarkApiTest extends BuildViewTestCase {
" },",
" attrs = {",
" '_java_toolchain': attr.label(default = Label('//java/com/google/test:toolchain')),",
- " '_host_javabase': attr.label(default = Label('//tools/defaults:jdk'))",
+ " '_host_javabase': attr.label(",
+ " default = Label('" + HOST_JAVA_RUNTIME_LABEL + "'))",
" },",
" fragments = ['java']",
")");
diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh
index 852463140f..e19426d36c 100755
--- a/src/test/shell/bazel/bazel_java_test.sh
+++ b/src/test/shell/bazel/bazel_java_test.sh
@@ -195,7 +195,7 @@ java_custom_library = rule(
"exports": attr.label_list(),
"resources": attr.label_list(allow_files=True),
"_java_toolchain": attr.label(default = Label("@bazel_tools//tools/jdk:toolchain")),
- "_host_javabase": attr.label(default = Label("//tools/defaults:jdk"))
+ "_host_javabase": attr.label(default = Label("@bazel_tools//tools/jdk:current_host_java_runtime"))
},
fragments = ["java"]
)
@@ -319,7 +319,7 @@ java_custom_library = rule(
"srcs": attr.label_list(allow_files=True),
"sourcepath": attr.label_list(),
"_java_toolchain": attr.label(default = Label("@bazel_tools//tools/jdk:toolchain")),
- "_host_javabase": attr.label(default = Label("//tools/defaults:jdk"))
+ "_host_javabase": attr.label(default = Label("@bazel_tools//tools/jdk:current_host_java_runtime"))
},
fragments = ["java"]
)
@@ -396,7 +396,7 @@ java_custom_library = rule(
"srcs": attr.label_list(allow_files=True),
"sourcepath": attr.label_list(),
"_java_toolchain": attr.label(default = Label("@bazel_tools//tools/jdk:toolchain")),
- "_host_javabase": attr.label(default = Label("//tools/defaults:jdk"))
+ "_host_javabase": attr.label(default = Label("@bazel_tools//tools/jdk:current_host_java_runtime"))
},
fragments = ["java"]
)
@@ -1483,4 +1483,3 @@ EOF
}
run_suite "Java integration tests"
-