Bug 178641 conditional breakpoint performance test failure
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
index 7386219..bfd378f 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/AbstractDebugTest.java
@@ -366,6 +366,28 @@
assertNotNull("Could not locate launch configuration for " + mainTypeName, config);
return launchAndTerminate(config, DEFAULT_TIMEOUT);
}
+
+ /**
+ * Launches the given configuration in debug mode, and waits for a terminate
+ * event in that program. Returns the debug target in which the terminate
+ * event occurred.
+ *
+ * @param config the configuration to launch
+ * @param timeout the number of milliseconds to wait for a terminate event
+ * @param register whether to register the launch
+ * @return thread in which the first suspend event occurred
+ */
+ protected IJavaDebugTarget launchAndTerminate(ILaunchConfiguration config, int timeout, boolean register) throws Exception {
+ DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.TERMINATE, IJavaDebugTarget.class);
+ waiter.setTimeout(timeout);
+
+ Object terminatee = launchAndWait(config, waiter, register);
+ assertNotNull("Program did not terminate.", terminatee);
+ assertTrue("terminatee is not an IJavaDebugTarget", terminatee instanceof IJavaDebugTarget);
+ IJavaDebugTarget debugTarget = (IJavaDebugTarget) terminatee;
+ assertTrue("debug target is not terminated", debugTarget.isTerminated() || debugTarget.isDisconnected());
+ return debugTarget;
+ }
/**
* Launches the given configuration in debug mode, and waits for a terminate
@@ -377,15 +399,7 @@
* @return thread in which the first suspend event occurred
*/
protected IJavaDebugTarget launchAndTerminate(ILaunchConfiguration config, int timeout) throws Exception {
- DebugEventWaiter waiter= new DebugElementKindEventWaiter(DebugEvent.TERMINATE, IJavaDebugTarget.class);
- waiter.setTimeout(timeout);
-
- Object terminatee = launchAndWait(config, waiter);
- assertNotNull("Program did not terminate.", terminatee);
- assertTrue("terminatee is not an IJavaDebugTarget", terminatee instanceof IJavaDebugTarget);
- IJavaDebugTarget debugTarget = (IJavaDebugTarget) terminatee;
- assertTrue("debug target is not terminated", debugTarget.isTerminated() || debugTarget.isDisconnected());
- return debugTarget;
+ return launchAndTerminate(config, timeout, true);
}
/**
diff --git a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/performance/PerfConditionalBreakpointsTests.java b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/performance/PerfConditionalBreakpointsTests.java
index 2e3786b..1155381 100644
--- a/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/performance/PerfConditionalBreakpointsTests.java
+++ b/org.eclipse.jdt.debug.tests/tests/org/eclipse/jdt/debug/tests/performance/PerfConditionalBreakpointsTests.java
@@ -70,7 +70,7 @@
DebugPlugin.getDefault().addDebugEventListener(listener);
ILaunchConfiguration config = getLaunchConfiguration(fTypeName);
try {
- fTarget = launchAndTerminate(config, 5 * 60 * 1000);
+ fTarget = launchAndTerminate(config, 5 * 60 * 1000, false);
if (fException != null) {
throw fException;