Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Xenos2016-12-14 17:44:35 +0000
committerStefan Xenos2016-12-14 17:44:35 +0000
commit8664812eb8f2f1d0eb218bafe6164dda4ed41c39 (patch)
tree877ac1f0aed3e4839a49da75ad8508d5feb035f3 /org.eclipse.jdt.core.tests.builder
parent6ffd2ce21114045f950ffaac0e09a0d97862a971 (diff)
downloadeclipse.jdt.core-8664812eb8f2f1d0eb218bafe6164dda4ed41c39.tar.gz
eclipse.jdt.core-8664812eb8f2f1d0eb218bafe6164dda4ed41c39.tar.xz
eclipse.jdt.core-8664812eb8f2f1d0eb218bafe6164dda4ed41c39.zip
Bug 412484 - MultiProjectTests.testCycle* are unstable
Fix regression caused by previous patch that was preventing the cycle error markers from being cleared correctly. Added regression test for the failing corner case. Change-Id: I67f7c7b29c4bd96d03e97f894fbfa62b3adbdcfe
Diffstat (limited to 'org.eclipse.jdt.core.tests.builder')
-rw-r--r--org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/MultiProjectTests.java40
1 files changed, 40 insertions, 0 deletions
diff --git a/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/MultiProjectTests.java b/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/MultiProjectTests.java
index e36849fa98..8e56fc7d37 100644
--- a/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/MultiProjectTests.java
+++ b/org.eclipse.jdt.core.tests.builder/src/org/eclipse/jdt/core/tests/builder/MultiProjectTests.java
@@ -299,6 +299,46 @@ public class MultiProjectTests extends BuilderTests {
env.removeProject(p3);
}
+ public void testCyclesCleared() throws JavaModelException {
+ IPath p1 = env.addProject("P1"); //$NON-NLS-1$
+ IPath p2 = env.addProject("P2"); //$NON-NLS-1$
+ try {
+ env.addRequiredProject(p1, p2);
+ env.addRequiredProject(p2, p1);
+
+ fullBuild();
+ env.waitForAutoBuild();
+
+ printProblems();
+ expectingOnlySpecificProblemsFor(p1, new Problem[] {
+ new Problem("p1",
+ "A cycle was detected in the build path of project 'P1'. The cycle consists of projects {P1, P2}",
+ p1, -1, -1, CategorizedProblem.CAT_BUILDPATH, IMarker.SEVERITY_ERROR),
+ new Problem("p1",
+ "The project cannot be built until build path errors are resolved",
+ p1, -1, -1, CategorizedProblem.CAT_BUILDPATH, IMarker.SEVERITY_ERROR)
+ });//$NON-NLS-1$ //$NON-NLS-2$
+ expectingOnlySpecificProblemsFor(p2, new Problem[] {
+ new Problem("p2",
+ "A cycle was detected in the build path of project 'P2'. The cycle consists of projects {P1, P2}",
+ p2, -1, -1, CategorizedProblem.CAT_BUILDPATH, IMarker.SEVERITY_ERROR),
+ new Problem("p2",
+ "The project cannot be built until build path errors are resolved",
+ p2, -1, -1, CategorizedProblem.CAT_BUILDPATH, IMarker.SEVERITY_ERROR)
+ });//$NON-NLS-1$ //$NON-NLS-2$
+
+ env.removeRequiredProject(p1, p2);
+
+ fullBuild();
+ env.waitForAutoBuild();
+
+ expectingNoProblems();
+ } finally {
+ env.removeProject(p1);
+ env.removeProject(p2);
+ }
+ }
+
public void testCycle1() throws JavaModelException {
Hashtable options = JavaCore.getOptions();
Hashtable newOptions = JavaCore.getOptions();

Back to the top