mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 22:52:11 +02:00
Bug 345026: JUnit tests to test operations while the target is running
This commit is contained in:
parent
7273934121
commit
e4320d05fc
30 changed files with 664 additions and 4 deletions
|
@ -157,7 +157,14 @@ public class ServiceEventWaitor<V> {
|
|||
}
|
||||
}
|
||||
|
||||
return fEvent;
|
||||
// Mark that we have consumed the event.
|
||||
// This will allow to wait for the next similar event.
|
||||
// For example, for a restart, there could be more than one
|
||||
// stopped event, and we need to wait for the second one.
|
||||
V event = fEvent;
|
||||
fEvent = null;
|
||||
|
||||
return event;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -47,6 +47,7 @@ import org.eclipse.cdt.dsf.mi.service.IMIRunControl;
|
|||
import org.eclipse.cdt.dsf.mi.service.MIStack;
|
||||
import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
|
||||
import org.eclipse.cdt.dsf.mi.service.command.events.MIRunningEvent;
|
||||
import org.eclipse.cdt.dsf.mi.service.command.events.MISignalEvent;
|
||||
import org.eclipse.cdt.dsf.mi.service.command.events.MIStoppedEvent;
|
||||
import org.eclipse.cdt.dsf.mi.service.command.output.MIBreakInsertInfo;
|
||||
import org.eclipse.cdt.dsf.mi.service.command.output.MIBreakListInfo;
|
||||
|
@ -587,7 +588,7 @@ public class SyncUtil {
|
|||
/**
|
||||
* Restart the program.
|
||||
*/
|
||||
public static void restart(final GdbLaunch launch) throws Throwable {
|
||||
public static MIStoppedEvent restart(final GdbLaunch launch) throws Throwable {
|
||||
final IContainerDMContext containerDmc = getContainerContext();
|
||||
|
||||
// Check if restart is allowed
|
||||
|
@ -636,6 +637,12 @@ public class SyncUtil {
|
|||
fGdbControl.getExecutor().execute(query2);
|
||||
query2.get(500, TimeUnit.MILLISECONDS);
|
||||
|
||||
eventWaitor.waitForEvent(DefaultTimeouts.get(ETimeout.waitForStop));
|
||||
|
||||
MIStoppedEvent event = eventWaitor.waitForEvent(DefaultTimeouts.get(ETimeout.waitForStop));
|
||||
if (event instanceof MISignalEvent) {
|
||||
// This is not the stopped event we were waiting for. Get the next one.
|
||||
event = eventWaitor.waitForEvent(DefaultTimeouts.get(ETimeout.waitForStop));
|
||||
}
|
||||
return event;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,6 +15,8 @@ import org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7.Suite_Remote_6_7;
|
|||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8.Suite_Remote_6_8;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0.Suite_Remote_7_0;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1.Suite_Remote_7_1;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2.Suite_Remote_7_2;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_3.Suite_Remote_7_3;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Suite;
|
||||
|
||||
|
@ -34,6 +36,8 @@ import org.junit.runners.Suite;
|
|||
Suite_Remote_6_8.class,
|
||||
Suite_Remote_7_0.class,
|
||||
Suite_Remote_7_1.class,
|
||||
Suite_Remote_7_2.class,
|
||||
Suite_Remote_7_3.class,
|
||||
/* Add your suite class here */
|
||||
})
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2010 Ericsson and others.
|
||||
* Copyright (c) 2009, 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
|
@ -10,6 +10,7 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests;
|
||||
|
||||
import org.eclipse.cdt.dsf.mi.service.command.commands.Suite_Sessionless_Tests;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Suite;
|
||||
|
||||
|
@ -27,6 +28,7 @@ import org.junit.runners.Suite;
|
|||
LaunchUtilsTest.class,
|
||||
MIRegistersTest.class,
|
||||
MIRunControlTest.class,
|
||||
MIRunControlTargetAvailableTest.class,
|
||||
MIExpressionsTest.class,
|
||||
MIMemoryTest.class,
|
||||
MIBreakpointsTest.class,
|
||||
|
@ -34,6 +36,8 @@ import org.junit.runners.Suite;
|
|||
MIDisassemblyTest.class,
|
||||
GDBProcessesTest.class,
|
||||
LaunchConfigurationAndRestartTest.class,
|
||||
OperationsWhileTargetIsRunningTest.class,
|
||||
Suite_Sessionless_Tests.class,
|
||||
/* Add your suite class here */
|
||||
})
|
||||
|
||||
|
|
|
@ -0,0 +1,326 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests;
|
||||
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
|
||||
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
|
||||
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
|
||||
import org.eclipse.cdt.dsf.concurrent.Query;
|
||||
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
|
||||
import org.eclipse.cdt.dsf.datamodel.DMContexts;
|
||||
import org.eclipse.cdt.dsf.debug.service.IProcesses.IProcessDMContext;
|
||||
import org.eclipse.cdt.dsf.debug.service.IRunControl.IExitedDMEvent;
|
||||
import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommandControlShutdownDMEvent;
|
||||
import org.eclipse.cdt.dsf.gdb.IGdbDebugPreferenceConstants;
|
||||
import org.eclipse.cdt.dsf.gdb.service.IGDBProcesses;
|
||||
import org.eclipse.cdt.dsf.gdb.service.command.IGDBControl;
|
||||
import org.eclipse.cdt.dsf.mi.service.IMIContainerDMContext;
|
||||
import org.eclipse.cdt.dsf.mi.service.command.events.MIStoppedEvent;
|
||||
import org.eclipse.cdt.dsf.service.DsfServicesTracker;
|
||||
import org.eclipse.cdt.dsf.service.DsfSession;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.ServiceEventWaitor;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.SyncUtil;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.launching.TestsPlugin;
|
||||
import org.eclipse.core.runtime.preferences.DefaultScope;
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.osgi.service.prefs.Preferences;
|
||||
|
||||
|
||||
/**
|
||||
* Tests that we can perform different operations while the target
|
||||
* is running.
|
||||
*/
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest extends BaseTestCase {
|
||||
|
||||
private static final String TIMEOUT_MESSAGE = "Timeout";
|
||||
|
||||
private DsfServicesTracker fServicesTracker;
|
||||
private IGDBProcesses fProcesses;
|
||||
private IMIContainerDMContext fContainerDmc;
|
||||
private IGDBControl fControl;
|
||||
|
||||
/*
|
||||
* Path to executable
|
||||
*/
|
||||
private static final String EXEC_PATH = "data/launch/bin/";
|
||||
/*
|
||||
* Name of the executable
|
||||
*/
|
||||
private static final String EXEC_NAME = "TargetAvail.exe";
|
||||
|
||||
@Before
|
||||
public void init() throws Exception {
|
||||
final DsfSession session = getGDBLaunch().getSession();
|
||||
|
||||
Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
fServicesTracker =
|
||||
new DsfServicesTracker(TestsPlugin.getBundleContext(),
|
||||
session.getId());
|
||||
|
||||
fProcesses = fServicesTracker.getService(IGDBProcesses.class);
|
||||
fControl = fServicesTracker.getService(IGDBControl.class);
|
||||
}
|
||||
};
|
||||
session.getExecutor().submit(runnable).get();
|
||||
|
||||
fContainerDmc = (IMIContainerDMContext)SyncUtil.getContainerContext();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
fServicesTracker.dispose();
|
||||
}
|
||||
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod() {
|
||||
setLaunchAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME,
|
||||
EXEC_PATH + EXEC_NAME);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that the restart operation works properly while the target is running, and
|
||||
* with the option to kill GDB after the process terminate enabled.
|
||||
*/
|
||||
@Test
|
||||
public void restartWhileTargetRunningKillGDB() throws Throwable {
|
||||
// First set the preference to kill GDB (although it should not happen in this test)
|
||||
Preferences node = DefaultScope.INSTANCE.getNode("org.eclipse.cdt.dsf.gdb.ui");
|
||||
node.putBoolean(IGdbDebugPreferenceConstants.PREF_AUTO_TERMINATE_GDB, true);
|
||||
|
||||
// The target is currently stopped. We resume to get it running
|
||||
// then we do the restart, and confirm we are then stopped on main
|
||||
SyncUtil.resume();
|
||||
MIStoppedEvent stoppedEvent = SyncUtil.restart(getGDBLaunch());
|
||||
|
||||
String func = stoppedEvent.getFrame().getFunction();
|
||||
Assert.assertTrue("Expected to be stopped at main, but is stopped at " + func,
|
||||
"main".equals(func));
|
||||
|
||||
// Now make sure GDB is still alive
|
||||
Assert.assertTrue("GDB should have been still alive", fControl.isActive());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that the restart operation works properly while the target is running, and
|
||||
* with the option to kill GDB after the process terminate disabled.
|
||||
*/
|
||||
@Test
|
||||
public void restartWhileTargetRunningGDBAlive() throws Throwable {
|
||||
// First set the preference not to kill gdb
|
||||
Preferences node = DefaultScope.INSTANCE.getNode("org.eclipse.cdt.dsf.gdb.ui");
|
||||
node.putBoolean(IGdbDebugPreferenceConstants.PREF_AUTO_TERMINATE_GDB, false);
|
||||
|
||||
// The target is currently stopped. We resume to get it running
|
||||
// then we do the restart, and confirm we are then stopped on main
|
||||
SyncUtil.resume();
|
||||
MIStoppedEvent stoppedEvent = SyncUtil.restart(getGDBLaunch());
|
||||
|
||||
String func = stoppedEvent.getFrame().getFunction();
|
||||
Assert.assertTrue("Expected to be stopped at main, but is stopped at " + func,
|
||||
"main".equals(func));
|
||||
|
||||
// Now make sure GDB is still alive
|
||||
Assert.assertTrue("GDB should have been still alive", fControl.isActive());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that the terminate operation works properly while the target is running, and
|
||||
* with the option to kill GDB after the process terminate enabled.
|
||||
*/
|
||||
@Test
|
||||
public void terminateWhileTargetRunningKillGDB() throws Throwable {
|
||||
// First set the preference to kill GDB
|
||||
Preferences node = DefaultScope.INSTANCE.getNode("org.eclipse.cdt.dsf.gdb.ui");
|
||||
node.putBoolean(IGdbDebugPreferenceConstants.PREF_AUTO_TERMINATE_GDB, true);
|
||||
|
||||
// The target is currently stopped. We resume to get it running
|
||||
// then we terminate, and confirm that we shutdown right away
|
||||
SyncUtil.resume();
|
||||
|
||||
ServiceEventWaitor<ICommandControlShutdownDMEvent> shutdownEventWaitor = new ServiceEventWaitor<ICommandControlShutdownDMEvent>(
|
||||
getGDBLaunch().getSession(),
|
||||
ICommandControlShutdownDMEvent.class);
|
||||
|
||||
// Don't use a query here. The terminate, because it kills GDB, may not return right away
|
||||
// But that is ok because we wait for a shutdown event right after
|
||||
Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
IProcessDMContext processDmc = DMContexts.getAncestorOfType(fContainerDmc, IProcessDMContext.class);
|
||||
fProcesses.terminate(processDmc, new RequestMonitor(ImmediateExecutor.getInstance(), null));
|
||||
}
|
||||
};
|
||||
fProcesses.getExecutor().execute(runnable);
|
||||
|
||||
// The shutdown must happen quickly, which will confirm that it was
|
||||
// our own terminate that did it. If it take longer, it indicates
|
||||
// that the program terminated on its own, which is not what we want.
|
||||
shutdownEventWaitor.waitForEvent(TestsPlugin.massageTimeout(500));
|
||||
|
||||
// Now make sure GDB is dead
|
||||
Assert.assertTrue("GDB should have been terminated", !fControl.isActive());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that the terminate operation works properly while the target is running, and
|
||||
* with the option to kill GDB after the process terminate disabled.
|
||||
*/
|
||||
@Test
|
||||
public void terminateWhileTargetRunningKeepGDBAlive() throws Throwable {
|
||||
// First set the preference not to kill gdb
|
||||
Preferences node = DefaultScope.INSTANCE.getNode("org.eclipse.cdt.dsf.gdb.ui");
|
||||
node.putBoolean(IGdbDebugPreferenceConstants.PREF_AUTO_TERMINATE_GDB, false);
|
||||
|
||||
// The target is currently stopped. We resume to get it running
|
||||
// then we terminate the process, and confirm that there are no more processes
|
||||
SyncUtil.resume();
|
||||
|
||||
ServiceEventWaitor<IExitedDMEvent> exitedEventWaitor = new ServiceEventWaitor<IExitedDMEvent>(
|
||||
getGDBLaunch().getSession(),
|
||||
IExitedDMEvent.class);
|
||||
|
||||
Query<Object> query = new Query<Object>() {
|
||||
@Override
|
||||
protected void execute(final DataRequestMonitor<Object> rm) {
|
||||
IProcessDMContext processDmc = DMContexts.getAncestorOfType(fContainerDmc, IProcessDMContext.class);
|
||||
fProcesses.terminate(processDmc, rm);
|
||||
}
|
||||
};
|
||||
try {
|
||||
fProcesses.getExecutor().execute(query);
|
||||
query.get(1000, TimeUnit.MILLISECONDS);
|
||||
} catch (InterruptedException e) {
|
||||
fail(e.getMessage());
|
||||
} catch (ExecutionException e) {
|
||||
fail(e.getCause().getMessage());
|
||||
} catch (TimeoutException e) {
|
||||
fail(TIMEOUT_MESSAGE);
|
||||
}
|
||||
|
||||
IExitedDMEvent event = exitedEventWaitor.waitForEvent(TestsPlugin.massageTimeout(500));
|
||||
if (!(event.getDMContext() instanceof IMIContainerDMContext)) {
|
||||
// This was the thread exited event, we want the container exited event
|
||||
event = exitedEventWaitor.waitForEvent(TestsPlugin.massageTimeout(500));
|
||||
}
|
||||
|
||||
// Make sure this event shows that the process was terminated
|
||||
Assert.assertTrue("Process was not terminated", event.getDMContext() instanceof IMIContainerDMContext);
|
||||
IMIContainerDMContext dmc = (IMIContainerDMContext)event.getDMContext();
|
||||
Assert.assertTrue("Expected process " + fContainerDmc.getGroupId() + " but got " + dmc.getGroupId(),
|
||||
fContainerDmc.getGroupId().equals(dmc.getGroupId()));
|
||||
|
||||
// Now make sure GDB is still alive
|
||||
Assert.assertTrue("GDB should have been still alive", fControl.isActive());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that the detach operation works properly while the target is running, and
|
||||
* with the option to kill GDB after the process terminate enabled.
|
||||
*/
|
||||
@Test
|
||||
public void detachWhileTargetRunningKillGDB() throws Throwable {
|
||||
// First set the preference to kill GDB
|
||||
Preferences node = DefaultScope.INSTANCE.getNode("org.eclipse.cdt.dsf.gdb.ui");
|
||||
node.putBoolean(IGdbDebugPreferenceConstants.PREF_AUTO_TERMINATE_GDB, true);
|
||||
|
||||
// The target is currently stopped. We resume to get it running
|
||||
// then we detach the process, and confirm that we are shutdown
|
||||
SyncUtil.resume();
|
||||
|
||||
ServiceEventWaitor<ICommandControlShutdownDMEvent> shutdownEventWaitor = new ServiceEventWaitor<ICommandControlShutdownDMEvent>(
|
||||
getGDBLaunch().getSession(),
|
||||
ICommandControlShutdownDMEvent.class);
|
||||
|
||||
// Don't use a query here. Because GDB will be killed, the call to detach may not return right away
|
||||
// But that is ok because we wait for a shutdown event right after
|
||||
Runnable runnable = new Runnable() {
|
||||
public void run() {
|
||||
fProcesses.detachDebuggerFromProcess(fContainerDmc, new RequestMonitor(ImmediateExecutor.getInstance(), null));
|
||||
}
|
||||
};
|
||||
fProcesses.getExecutor().execute(runnable);
|
||||
|
||||
// The shutdown must happen quickly, which will confirm that it was
|
||||
// our own terminate that did it. If it take longer, it indicates
|
||||
// that the program terminated on its own, which is not what we want.
|
||||
shutdownEventWaitor.waitForEvent(TestsPlugin.massageTimeout(500));
|
||||
|
||||
// Now make sure GDB is dead
|
||||
Assert.assertTrue("GDB should have been terminated", !fControl.isActive());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test that the detach operation works properly while the target is running, and
|
||||
* with the option to kill GDB after the process terminate disabled.
|
||||
*/
|
||||
@Test
|
||||
public void detachWhileTargetRunningGDBAlive() throws Throwable {
|
||||
// First set the preference not to kill gdb
|
||||
Preferences node = DefaultScope.INSTANCE.getNode("org.eclipse.cdt.dsf.gdb.ui");
|
||||
node.putBoolean(IGdbDebugPreferenceConstants.PREF_AUTO_TERMINATE_GDB, false);
|
||||
|
||||
// The target is currently stopped. We resume to get it running
|
||||
// then we detach the process, and confirm that we are not longer running
|
||||
SyncUtil.resume();
|
||||
|
||||
ServiceEventWaitor<IExitedDMEvent> exitedEventWaitor = new ServiceEventWaitor<IExitedDMEvent>(
|
||||
getGDBLaunch().getSession(),
|
||||
IExitedDMEvent.class);
|
||||
|
||||
Query<Object> query = new Query<Object>() {
|
||||
@Override
|
||||
protected void execute(final DataRequestMonitor<Object> rm) {
|
||||
fProcesses.detachDebuggerFromProcess(fContainerDmc, rm);
|
||||
}
|
||||
};
|
||||
try {
|
||||
fProcesses.getExecutor().execute(query);
|
||||
query.get(1000, TimeUnit.MILLISECONDS);
|
||||
} catch (InterruptedException e) {
|
||||
fail(e.getMessage());
|
||||
} catch (ExecutionException e) {
|
||||
fail(e.getCause().getMessage());
|
||||
} catch (TimeoutException e) {
|
||||
fail(TIMEOUT_MESSAGE);
|
||||
}
|
||||
|
||||
IExitedDMEvent event = exitedEventWaitor.waitForEvent(TestsPlugin.massageTimeout(500));
|
||||
if (!(event.getDMContext() instanceof IMIContainerDMContext)) {
|
||||
// This was the thread exited event, we want the container exited event
|
||||
event = exitedEventWaitor.waitForEvent(TestsPlugin.massageTimeout(500));
|
||||
}
|
||||
|
||||
// Make sure this event shows that the process was detached
|
||||
Assert.assertTrue("Process was not detached", event.getDMContext() instanceof IMIContainerDMContext);
|
||||
IMIContainerDMContext dmc = (IMIContainerDMContext)event.getDMContext();
|
||||
Assert.assertTrue("Expected process " + fContainerDmc.getGroupId() + " but got " + dmc.getGroupId(),
|
||||
fContainerDmc.getGroupId().equals(dmc.getGroupId()));
|
||||
|
||||
// Now make sure GDB is still alive
|
||||
Assert.assertTrue("GDB should have been still alive", fControl.isActive());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_6;
|
||||
|
||||
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.OperationsWhileTargetIsRunningTest;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest_6_6 extends OperationsWhileTargetIsRunningTest {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_6_6() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_6_6);
|
||||
}
|
||||
}
|
|
@ -36,6 +36,7 @@ import org.junit.runners.Suite;
|
|||
MIDisassemblyTest_6_6.class,
|
||||
GDBProcessesTest_6_6.class,
|
||||
LaunchConfigurationAndRestartTest_6_6.class,
|
||||
OperationsWhileTargetIsRunningTest_6_6.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -39,6 +39,7 @@ import org.junit.runners.Suite;
|
|||
MICatchpointsTest_6_6.class,
|
||||
MIDisassemblyTest_6_6.class,
|
||||
GDBProcessesTest_6_6.class,
|
||||
OperationsWhileTargetIsRunningTest_6_6.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7;
|
||||
|
||||
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_6.OperationsWhileTargetIsRunningTest_6_6;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest_6_7 extends OperationsWhileTargetIsRunningTest_6_6 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_6_7() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_6_7);
|
||||
}
|
||||
}
|
|
@ -36,6 +36,7 @@ import org.junit.runners.Suite;
|
|||
MIDisassemblyTest_6_7.class,
|
||||
GDBProcessesTest_6_7.class,
|
||||
LaunchConfigurationAndRestartTest_6_7.class,
|
||||
OperationsWhileTargetIsRunningTest_6_7.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -39,6 +39,7 @@ import org.junit.runners.Suite;
|
|||
MICatchpointsTest_6_7.class,
|
||||
MIDisassemblyTest_6_7.class,
|
||||
GDBProcessesTest_6_7.class,
|
||||
OperationsWhileTargetIsRunningTest_6_7.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8;
|
||||
|
||||
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7.OperationsWhileTargetIsRunningTest_6_7;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest_6_8 extends OperationsWhileTargetIsRunningTest_6_7 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_6_8() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_6_8);
|
||||
}
|
||||
}
|
|
@ -36,6 +36,7 @@ import org.junit.runners.Suite;
|
|||
MIDisassemblyTest_6_8.class,
|
||||
GDBProcessesTest_6_8.class,
|
||||
LaunchConfigurationAndRestartTest_6_8.class,
|
||||
OperationsWhileTargetIsRunningTest_6_8.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -39,6 +39,7 @@ import org.junit.runners.Suite;
|
|||
MICatchpointsTest_6_8.class,
|
||||
MIDisassemblyTest_6_8.class,
|
||||
GDBProcessesTest_6_8.class,
|
||||
OperationsWhileTargetIsRunningTest_6_8.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0;
|
||||
|
||||
|
||||
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningNonStopTest_7_0 extends OperationsWhileTargetIsRunningTest_7_0 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_0() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_0);
|
||||
setLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_NON_STOP, true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0;
|
||||
|
||||
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8.OperationsWhileTargetIsRunningTest_6_8;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest_7_0 extends OperationsWhileTargetIsRunningTest_6_8 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_0() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_0);
|
||||
}
|
||||
}
|
|
@ -37,6 +37,8 @@ import org.junit.runners.Suite;
|
|||
MIDisassemblyTest_7_0.class,
|
||||
GDBProcessesTest_7_0.class,
|
||||
LaunchConfigurationAndRestartTest_7_0.class,
|
||||
OperationsWhileTargetIsRunningTest_7_0.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_0.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -41,6 +41,8 @@ import org.junit.runners.Suite;
|
|||
MICatchpointsTest_7_0.class,
|
||||
MIDisassemblyTest_7_0.class,
|
||||
GDBProcessesTest_7_0.class,
|
||||
OperationsWhileTargetIsRunningTest_7_0.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_0.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1;
|
||||
|
||||
|
||||
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningNonStopTest_7_1 extends OperationsWhileTargetIsRunningTest_7_1 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_1() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_1);
|
||||
setLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_NON_STOP, true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1;
|
||||
|
||||
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0.OperationsWhileTargetIsRunningTest_7_0;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest_7_1 extends OperationsWhileTargetIsRunningTest_7_0 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_1() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_1);
|
||||
}
|
||||
}
|
|
@ -37,6 +37,8 @@ import org.junit.runners.Suite;
|
|||
MIDisassemblyTest_7_1.class,
|
||||
GDBProcessesTest_7_1.class,
|
||||
LaunchConfigurationAndRestartTest_7_1.class,
|
||||
OperationsWhileTargetIsRunningTest_7_1.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_1.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -41,6 +41,8 @@ import org.junit.runners.Suite;
|
|||
MICatchpointsTest_7_1.class,
|
||||
MIDisassemblyTest_7_1.class,
|
||||
GDBProcessesTest_7_1.class,
|
||||
OperationsWhileTargetIsRunningTest_7_1.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_1.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2;
|
||||
|
||||
|
||||
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningNonStopTest_7_2 extends OperationsWhileTargetIsRunningTest_7_2 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_2() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_2);
|
||||
setLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_NON_STOP, true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2;
|
||||
|
||||
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1.OperationsWhileTargetIsRunningTest_7_1;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest_7_2 extends OperationsWhileTargetIsRunningTest_7_1 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_2() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_2);
|
||||
}
|
||||
}
|
|
@ -37,6 +37,8 @@ import org.junit.runners.Suite;
|
|||
MIDisassemblyTest_7_2.class,
|
||||
GDBProcessesTest_7_2.class,
|
||||
LaunchConfigurationAndRestartTest_7_2.class,
|
||||
OperationsWhileTargetIsRunningTest_7_2.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_2.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -41,6 +41,8 @@ import org.junit.runners.Suite;
|
|||
MICatchpointsTest_7_2.class,
|
||||
MIDisassemblyTest_7_2.class,
|
||||
GDBProcessesTest_7_2.class,
|
||||
OperationsWhileTargetIsRunningTest_7_2.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_2.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_3;
|
||||
|
||||
|
||||
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningNonStopTest_7_3 extends OperationsWhileTargetIsRunningTest_7_3 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_3() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_3);
|
||||
setLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_NON_STOP, true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2011 Ericsson and others.
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* http://www.eclipse.org/legal/epl-v10.html
|
||||
*
|
||||
* Contributors:
|
||||
* Ericsson AB - Initial implementation of Test cases
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_3;
|
||||
|
||||
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2.OperationsWhileTargetIsRunningTest_7_2;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest_7_3 extends OperationsWhileTargetIsRunningTest_7_2 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_3() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_3);
|
||||
}
|
||||
}
|
|
@ -37,6 +37,8 @@ import org.junit.runners.Suite;
|
|||
MIDisassemblyTest_7_3.class,
|
||||
GDBProcessesTest_7_3.class,
|
||||
LaunchConfigurationAndRestartTest_7_3.class,
|
||||
OperationsWhileTargetIsRunningTest_7_3.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_3.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
|
@ -41,6 +41,8 @@ import org.junit.runners.Suite;
|
|||
MICatchpointsTest_7_3.class,
|
||||
MIDisassemblyTest_7_3.class,
|
||||
GDBProcessesTest_7_3.class,
|
||||
OperationsWhileTargetIsRunningTest_7_3.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_3.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
|
Loading…
Add table
Reference in a new issue