diff options
author | 2017-03-07 20:09:50 +0000 | |
---|---|---|
committer | 2017-03-08 10:49:51 +0000 | |
commit | 7198fc3a8ffbf096218aa7fc19c71bf7dfa1a1c0 (patch) | |
tree | c2288af563c18399cdd5117f19016830c73eda7e /src/java_tools/buildjar/javatests/com/google/devtools/build/buildjar/VanillaJavaBuilderTest.java | |
parent | c224e96f2e3967f65f722250d0c4c15ff94e63f4 (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.java | 38 |
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(); + } } |