Bug 537322 - Added waiting for jobs in test to prevent log errors

The tests in test case TestToggleBreakpointsTarget8 will do some
breakpoint operations, make assertions and then clean-up. The breakpoint
operations trigger jobs, which coincide with the clean-up of the test.

This change adds waiting before the clean-up, to avoid the error log
entries. This helps keeping the build log clean, helping to identify
actual problems more easily.

Change-Id: I497b69d2c5b8d20d0b22e8ff48760a8e6b5991a9
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/TestToggleBreakpointsTarget.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/TestToggleBreakpointsTarget.java
index 40f2330..5de8719 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/TestToggleBreakpointsTarget.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/TestToggleBreakpointsTarget.java
@@ -40,12 +40,12 @@
 		try {
 			Path path = new Path("testfiles/source/SomeClass.java");
 			toggleBreakpoint(path, 22); // 0 based offset in document line numbers
+			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);
 			IBreakpoint added = listener.getAdded();
 			assertTrue("Should be a line breakpoint", added instanceof IJavaLineBreakpoint);
 			IJavaLineBreakpoint breakpoint = (IJavaLineBreakpoint) added;
 			assertEquals("Wrong line number", 23, breakpoint.getLineNumber());
 			assertEquals("Wrong type name", "a.b.c.SomeClass", breakpoint.getTypeName());
-			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);
 		} finally {
 			manager.removeBreakpointListener(listener);
 			removeAllBreakpoints();
@@ -65,12 +65,12 @@
 		try {
 			Path path = new Path("testfiles/source/SomeClass.java");
 			toggleBreakpoint(path, 19); // 0 based offset in document line numbers
+			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);
 			IBreakpoint added = listener.getAdded();
 			assertTrue("Should be a watchpoint", added instanceof IJavaWatchpoint);
 			IJavaWatchpoint breakpoint = (IJavaWatchpoint) added;
 			assertEquals("Wrong type name", "a.b.c.SomeClass", breakpoint.getTypeName());
 			assertEquals("Wrong field name", "someField", breakpoint.getFieldName());
-			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);
 		} finally {
 			manager.removeBreakpointListener(listener);
 			removeAllBreakpoints();
@@ -90,6 +90,7 @@
 		try {
 			Path path = new Path("testfiles/source/SomeClass.java");
 			toggleBreakpoint(path, 21); // 0 based offset in document line numbers
+			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);
 			IBreakpoint added = listener.getAdded();
 			assertTrue("Should be a method breakpoint", added instanceof IJavaMethodBreakpoint);
 			IJavaMethodBreakpoint breakpoint = (IJavaMethodBreakpoint) added;
@@ -98,7 +99,6 @@
 			// this will actually fail to suspend since 'SomeClass' is not qualified, but we can't resolve the type
 			// without a build path, etc. (not a regression)
 			assertEquals("Wrong signature", "(Ljava/lang/String;LSomeClass;)V", breakpoint.getMethodSignature());
-			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);
 		} finally {
 			manager.removeBreakpointListener(listener);
 			removeAllBreakpoints();
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/TestToggleBreakpointsTarget8.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/TestToggleBreakpointsTarget8.java
index d864bac..7f65f38 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/TestToggleBreakpointsTarget8.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/breakpoints/TestToggleBreakpointsTarget8.java
@@ -15,6 +15,7 @@
 import org.eclipse.debug.core.model.IBreakpoint;

 import org.eclipse.jdt.debug.core.IJavaLineBreakpoint;

 import org.eclipse.jdt.debug.core.IJavaMethodBreakpoint;

+import org.eclipse.jdt.debug.tests.TestUtil;

 

 /**

  * Tests the Java debugger's 'toggle breakpoints target'.

@@ -42,6 +43,7 @@
 		try {

 			Path path = new Path("java8/EvalTestIntf18.java");

 			toggleBreakpoint(path, 20); // 0 based offset in document line numbers

+			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);

 			IBreakpoint added = listener.getAdded();

 			assertTrue("Should be a method breakpoint", added instanceof IJavaMethodBreakpoint);

 			IJavaMethodBreakpoint breakpoint = (IJavaMethodBreakpoint) added;

@@ -67,6 +69,7 @@
 		try {

 			Path path = new Path("java8/EvalTestIntf18.java");

 			toggleBreakpoint(path, 25); // 0 based offset in document line numbers

+			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);

 			IBreakpoint added = listener.getAdded();

 			assertTrue("Should be a method breakpoint", added instanceof IJavaMethodBreakpoint);

 			IJavaMethodBreakpoint breakpoint = (IJavaMethodBreakpoint) added;

@@ -93,6 +96,7 @@
 		try {

 			Path path = new Path("java8/EvalTestIntf18.java");

 			toggleBreakpoint(path, 19); // 0 based offset in document line numbers

+			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);

 			assertTrue(listener.isEmpty());

 		} finally {

 			manager.removeBreakpointListener(listener);

@@ -113,6 +117,7 @@
 		try {

 			Path path = new Path("java8/EvalTestIntf18.java");

 			toggleBreakpoint(path, 21); // 0 based offset in document line numbers

+			TestUtil.waitForJobs(getName(), 100, DEFAULT_TIMEOUT);

 			IBreakpoint added = listener.getAdded();

 			assertTrue("Should be a line breakpoint", added instanceof IJavaLineBreakpoint);

 			IJavaLineBreakpoint breakpoint = (IJavaLineBreakpoint) added;