aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java
diff options
context:
space:
mode:
authorGravatar Liam Miller-Cushon <cushon@google.com>2017-03-07 20:09:50 +0000
committerGravatar Vladimir Moskva <vladmos@google.com>2017-03-08 10:49:51 +0000
commit7198fc3a8ffbf096218aa7fc19c71bf7dfa1a1c0 (patch)
treec2288af563c18399cdd5117f19016830c73eda7e /src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java
parentc224e96f2e3967f65f722250d0c4c15ff94e63f4 (diff)
VanillaJavaBuilder: don't crash formatting diagnostics without a source file
Fixes #2646 -- PiperOrigin-RevId: 149448578 MOS_MIGRATED_REVID=149448578
Diffstat (limited to 'src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java')
-rw-r--r--src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java b/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java
index 6ae2f3140a..44e0ed753a 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java
@@ -145,4 +145,42 @@ public class VanillaJavaBuilderTest {
assertThat(result.ok()).isFalse();
assertThat(Files.exists(output)).isFalse();
}
+
+ @Test
+ public void diagnosticWithoutSource() throws Exception {
+ Path source = temporaryFolder.newFile("Test.java").toPath();
+ Path output = temporaryFolder.newFolder().toPath().resolve("out.jar");
+ Files.write(
+ source,
+ ImmutableList.of(
+ "import java.util.ArrayList;",
+ "import java.util.List;",
+ "abstract class A {",
+ " abstract void f(List<String> xs);",
+ " {",
+ " f(new ArrayList<>());",
+ " }",
+ "}"),
+ UTF_8);
+
+ VanillaJavaBuilderResult result =
+ run(
+ ImmutableList.of(
+ "--javacopts",
+ "-source",
+ "7",
+ "-Xlint:none",
+ "--sources",
+ source.toString(),
+ "--output",
+ output.toString(),
+ "--bootclasspath",
+ Paths.get(System.getProperty("java.home")).resolve("lib/rt.jar").toString(),
+ "--classdir",
+ temporaryFolder.newFolder().toString()));
+
+ assertThat(result.output()).contains("note: Some messages have been simplified");
+ assertThat(result.ok()).isFalse();
+ assertThat(Files.exists(output)).isFalse();
+ }
}