1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Resume threads individually in GDBMultiNonStopRunControlTest.

For older GDBs, we don't support resuming the entire process. The tests
in GDBMultiNonStopRunControlTest were trying to resume the entire
process as a shortcut and it was failing for GDB 7.1 and probably older
ones too.

This change loops over all suspended threads of the process and resumes
them individually.


Change-Id: Ie1056aa9775114c3a0d795a49d87d6efe431785d
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/38742
Tested-by: Hudson CI
This commit is contained in:
Marc Khouzam 2014-12-23 16:34:39 -05:00
parent 8353e5c321
commit f582de0a88
2 changed files with 124 additions and 92 deletions

View file

@ -344,6 +344,25 @@ public class SyncUtil {
return eventWaitor.waitForEvent(timeout); return eventWaitor.waitForEvent(timeout);
} }
public static boolean canResume(final IExecutionDMContext execDmc) throws Throwable {
Query<Boolean> query = new Query<Boolean>() {
@Override
protected void execute(final DataRequestMonitor<Boolean> rm) {
fRunControl.canResume(execDmc,
new ImmediateDataRequestMonitor<Boolean>(rm) {
@Override
protected void handleSuccess() {
rm.done(getData());
}
});
}
};
fRunControl.getExecutor().execute(query);
boolean canResume = query.get(500, TimeUnit.MILLISECONDS);
return canResume;
}
public static MIRunningEvent resume() throws Throwable { public static MIRunningEvent resume() throws Throwable {
return resume(DefaultTimeouts.get(ETimeout.resume)); return resume(DefaultTimeouts.get(ETimeout.resume));
} }
@ -353,6 +372,19 @@ public class SyncUtil {
return resume(containerDmc, timeout); return resume(containerDmc, timeout);
} }
public static void resumeAll() throws Throwable {
resumeAll(DefaultTimeouts.get(ETimeout.resume));
}
public static void resumeAll(int timeout) throws Throwable {
IMIExecutionDMContext[] threadDmcs = SyncUtil.getExecutionContexts();
for (IMIExecutionDMContext thread : threadDmcs) {
if (canResume(thread)) {
resume(thread, timeout);
}
}
}
public static MIStoppedEvent waitForStop() throws Throwable { public static MIStoppedEvent waitForStop() throws Throwable {
return waitForStop(DefaultTimeouts.get(ETimeout.waitForStop)); return waitForStop(DefaultTimeouts.get(ETimeout.waitForStop));
} }

View file

