Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ModuleBuilderTests.java')
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ModuleBuilderTests.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ModuleBuilderTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ModuleBuilderTests.java
index 0e8f6451f3..643506d5e7 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ModuleBuilderTests.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ModuleBuilderTests.java
@@ -7018,6 +7018,27 @@ public class ModuleBuilderTests extends ModifyingResourceTests {
JavaCore.setOptions(options);
}
}
+ // missing linked jar must not cause NPE
+ public void testBug540904() throws CoreException, IOException {
+ if (!isJRE9) return;
+ try {
+ String[] src = new String[] {
+ "src/test/Test.java",
+ "package test;\n" +
+ "public class Test {\n" +
+ "}"
+ };
+ IJavaProject p2 = setupModuleProject("Bug540904", src, new IClasspathEntry[] { });
+ IFile file = getFile("/Bug540904/link.jar");
+ file.createLink(new Path("MISSING/missing.jar"), IResource.ALLOW_MISSING_LOCAL, null);
+ addLibraryEntry(p2, file.getFullPath(), false);
+ getWorkspace().build(IncrementalProjectBuilder.FULL_BUILD, null);
+ IMarker[] markers = p2.getProject().findMarkers(null, true, IResource.DEPTH_INFINITE);
+ assertMarkers("Unexpected markers", "", markers);
+ } finally {
+ this.deleteProject("Bug540904");
+ }
+ }
protected void assertNoErrors() throws CoreException {
for (IProject p : getWorkspace().getRoot().getProjects()) {
int maxSeverity = p.findMaxProblemSeverity(null, true, IResource.DEPTH_INFINITE);

Back to the top