@ -242,7 +242,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
assertTrue("Expected a single thread but got " + threads.length, threads.length == 1); assertTrue("Expected a single thread but got " + threads.length, threads.length == 1);
// Resume the program to check thread while it is running // Resume the program to check thread while it is running
SyncUtil.resume(); SyncUtil.resumeAll();
Boolean result; Boolean result;
@ -337,7 +337,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
@ -437,12 +437,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
@ -541,16 +541,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
assertTrue("Expected two threads but got " + threads.length, threads.length == 2); assertTrue("Expected two threads but got " + threads.length, threads.length == 2);
@ -676,7 +676,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
assertTrue("Expected a single thread but got " + threads.length, threads.length == 1); assertTrue("Expected a single thread but got " + threads.length, threads.length == 1);
// Resume the program to get thread running // Resume the program to get thread running
SyncUtil.resume(); SyncUtil.resumeAll();
// Confirm that all threads are running // Confirm that all threads are running
Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() { Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() {
@ -716,7 +716,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -771,7 +771,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -812,12 +812,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
@ -863,16 +863,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
assertTrue("Expected two threads but got " + threads.length, threads.length == 2); assertTrue("Expected two threads but got " + threads.length, threads.length == 2);
@ -940,7 +940,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
assertTrue("Expected a single thread but got " + threads.length, threads.length == 1); assertTrue("Expected a single thread but got " + threads.length, threads.length == 1);
// Resume the program to get thread running // Resume the program to get thread running
SyncUtil.resume(); SyncUtil.resumeAll();
// Confirm that all threads are running // Confirm that all threads are running
Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() { Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() {
@ -982,7 +982,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -1018,12 +1018,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
@ -1060,16 +1060,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
assertTrue("Expected two threads but got " + threads.length, threads.length == 2); assertTrue("Expected two threads but got " + threads.length, threads.length == 2);
@ -1118,16 +1118,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
assertTrue("Expected two threads but got " + threads.length, threads.length == 2); assertTrue("Expected two threads but got " + threads.length, threads.length == 2);
@ -1277,7 +1277,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
new IContainerDMContext[] { SyncUtil.getContainerContext() }; new IContainerDMContext[] { SyncUtil.getContainerContext() };
// Resume the program to check thread while it is running // Resume the program to check thread while it is running
SyncUtil.resume(); SyncUtil.resumeAll();
Boolean result; Boolean result;
@ -1372,7 +1372,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
@ -1472,13 +1472,13 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
final IContainerDMContext[] processes = final IContainerDMContext[] processes =
new IContainerDMContext[] { SyncUtil.getContainerContext() }; new IContainerDMContext[] { SyncUtil.getContainerContext() };
@ -1576,16 +1576,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IContainerDMContext[] processes = final IContainerDMContext[] processes =
new IContainerDMContext[] { SyncUtil.getContainerContext() }; new IContainerDMContext[] { SyncUtil.getContainerContext() };
@ -1783,7 +1783,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
new IExecutionDMContext[] { SyncUtil.getContainerContext(), threads[0] }; new IExecutionDMContext[] { SyncUtil.getContainerContext(), threads[0] };
// Resume the program to check thread while it is running // Resume the program to check thread while it is running
SyncUtil.resume(); SyncUtil.resumeAll();
Boolean result; Boolean result;
@ -1879,7 +1879,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
@ -1983,12 +1983,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
@ -2091,12 +2091,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
@ -2199,16 +2199,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
assertTrue("Expected a single thread but got " + threads.length, threads.length == 2); assertTrue("Expected a single thread but got " + threads.length, threads.length == 2);
@ -2316,7 +2316,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
@ -2420,12 +2420,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
@ -2528,16 +2528,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts(); final IMIExecutionDMContext[] threads = SyncUtil.getExecutionContexts();
assertTrue("Expected a single thread but got " + threads.length, threads.length == 2); assertTrue("Expected a single thread but got " + threads.length, threads.length == 2);
@ -2666,7 +2666,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
SyncUtil.getContainerContext() }; SyncUtil.getContainerContext() };
// Resume the program to get thread running // Resume the program to get thread running
SyncUtil.resume(); SyncUtil.resumeAll();
// Confirm that all threads are running // Confirm that all threads are running
Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() { Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() {
@ -2706,7 +2706,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -2747,12 +2747,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IExecutionDMContext[] processes = new IExecutionDMContext[] { final IExecutionDMContext[] processes = new IExecutionDMContext[] {
@ -2798,16 +2798,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IExecutionDMContext[] processes = new IExecutionDMContext[] { final IExecutionDMContext[] processes = new IExecutionDMContext[] {
SyncUtil.getContainerContext() }; SyncUtil.getContainerContext() };
@ -2886,7 +2886,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
SyncUtil.getContainerContext() }; SyncUtil.getContainerContext() };
// Resume the program to get thread running // Resume the program to get thread running
SyncUtil.resume(); SyncUtil.resumeAll();
// Confirm that all threads are running // Confirm that all threads are running
Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() { Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() {
@ -2928,7 +2928,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -2975,12 +2975,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IExecutionDMContext[] processes = new IExecutionDMContext[] { final IExecutionDMContext[] processes = new IExecutionDMContext[] {
@ -3028,16 +3028,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IExecutionDMContext[] processes = new IExecutionDMContext[] { final IExecutionDMContext[] processes = new IExecutionDMContext[] {
SyncUtil.getContainerContext() }; SyncUtil.getContainerContext() };
@ -3145,7 +3145,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0) }; SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0) };
// Resume the program to get thread running // Resume the program to get thread running
SyncUtil.resume(); SyncUtil.resumeAll();
// Confirm that all threads are running // Confirm that all threads are running
Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() { Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() {
@ -3195,7 +3195,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -3244,12 +3244,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
@ -3297,12 +3297,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
@ -3349,16 +3349,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0) }; SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0) };
@ -3439,7 +3439,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0) }; SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0) };
// Resume the program to get thread running // Resume the program to get thread running
SyncUtil.resume(); SyncUtil.resumeAll();
// Confirm that all threads are running // Confirm that all threads are running
Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() { Boolean result = runAsyncCall(new AsyncRunnable<Boolean>() {
@ -3482,7 +3482,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -3530,12 +3530,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
@ -3584,12 +3584,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
@ -3638,16 +3638,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0) }; SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0) };
@ -3724,7 +3724,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -3773,12 +3773,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
@ -3825,16 +3825,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0), SyncUtil.getExecutionContext(1) }; SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0), SyncUtil.getExecutionContext(1) };
@ -3882,7 +3882,7 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
@ -3930,12 +3930,12 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped = final ServiceEventWaitor<MIStoppedEvent> eventWaitorStopped =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop eventWaitorStopped.waitForEvent(2000); // Wait for first thread to stop
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
@ -3984,16 +3984,16 @@ public class GDBMultiNonStopRunControlTest_7_0 extends BaseTestCase {
final ServiceEventWaitor<MIStoppedEvent> eventWaitor = final ServiceEventWaitor<MIStoppedEvent> eventWaitor =
new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class); new ServiceEventWaitor<MIStoppedEvent>(fMultiRun.getSession(), MIStoppedEvent.class);
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
eventWaitor.waitForEvent(2000); // Wait for second thread to stop eventWaitor.waitForEvent(2000); // Wait for second thread to stop
// Now resume program again and wait for one of the two threads to stop // Now resume program again and wait for one of the two threads to stop
SyncUtil.resume(); SyncUtil.resumeAll();
eventWaitor.waitForEvent(2000); // Wait for first thread to stop eventWaitor.waitForEvent(2000); // Wait for first thread to stop
// Now resume the thread again to have both running // Now resume the thread again to have both running
SyncUtil.resume(); SyncUtil.resumeAll();
final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] { final IExecutionDMContext[] execDmcs = new IExecutionDMContext[] {
SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0), SyncUtil.getExecutionContext(1) }; SyncUtil.getContainerContext(), SyncUtil.getExecutionContext(0), SyncUtil.getExecutionContext(1) };