1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-13 03:55:22 +02:00

parameterized tests gdb tests

this commit to introduce a test harness that allow
to reduce SIGNIFICALLY duplication of test per gdb version.
Tests is now parameterized with version and type (gdb vs gdbserver).
This commit flattens on of the tests as example rest is still 
using an old way.

Parameters are defined externally now via Java variable like this
 -Dcdt.tests.dsf.gdb.versions=gdb.7.7,gdbserver.7.7,gdb.7.11

Change-Id: I855449afba40e265c542dc5de7a3562548c97e8b
This commit is contained in:
Alena Laskavaia 2016-03-14 12:02:09 -04:00 committed by Gerrit Code Review @ Eclipse.org
parent df63a59b53
commit b3f03996de
57 changed files with 1289 additions and 1789 deletions

View file

@ -439,7 +439,7 @@ public class GdbLaunchDelegate extends AbstractCLaunchDelegate2
* @since 4.0
*/
protected boolean isNonStopSupportedInGdbVersion(String version) {
if (NON_STOP_FIRST_VERSION.compareTo(version) <= 0) {
if (NON_STOP_FIRST_VERSION.compareTo(version) <= 0) {// XXX: 7.2 > 7.11 !!!
return true;
}
return false;

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -1,9 +1,8 @@
#Tue Jun 24 11:05:41 PDT 2008
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@ -67,4 +66,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disa
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.jdt.core.compiler.source=1.8

View file

@ -19,7 +19,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.mockito,
org.hamcrest
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ClassPath: .
Export-Package: org.eclipse.cdt.dsf.mi.service;x-internal:=true,
org.eclipse.cdt.tests.dsf.gdb.framework;x-internal:=true,

View file

@ -19,6 +19,7 @@
<dsf.gdb.tests.gdbPath>/shared/common/gdb/gdb-all/bin</dsf.gdb.tests.gdbPath>
<dsf.gdb.tests.gdbTestSuite>AutomatedSuite.java</dsf.gdb.tests.gdbTestSuite>
<dsf.gdb.tests.timeout.multiplier>1</dsf.gdb.tests.timeout.multiplier>
<cdt.tests.dsf.gdb.versions>gdb.7.11,gdbserver.7.11</cdt.tests.dsf.gdb.versions>
</properties>
<build>
<plugins>
@ -58,7 +59,7 @@
<version>${tycho-version}</version>
<configuration>
<useUIHarness>false</useUIHarness>
<argLine>${tycho.testArgLine} ${base.ui.test.vmargs} -ea -Xms256m -Xmx512m -XX:MaxPermSize=256M -Dcdt.tests.dsf.gdb.path=${dsf.gdb.tests.gdbPath} -Ddsf.gdb.tests.timeout.multiplier=${dsf.gdb.tests.timeout.multiplier}</argLine>
<argLine>${tycho.testArgLine} ${base.ui.test.vmargs} -ea -Xms256m -Xmx512m -XX:MaxPermSize=256M -Dcdt.tests.dsf.gdb.path=${dsf.gdb.tests.gdbPath} -Ddsf.gdb.tests.timeout.multiplier=${dsf.gdb.tests.timeout.multiplier} -Dcdt.tests.dsf.gdb.versions=${cdt.tests.dsf.gdb.versions}</argLine>
<includes>
<include>**/${dsf.gdb.tests.gdbTestSuite}</include>
</includes>

View file

@ -0,0 +1,142 @@
/*******************************************************************************
* Copyright (c) 2016 QNX Software System 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:
* Elena Laskavaia (QNX Software System) - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.framework;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.gdb.launching.LaunchUtils;
import org.junit.AfterClass;
import org.junit.Assume;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
/**
* This is base test class for all parametrized classes (classes parameter is
* gdb version)
*/
@RunWith(Parameterized.class)
public abstract class BaseParametrizedTestCase extends BaseTestCase {
@Parameterized.Parameters(name = "{0}")
public static Collection<String> getVersions() {
return calculateVersions();
}
@Parameter public String parameter;
// other fields
private String gdbVersionPostfix; // this is how we want to invoke it
private boolean remote; // this is if we want remote tests (gdbserver)
protected static List<String> calculateVersions() {
if (globalVersion != null) {
// this is old tests. Version specific suite will set this value
return Collections.singletonList(globalVersion);
}
String gdbVersions = System.getProperty("cdt.tests.dsf.gdb.versions");
if (gdbVersions == null) {
// this has to be put in maven using -Dcdt.tests.dsf.gdb.versions or in junit config if you run locally
// like this -Dcdt.tests.dsf.gdb.versions=gdb.7.7,gdbserver.7.7
gdbVersions = "gdb,gdbserver";
}
String[] versions = gdbVersions.split(",");
return Arrays.asList(versions);
}
protected void parseParameter() {
if (gdbVersionPostfix == null && parameter != null) {
parameter = parameter.trim();
if (parameter.startsWith("gdbserver")) { // remote
remote = true;
gdbVersionPostfix = parameter.replaceAll("^gdbserver\\.?", "");
} else if (parameter.startsWith("gdb")) { // local
remote = false;
gdbVersionPostfix = parameter.replaceAll("^gdb\\.?", "");
} else { // then it is just local and just version number
remote = false;
gdbVersionPostfix = parameter;
}
if (gdbVersionPostfix.isEmpty())
gdbVersionPostfix = "default";
}
}
public static void resetGlobalState() {
BaseTestCase.removeGlobalLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME);
BaseTestCase.removeGlobalLaunchAttribute(BaseTestCase.ATTR_DEBUG_SERVER_NAME);
BaseTestCase.removeGlobalLaunchAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE);
globalVersion = null;
}
public void assumeGdbVersionLowerThen(String checkVersion) {
String gdbVersion = getGdbVersion();
// otherwise it has to be strictly lower
boolean isLower = LaunchUtils.compareVersions(checkVersion, gdbVersion) > 0;
Assume.assumeTrue(
"Skipped because gdb " + gdbVersion + " does not support this feature: removed since " + checkVersion,
isLower);
}
protected String getGdbVersion() {
if (gdbVersionPostfix==null) gdbVersionPostfix=globalVersion;
String gdbPath = getProgramPath("gdb", gdbVersionPostfix);
return getGdbVersion(gdbPath);
}
public void assumeGdbVersionAtLeast(String checkVersion) {
String gdbVersion = getGdbVersion();
if (gdbVersion == GDB_NOT_FOUND) {
String gdbPath = getProgramPath("gdb", gdbVersionPostfix);
// fail assumption
Assume.assumeFalse("GDB cannot be run " + gdbPath, true);
}
if (checkVersion == null || checkVersion.isEmpty() || checkVersion.equals("default"))
return; // no version restrictions
if (checkVersion.equals(gdbVersion))
return;
// otherwise it has to be same of higher
boolean isSupported = LaunchUtils.compareVersions(checkVersion, gdbVersion) <= 0;
Assume.assumeTrue("Skipped because gdb " + gdbVersion + " does not support this feature: since " + checkVersion,
isSupported);
}
@Override
protected void setGdbVersion() {
// this will be ignored in new style tests
}
@Override
protected void initializeLaunchAttributes() {
parseParameter();
if (gdbVersionPostfix == null) {
// we are not running parametrized
setGdbVersion(); // old way
gdbVersionPostfix = globalVersion;
} else {
String gdbPath = getProgramPath("gdb", gdbVersionPostfix);
String gdbServerPath = getProgramPath("gdbserver", gdbVersionPostfix);
assumeGdbVersionAtLeast(gdbVersionPostfix);
setLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME, gdbPath);
setLaunchAttribute(ATTR_DEBUG_SERVER_NAME, gdbServerPath);
if (remote)
setLaunchAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE,
IGDBLaunchConfigurationConstants.DEBUGGER_MODE_REMOTE);
}
}
@AfterClass
public static void afterClass() {
BaseParametrizedTestCase.resetGlobalState();
}
}

View file

@ -25,6 +25,8 @@ import java.util.HashSet;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.datamodel.IDMEvent;
@ -33,6 +35,7 @@ import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.gdb.internal.GdbDebugOptions;
import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin;
import org.eclipse.cdt.dsf.gdb.launching.GdbLaunch;
import org.eclipse.cdt.dsf.gdb.launching.LaunchUtils;
import org.eclipse.cdt.dsf.mi.service.command.events.IMIDMEvent;
import org.eclipse.cdt.dsf.mi.service.command.events.MIStoppedEvent;
import org.eclipse.cdt.dsf.mi.service.command.output.MIFrame;
@ -88,7 +91,7 @@ public class BaseTestCase {
@Rule public TestName testName = new TestName();
// Add a timeout for each test, to make sure no test hangs
@Rule public TestRule timeout = new Timeout(TEST_TIMEOUT);
@Rule public TestRule timeout = new Timeout(TEST_TIMEOUT, TimeUnit.MILLISECONDS);
public static final String ATTR_DEBUG_SERVER_NAME = TestsPlugin.PLUGIN_ID + ".DEBUG_SERVER_NAME";
private static final String DEFAULT_EXEC_NAME = "GDBMIGenericTestApp.exe";
@ -100,7 +103,7 @@ public class BaseTestCase {
// A set of global launch attributes which are not
// reset when we load a new class of tests.
// This allows a Suite to set an attribute
// This allows a SuiteGdb to set an attribute
// The suite is responsible for clearing those attributes
// once it is finished
private static Map<String, Object> globalLaunchAttributes = new HashMap<String, Object>();
@ -114,10 +117,16 @@ public class BaseTestCase {
private boolean fTargetSuspended;
/** Event semaphore we set when the target has reached the breakpoint at main() */
final private String fTargetSuspendedSem = new String(); // just used as a semaphore
final private Object fTargetSuspendedSem = new Object(); // just used as a semaphore
private static boolean fgStatusHandlersEnabled = true;
/** global cache of gdb versions, to avoid running gdb every time just to check if it is present*/
private static Map<String, String> gdbCache = new HashMap<>();
protected static String globalVersion;
protected static final String GDB_NOT_FOUND = "not found";
private HashMap<String, Integer> fTagLocations = new HashMap<>();
public GdbLaunch getGDBLaunch() { return fLaunch; }
@ -130,10 +139,18 @@ public class BaseTestCase {
launchAttributes.remove(key);
}
public Object getLaunchAttribute(String key) {
return launchAttributes.get(key);
}
public static void setGlobalLaunchAttribute(String key, Object value) {
globalLaunchAttributes.put(key, value);
}
public static Object getGlobalLaunchAttribite(String key){
return globalLaunchAttributes.get(key);
}
public static void removeGlobalLaunchAttribute(String key) {
globalLaunchAttributes.remove(key);
}
@ -248,9 +265,9 @@ public class BaseTestCase {
launchAttributes.put(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN_SYMBOL, ICDTLaunchConfigurationConstants.DEBUGGER_STOP_AT_MAIN_SYMBOL_DEFAULT);
launchAttributes.put(IGDBLaunchConfigurationConstants.ATTR_GDB_INIT, ".gdbinit");
if (launchAttributes.get(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE) == null) {
launchAttributes.put(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE, ICDTLaunchConfigurationConstants.DEBUGGER_MODE_RUN );
}
launchAttributes.put(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE, ICDTLaunchConfigurationConstants.DEBUGGER_MODE_RUN );
// Set these up in case we will be running Remote tests. They will be ignored if we don't
launchAttributes.put(ATTR_DEBUG_SERVER_NAME, "gdbserver");
@ -259,12 +276,23 @@ public class BaseTestCase {
launchAttributes.put(IGDBLaunchConfigurationConstants.ATTR_PORT, "9999");
launchAttributes.put(ITestConstants.LAUNCH_GDB_SERVER, true);
setGdbVersion();
initializeLaunchAttributes();
// Set the global launch attributes
launchAttributes.putAll(globalLaunchAttributes);
}
/**
* Override this method to initialize test specific launch attributes.
* Use {@link #setLaunchAttribute(String, Object)} method to set them.
* Don't need to clean it up its local to a specific test method.
* Note that global attributes will override these values.
* If it is undesired override {@link #setLaunchAttributes()} method instead
*/
protected void initializeLaunchAttributes() {
setGdbVersion();
}
/**
* Given a set of tags (strings) to find in sourceFile, populate the
* fTagLocations map with the line numbers where they are found.
@ -280,32 +308,24 @@ public class BaseTestCase {
new BufferedReader(new FileReader(SOURCE_PATH + sourceName))) {
Set<String> tagsToFind = new HashSet<>(Arrays.asList(tags));
String line;
int lineNumber = 1;
int numberFound = 0;
line = reader.readLine();
while (line != null) {
for (int lineNumber = 1; (line = reader.readLine()) != null; lineNumber++) {
for (String tag : tagsToFind) {
if (line.contains(tag)) {
if (fTagLocations.containsKey(tag)) {
throw new RuntimeException("Tag " + tag
+ " was found twice in " + sourceName);
}
fTagLocations.put(tag, lineNumber);
numberFound++;
tagsToFind.remove(tag);
break;
}
}
lineNumber++;
line = reader.readLine();
}
/* Make sure all tags have been found */
if (numberFound != tagsToFind.size()) {
if (!tagsToFind.isEmpty()) {
throw new RuntimeException(
"Some tags were not found in " + sourceName);
"Tags " + tagsToFind + " were not found in " + sourceName);
}
}
}
@ -478,22 +498,27 @@ public class BaseTestCase {
*
* @param version
* string that contains the major and minor version number, e.g.,
* "6.8"
* "6.8", special constant "default" represent default gdb on the box (called as "gdb")
*/
public static void setGdbProgramNamesLaunchAttributes(String version) {
// See bugzilla 303811 for why we have to append ".exe" on Windows
boolean isWindows = runningOnWindows();
String gdbPath = System.getProperty("cdt.tests.dsf.gdb.path");
String debugName = "gdb." + version + (isWindows ? ".exe" : "");
String debugServerName = "gdbserver." + version + (isWindows ? ".exe" : "");
if (gdbPath != null) {
debugName = gdbPath + "/" + debugName;
debugServerName = gdbPath + "/" + debugServerName;
}
setGlobalLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME, debugName);
setGlobalLaunchAttribute(ATTR_DEBUG_SERVER_NAME, debugServerName);
globalVersion = version;
setGlobalLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME, getProgramPath("gdb", version));
setGlobalLaunchAttribute(ATTR_DEBUG_SERVER_NAME, getProgramPath("gdbserver", version));
}
public static String getProgramPath(String main, String version) {
// See bugzilla 303811 for why we have to append ".exe" on Windows
boolean isWindows = runningOnWindows();
String gdbPath = System.getProperty("cdt.tests.dsf.gdb.path");
String fileExtension = isWindows ? ".exe" : "";
String versionPostfix = (!version.equals("default")) ? "." + version : "";
String debugName = main + versionPostfix + fileExtension;
if (gdbPath != null) {
debugName = gdbPath + "/" + debugName;
}
return debugName;
}
public static boolean supportsNonStop() {
return !(runningOnWindows() || runningOnMac());
}
@ -504,19 +529,49 @@ public class BaseTestCase {
/**
* This method will verify that the GDB binary is available, and if it is not, the test will
* be ignored. This method should be called by a Suite that specifies a specific GDB version.
* be ignored. This method should be called by a SuiteGdb that specifies a specific GDB version.
*/
public static void ignoreIfGDBMissing() {
try {
// See if we can find GDB by actually running it.
String gdb = (String)globalLaunchAttributes.get(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME);
Process process = ProcessFactory.getFactory().exec(gdb + " --version");
process.destroy();
} catch (IOException e) {
// If we cannot run GDB, just ignore the test case.
Assume.assumeNoException(e);
}
}
public static void ignoreIfGDBMissing() {
String gdb = (String) globalLaunchAttributes.get(IGDBLaunchConfigurationConstants.ATTR_DEBUG_NAME);
String version = getGdbVersion(gdb);
// If we cannot run GDB, just ignore the test case.
Assume.assumeFalse("GDB cannot be run " + gdb, version == GDB_NOT_FOUND);
}
protected static String getGdbVersion(String gdb) {
try {
// See if we can find GDB by actually running it.
String version = gdbCache.get(gdb);
if (version == null) {
version = doReadGdbVersion(gdb);
gdbCache.put(gdb, version);
}
return version;
} catch (IOException e) {
gdbCache.put(gdb, GDB_NOT_FOUND);
return GDB_NOT_FOUND;
}
}
protected static String doReadGdbVersion(String gdb) throws IOException {
Process process = ProcessFactory.getFactory().exec(gdb + " --version");
try {
String streamOutput;
try (BufferedReader buffer = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
streamOutput = buffer.lines().collect(Collectors.joining("\n"));
}
String gdbVersion = LaunchUtils.getGDBVersionFromText(streamOutput);
return gdbVersion;
} finally {
try {
process.getOutputStream().close();
process.getErrorStream().close();
process.destroy();
} catch (IOException e) {
// ignore these
}
}
}
protected static boolean runningOnWindows() {
return Platform.getOS().equals(Platform.OS_WIN32);
@ -538,5 +593,5 @@ public class BaseTestCase {
public static void restoreGlobalPreferences() {
IEclipsePreferences node = InstanceScope.INSTANCE.getNode(DebugPlugin.getUniqueIdentifier());
node.putBoolean(IInternalDebugCoreConstants.PREF_ENABLE_STATUS_HANDLERS, fgStatusHandlersEnabled);
}
}
}

View file

@ -10,21 +10,16 @@
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.Suite_7_11;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
/**
* This suite runs all suites that are part of the tests
* automatically run with each CDT build.
* This suite runs all suites that are part of the tests automatically run with
* each CDT build.
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({
Suite_7_11.class,
// Can't run the Remote test just yet because they
// have the same names on the local tests, which is
// not handled by JUnit (https://bugs.eclipse.org/172256)
SuiteGdb.class,
})
public class AutomatedSuite {}
public class AutomatedSuite {
}

View file

@ -58,12 +58,12 @@ import org.eclipse.cdt.dsf.service.DsfSession;
import org.eclipse.cdt.gdb.eventbkpts.IEventBreakpointConstants;
import org.eclipse.cdt.gdb.internal.eventbkpts.GdbCatchpoints;
import org.eclipse.cdt.tests.dsf.gdb.framework.AsyncCompletionWaitor;
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.BaseParametrizedTestCase;
import org.eclipse.cdt.tests.dsf.gdb.framework.SyncUtil;
import org.eclipse.cdt.tests.dsf.gdb.launching.TestsPlugin;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
/**
* This is the test suite for the catchpoint support in DSF-GDB.
@ -79,8 +79,8 @@ import org.junit.runner.RunWith;
*
*/
@RunWith(BackgroundRunner.class)
public class MICatchpointsTest extends BaseTestCase {
@RunWith(Parameterized.class)
public class MICatchpointsTest extends BaseParametrizedTestCase {
private static final String EXEC_NAME = "CatchpointTestApp.exe"; //$NON-NLS-1$
private static final String SOURCE_NAME = "CatchpointTestApp.cc"; //$NON-NLS-1$
@ -190,23 +190,23 @@ public class MICatchpointsTest extends BaseTestCase {
@Override
public void doAfterTest() throws Exception {
super.doAfterTest();
Runnable runnable = new Runnable() {
@Override
public void run() {
fRunControl.getSession().removeServiceEventListener(MICatchpointsTest.this);
}
};
fSession.getExecutor().submit(runnable).get();
if (fSession != null) {
Runnable runnable = new Runnable() {
@Override
public void run() {
fRunControl.getSession().removeServiceEventListener(MICatchpointsTest.this);
}
};
fSession.getExecutor().submit(runnable).get();
}
// Clear the references (not strictly necessary)
fBreakpointService = null;
fRunControl = null;
fServicesTracker.dispose();
fServicesTracker = null;
clearEventCounters();
}
fBreakpointService = null;
fRunControl = null;
if (fServicesTracker != null)
fServicesTracker.dispose();
fServicesTracker = null;
clearEventCounters();
}
// ========================================================================
// Event Management Functions

View file

@ -0,0 +1,86 @@
/*******************************************************************************
* Copyright (c) 2016 QNX Software System 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:
* Elena Laskavaia (QNX Software System) - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseParametrizedTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.CommandTimeoutTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.GDBConsoleBreakpointsTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.GDBConsoleSynchronizingTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.GDBMultiNonStopRunControlTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.GDBPatternMatchingExpressionsTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.GDBProcessesTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.LaunchConfigurationAndRestartTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MICatchpointsTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MIDisassemblyTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MIExpressionsNonStopTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MIExpressionsTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MIMemoryTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MIRegistersTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MIRunControlNonStopTargetAvailableTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MIRunControlTargetAvailableTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.MIRunControlTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.OperationsWhileTargetIsRunningNonStopTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.OperationsWhileTargetIsRunningTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.PostMortemCoreTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.SourceLookupTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.StepIntoSelectionNonStopTest_7_11;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11.StepIntoSelectionTest_7_11;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
/**
* This suite is for tests to be run with GDB.
*
* If you running this from IDE use java var to control version like this -Dcdt.tests.dsf.gdb.versions=gdb.7.7,gdbserver.7.7
* If you don't it will run default gdb (without version postfix) for new tests. It will run 7.11 for all non-converted tests.
*
* If you adding a new test class do not use gdb version naming. Use flat version extending BaseParametrizedTestCase,
* see {@link MIBreakpointsTest}
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({
// temporary we still use hardcoded gdb version name, we will slowly flatten them
MIRegistersTest_7_11.class,
MIRunControlTest_7_11.class,
MIRunControlTargetAvailableTest_7_11.class,
MIRunControlNonStopTargetAvailableTest_7_11.class,
MIExpressionsTest_7_11.class,
MIExpressionsNonStopTest_7_11.class,
GDBPatternMatchingExpressionsTest_7_11.class,
MIMemoryTest_7_11.class,
MIBreakpointsTest.class, // this is flat version
MICatchpointsTest_7_11.class,
MIDisassemblyTest_7_11.class,
GDBProcessesTest_7_11.class,
LaunchConfigurationAndRestartTest_7_11.class,
OperationsWhileTargetIsRunningTest_7_11.class,
OperationsWhileTargetIsRunningNonStopTest_7_11.class,
PostMortemCoreTest_7_11.class,
CommandTimeoutTest_7_11.class,
GDBMultiNonStopRunControlTest_7_11.class,
GDBConsoleBreakpointsTest_7_11.class,
GDBConsoleSynchronizingTest_7_11.class,
StepIntoSelectionTest_7_11.class,
StepIntoSelectionNonStopTest_7_11.class,
SourceLookupTest_7_11.class,
/* Add your test class here */
})
public class SuiteGdb {
@BeforeClass
public static void before() {
// If we running this suite we have to clean up global options since
// each test will set local version of these properly.
// If our tests are running from other suites they
// may have globals that will override local values.
BaseParametrizedTestCase.resetGlobalState();
}
}

View file

@ -1,36 +0,0 @@
/*******************************************************************************
* Copyright (c) 2009, 2015 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 - Initial Implementation
*******************************************************************************/
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.MIBreakpointsTest;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_6_6 extends MIBreakpointsTest {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_6_6);
}
// Currently, this test uses breakpoint synchronization with
// the gdb console which is only available with GDB 7.4
// So we mark it with @Ignore
@Override
@Ignore
@Test
public void updateBreakpoint_AfterRestart() throws Throwable {
super.updateBreakpoint_AfterRestart();
}
}

View file

@ -14,6 +14,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_6;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -36,7 +37,7 @@ import org.junit.runners.Suite;
MIExpressionsTest_6_6.class,
GDBPatternMatchingExpressionsTest_6_6.class,
MIMemoryTest_6_6.class,
MIBreakpointsTest_6_6.class,
MIBreakpointsTest.class,
MICatchpointsTest_6_6.class,
MIDisassemblyTest_6_6.class,
GDBProcessesTest_6_6.class,

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_6;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -37,7 +38,7 @@ import org.junit.runners.Suite;
MIExpressionsTest_6_6.class,
GDBPatternMatchingExpressionsTest_6_6.class,
MIMemoryTest_6_6.class,
MIBreakpointsTest_6_6.class,
MIBreakpointsTest.class,
MICatchpointsTest_6_6.class,
MIDisassemblyTest_6_6.class,
GDBProcessesTest_6_6.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2009, 2012 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 - Initial Implementation
*******************************************************************************/
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.MIBreakpointsTest_6_6;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_6_7 extends MIBreakpointsTest_6_6 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_6_7);
}
}

View file

@ -14,6 +14,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -36,7 +37,7 @@ import org.junit.runners.Suite;
MIExpressionsTest_6_7.class,
GDBPatternMatchingExpressionsTest_6_7.class,
MIMemoryTest_6_7.class,
MIBreakpointsTest_6_7.class,
MIBreakpointsTest.class,
MICatchpointsTest_6_7.class,
MIDisassemblyTest_6_7.class,
GDBProcessesTest_6_7.class,

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -37,7 +38,7 @@ import org.junit.runners.Suite;
MIExpressionsTest_6_7.class,
GDBPatternMatchingExpressionsTest_6_7.class,
MIMemoryTest_6_7.class,
MIBreakpointsTest_6_7.class,
MIBreakpointsTest.class,
MICatchpointsTest_6_7.class,
MIDisassemblyTest_6_7.class,
GDBProcessesTest_6_7.class,

View file

@ -1,192 +0,0 @@
/*******************************************************************************
* Copyright (c) 2009, 2015 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 - Initial Implementation
* Simon Marchi (Ericsson) - Add and use runningOnWindows().
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8;
import static org.junit.Assert.assertTrue;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointDMContext;
import org.eclipse.cdt.dsf.mi.service.MIBreakpointDMData;
import org.eclipse.cdt.dsf.mi.service.MIBreakpoints.MIBreakpointDMContext;
import org.eclipse.cdt.tests.dsf.gdb.framework.BackgroundRunner;
import org.eclipse.cdt.tests.dsf.gdb.framework.SyncUtil;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_7.MIBreakpointsTest_6_7;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_6_8 extends MIBreakpointsTest_6_7 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_6_8);
}
// GDB 6.8 has a bug that ignores watchpoint conditions,which makes this
// test fail. We therefore ignore this test for GDB 6.8 only, but run it
// for all other versions
@Override
@Ignore("This test does not work with GDB 6.8")
@Test
public void breakpointHit_watchpointUpdateCondition() throws Throwable {
// Must call the test in the super class to allow further derived
// classes to run this test.
super.breakpointHit_watchpointUpdateCondition();
}
/**
* Starting with GDB 6.8, we request failed breakpoints to be pending in
* GDB. So we no longer get an installation error from GDB.
*/
@Override
@Test
public void insertBreakpoint_InvalidFileName() throws Throwable {
// Create an invalid line breakpoint
Map<String, Object> breakpoint = new HashMap<String, Object>();
breakpoint.put(BREAKPOINT_TYPE_TAG, BREAKPOINT_TAG);
breakpoint.put(FILE_NAME_TAG, SOURCE_NAME + "_bad");
breakpoint.put(LINE_NUMBER_TAG, LINE_NUMBER_1);
// Perform the test, which we still expect to succeed
// giving us a pending breakpoint
IBreakpointDMContext ref = insertBreakpoint(fBreakpointsDmc, breakpoint);
assertTrue(fWait.getMessage(), fWait.isOK());
// Ensure that right BreakpointEvents were received
waitForBreakpointEvent(1);
assertTrue("BreakpointEvent problem: expected " + 1 + " BREAKPOINT event(s), received "
+ fBreakpointEventCount, fBreakpointEventCount == 1);
assertTrue("BreakpointEvent problem: expected " + 1 + " BREAKPOINT_ADDED event(s), received "
+ getBreakpointEventCount(BP_ADDED), getBreakpointEventCount(BP_ADDED) == 1);
clearEventCounters();
// Ensure that the breakpoint was correctly installed
MIBreakpointDMData breakpoint1 = (MIBreakpointDMData) getBreakpoint(ref);
assertTrue("BreakpointService problem: breakpoint mismatch (wrong file name)",
breakpoint1.getFileName().equals(""));
assertTrue("BreakpointService problem: breakpoint mismatch (wrong line number)",
breakpoint1.getLineNumber() == -1);
assertTrue("BreakpointService problem: breakpoint mismatch (wrong condition)",
breakpoint1.getCondition().equals(NO_CONDITION));
assertTrue("BreakpointService problem: breakpoint mismatch (wrong ignore count)",
breakpoint1.getIgnoreCount() == 0);
assertTrue("BreakpointService problem: breakpoint mismatch (wrong state)",
breakpoint1.isEnabled());
assertTrue("BreakpointService problem: breakpoint mismatch (not pending)",
breakpoint1.isPending());
// Ensure the BreakpointService holds only the right breakpoints
IBreakpointDMContext[] breakpoints = getBreakpoints(fBreakpointsDmc);
assertTrue("BreakpointService problem: expected " + 1 + " breakpoint(s), received "
+ breakpoints.length, breakpoints.length == 1);
MIBreakpointDMData breakpoint2 = (MIBreakpointDMData) getBreakpoint(breakpoints[0]);
assertTrue("BreakpointService problem: breakpoint mismatch",
breakpoint1.equals(breakpoint2));
}
/**
* Starting with GDB 6.8, we request failed breakpoints to be pending in
* GDB. So we no longer get an installation error from GDB.
*/
@Override
@Test
public void insertBreakpoint_InvalidFunctionName() throws Throwable {
// Create an invalid function breakpoint
Map<String, Object> breakpoint = new HashMap<String, Object>();
breakpoint.put(BREAKPOINT_TYPE_TAG, BREAKPOINT_TAG);
breakpoint.put(FILE_NAME_TAG, SOURCE_NAME);
breakpoint.put(FUNCTION_TAG, "invalid-function-name");
// Perform the test, which we still expect to succeed
// giving us a pending breakpoint
IBreakpointDMContext ref = insertBreakpoint(fBreakpointsDmc, breakpoint);
assertTrue(fWait.getMessage(), fWait.isOK());
// Ensure that right BreakpointEvents were received
waitForBreakpointEvent(1);
assertTrue("BreakpointEvent problem: expected " + 1 + " BREAKPOINT event(s), received "
+ fBreakpointEventCount, fBreakpointEventCount == 1);
assertTrue("BreakpointEvent problem: expected " + 1 + " BREAKPOINT_ADDED event(s), received "
+ getBreakpointEventCount(BP_ADDED), getBreakpointEventCount(BP_ADDED) == 1);
clearEventCounters();
// Ensure that the breakpoint was correctly installed
MIBreakpointDMData breakpoint1 = (MIBreakpointDMData) getBreakpoint(ref);
assertTrue("BreakpointService problem: breakpoint mismatch (wrong file name)",
breakpoint1.getFileName().equals(""));
assertTrue("BreakpointService problem: breakpoint mismatch (wrong function)",
breakpoint1.getFunctionName().equals(""));
assertTrue("BreakpointService problem: breakpoint mismatch (wrong condition)",
breakpoint1.getCondition().equals(NO_CONDITION));
assertTrue("BreakpointService problem: breakpoint mismatch (wrong ignore count)",
breakpoint1.getIgnoreCount() == 0);
assertTrue("BreakpointService problem: breakpoint mismatch (not pending)",
breakpoint1.isPending());
// Ensure the BreakpointService holds only the right breakpoints
IBreakpointDMContext[] breakpoints = getBreakpoints(fBreakpointsDmc);
assertTrue("BreakpointService problem: expected " + 1 + " breakpoint(s), received "
+ breakpoints.length, breakpoints.length == 1);
MIBreakpointDMData breakpoint2 = (MIBreakpointDMData) getBreakpoint(breakpoints[0]);
assertTrue("BreakpointService problem: breakpoint mismatch",
breakpoint1.equals(breakpoint2));
}
/**
* Starting with GDB 6.8, we request failed breakpoints to be pending in
* GDB. So we no longer get an installation error from GDB.
*/
@Override
@Test
public void insertInvalidBreakpoint_WhileTargetRunning() throws Throwable {
// Interrupting the target on Windows is susceptible to an additional,
// unwanted suspension. That means that silently interrupting the target
// to set/modify/remove a breakpoint then resuming it can leave the
// target in a suspended state. Unfortunately, there is nothing
// practical CDT can do to address this issue except wait for the gdb
// folks to resolve it. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=304096#c27
if (runningOnWindows()) {
return;
}
// Create an invalid line breakpoint
Map<String, Object> breakpoint = new HashMap<String, Object>();
breakpoint.put(BREAKPOINT_TYPE_TAG, BREAKPOINT_TAG);
breakpoint.put(FILE_NAME_TAG, "Bad file name");
breakpoint.put(LINE_NUMBER_TAG, LINE_NUMBER_5);
// Run the program. It will make a two second sleep() call, during which time...
SyncUtil.resume();
// ...we install the breakpoint
MIBreakpointDMContext ref = (MIBreakpointDMContext) insertBreakpoint(fBreakpointsDmc, breakpoint);
assertTrue(fWait.getMessage(), fWait.isOK());
waitForBreakpointEvent(1);
// Ensure the correct BreakpointEvent was received
MIBreakpointDMData breakpoint1 = (MIBreakpointDMData) getBreakpoint(ref);
assertTrue("BreakpointEvent problem: expected " + 1 + " BREAKPOINT event(s), received "
+ fBreakpointEventCount, fBreakpointEventCount == 1);
assertTrue("BreakpointEvent problem: expected " + 0 + " BREAKPOINT_HIT event(s), received "
+ getBreakpointEventCount(BP_HIT), getBreakpointEventCount(BP_HIT) == 0);
assertTrue("BreakpointService problem: breakpoint mismatch",
fBreakpointRef == breakpoint1.getNumber());
assertTrue("BreakpointService problem: breakpoint mismatch (not pending)",
breakpoint1.isPending());
clearEventCounters();
}
}

View file

@ -14,6 +14,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -36,7 +37,7 @@ import org.junit.runners.Suite;
MIExpressionsTest_6_8.class,
GDBPatternMatchingExpressionsTest_6_8.class,
MIMemoryTest_6_8.class,
MIBreakpointsTest_6_8.class,
MIBreakpointsTest.class,
MICatchpointsTest_6_8.class,
MIDisassemblyTest_6_8.class,
GDBProcessesTest_6_8.class,

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_6_8;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -37,7 +38,7 @@ import org.junit.runners.Suite;
MIExpressionsTest_6_8.class,
GDBPatternMatchingExpressionsTest_6_8.class,
MIMemoryTest_6_8.class,
MIBreakpointsTest_6_8.class,
MIBreakpointsTest.class,
MICatchpointsTest_6_8.class,
MIDisassemblyTest_6_8.class,
GDBProcessesTest_6_8.class,

View file

@ -1,35 +0,0 @@
/*******************************************************************************
* Copyright (c) 2009, 2012 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 - Initial Implementation
*******************************************************************************/
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.MIBreakpointsTest_6_8;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_0 extends MIBreakpointsTest_6_8 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_0);
}
// GDB 6.8 has a bug that ignores watchpoint conditions,which makes this
// test fail. We therefore ignore this test for GDB 6.8 only, but run it
// for all other versions, so the code below re-enables the test starting
// with GDB 7.0.
@Override
@Test
public void breakpointHit_watchpointUpdateCondition() throws Throwable {
super.breakpointHit_watchpointUpdateCondition();
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -39,7 +40,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_0.class,
GDBPatternMatchingExpressionsTest_7_0.class,
MIMemoryTest_7_0.class,
MIBreakpointsTest_7_0.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_0.class,
MIDisassemblyTest_7_0.class,
GDBProcessesTest_7_0.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_0;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -41,7 +42,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_0.class,
GDBPatternMatchingExpressionsTest_7_0.class,
MIMemoryTest_7_0.class,
MIBreakpointsTest_7_0.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_0.class,
MIDisassemblyTest_7_0.class,
GDBProcessesTest_7_0.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2010, 2012 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 - Initial Implementation
*******************************************************************************/
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.MIBreakpointsTest_7_0;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_1 extends MIBreakpointsTest_7_0 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_1);
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -39,7 +40,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_1.class,
GDBPatternMatchingExpressionsTest_7_1.class,
MIMemoryTest_7_1.class,
MIBreakpointsTest_7_1.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_1.class,
MIDisassemblyTest_7_1.class,
GDBProcessesTest_7_1.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_1;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -41,7 +42,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_1.class,
GDBPatternMatchingExpressionsTest_7_1.class,
MIMemoryTest_7_1.class,
MIBreakpointsTest_7_1.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_1.class,
MIDisassemblyTest_7_1.class,
GDBProcessesTest_7_1.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2015 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:
* Marc Khouzam (Ericsson) - Initial implementation of Test cases
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_10;
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_9.MIBreakpointsTest_7_9;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_10 extends MIBreakpointsTest_7_9 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_10);
}
}

View file

@ -14,6 +14,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_10;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -38,7 +39,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_10.class,
GDBPatternMatchingExpressionsTest_7_10.class,
MIMemoryTest_7_10.class,
MIBreakpointsTest_7_10.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_10.class,
MIDisassemblyTest_7_10.class,
GDBProcessesTest_7_10.class,

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_10;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -41,7 +42,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_10.class,
GDBPatternMatchingExpressionsTest_7_10.class,
MIMemoryTest_7_10.class,
MIBreakpointsTest_7_10.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_10.class,
MIDisassemblyTest_7_10.class,
GDBProcessesTest_7_10.class,

View file

@ -1,21 +0,0 @@
/*******************************************************************************
* Copyright (c) 2015 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
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11;
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_10.MIBreakpointsTest_7_10;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_11 extends MIBreakpointsTest_7_10 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_11);
}
}

View file

@ -9,6 +9,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -33,7 +34,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_11.class,
GDBPatternMatchingExpressionsTest_7_11.class,
MIMemoryTest_7_11.class,
MIBreakpointsTest_7_11.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_11.class,
MIDisassemblyTest_7_11.class,
GDBProcessesTest_7_11.class,

View file

@ -10,6 +10,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_11;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -36,7 +37,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_11.class,
GDBPatternMatchingExpressionsTest_7_11.class,
MIMemoryTest_7_11.class,
MIBreakpointsTest_7_11.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_11.class,
MIDisassemblyTest_7_11.class,
GDBProcessesTest_7_11.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2010, 2012 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 - Initial Implementation
*******************************************************************************/
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.MIBreakpointsTest_7_1;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_2 extends MIBreakpointsTest_7_1 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_2);
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -39,7 +40,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_2.class,
GDBPatternMatchingExpressionsTest_7_2.class,
MIMemoryTest_7_2.class,
MIBreakpointsTest_7_2.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_2.class,
MIDisassemblyTest_7_2.class,
GDBProcessesTest_7_2.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_2;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -41,7 +42,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_2.class,
GDBPatternMatchingExpressionsTest_7_2.class,
MIMemoryTest_7_2.class,
MIBreakpointsTest_7_2.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_2.class,
MIDisassemblyTest_7_2.class,
GDBProcessesTest_7_2.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2011, 2012 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 - Initial Implementation
*******************************************************************************/
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.MIBreakpointsTest_7_2;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_3 extends MIBreakpointsTest_7_2 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_3);
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_3;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -39,7 +40,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_3.class,
GDBPatternMatchingExpressionsTest_7_3.class,
MIMemoryTest_7_3.class,
MIBreakpointsTest_7_3.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_3.class,
MIDisassemblyTest_7_3.class,
GDBProcessesTest_7_3.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_3;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -41,7 +42,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_3.class,
GDBPatternMatchingExpressionsTest_7_3.class,
MIMemoryTest_7_3.class,
MIBreakpointsTest_7_3.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_3.class,
MIDisassemblyTest_7_3.class,
GDBProcessesTest_7_3.class,

View file

@ -1,75 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012, 2015 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:
* Marc Khouzam (Ericsson) - Initial implementation of Test cases
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_4;
import static org.junit.Assert.assertTrue;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointDMContext;
import org.eclipse.cdt.dsf.mi.service.MIBreakpointDMData;
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_3.MIBreakpointsTest_7_3;
import org.junit.Test;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_4 extends MIBreakpointsTest_7_3 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_4);
}
/*
* Starting with GDB 7.4, breakpoints at invalid lines succeed and become
* pending breakpoints. This is because the invalid line for one file,
* may be valid for another file with the same name.
* One could argue that line 0 is an exception, but GDB does not make
* a difference.
* @see org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest#insertBreakpoint_InvalidLineNumber()
*/
@Override
@Test
public void insertBreakpoint_InvalidLineNumber() throws Throwable {
// Create a line breakpoint
Map<String, Object> breakpoint = new HashMap<String, Object>();
breakpoint.put(BREAKPOINT_TYPE_TAG, BREAKPOINT_TAG);
breakpoint.put(FILE_NAME_TAG, SOURCE_NAME);
breakpoint.put(LINE_NUMBER_TAG, 0);
// Perform the test
IBreakpointDMContext ref = insertBreakpoint(fBreakpointsDmc, breakpoint);
assertTrue(fWait.getMessage(), fWait.isOK());
// Ensure that no BreakpointEvent was received
assertTrue("BreakpointEvent problem: expected " + 1 + " BREAKPOINT event(s), received "
+ fBreakpointEventCount, fBreakpointEventCount == 1);
MIBreakpointDMData bpData = (MIBreakpointDMData) getBreakpoint(ref);
assertTrue("Breakpoint should be pending", bpData.isPending());
assertTrue("Breakpoint mismatch should be enabled", bpData.isEnabled());
}
// Re-enabled this test since it needs breakpoint synchronization
// with the gdb console, which is available starting with GDB 7.4
// We still leave the test in the base class MIBreakpointsTest because
// the test could be written differently and made to work for older
// gdb versions
@Override
@Test
public void updateBreakpoint_AfterRestart() throws Throwable {
super.updateBreakpoint_AfterRestart();
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_4;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -39,7 +40,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_4.class,
GDBPatternMatchingExpressionsTest_7_4.class,
MIMemoryTest_7_4.class,
MIBreakpointsTest_7_4.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_4.class,
MIDisassemblyTest_7_4.class,
GDBProcessesTest_7_4.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_4;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -41,7 +42,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_4.class,
GDBPatternMatchingExpressionsTest_7_4.class,
MIMemoryTest_7_4.class,
MIBreakpointsTest_7_4.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_4.class,
MIDisassemblyTest_7_4.class,
GDBProcessesTest_7_4.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012 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:
* Marc Khouzam (Ericsson) - Initial implementation of Test cases
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_5;
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_4.MIBreakpointsTest_7_4;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_5 extends MIBreakpointsTest_7_4 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_5;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -40,7 +41,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_5.class,
GDBPatternMatchingExpressionsTest_7_5.class,
MIMemoryTest_7_5.class,
MIBreakpointsTest_7_5.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_5.class,
MIDisassemblyTest_7_5.class,
GDBProcessesTest_7_5.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_5;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -41,7 +42,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_5.class,
GDBPatternMatchingExpressionsTest_7_5.class,
MIMemoryTest_7_5.class,
MIBreakpointsTest_7_5.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_5.class,
MIDisassemblyTest_7_5.class,
GDBProcessesTest_7_5.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2012, 2013 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:
* Marc Khouzam (Ericsson) - Initial implementation of Test cases
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_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.tests_7_5.MIBreakpointsTest_7_5;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_6 extends MIBreakpointsTest_7_5 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_6);
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_6;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -39,7 +40,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_6.class,
GDBPatternMatchingExpressionsTest_7_6.class,
MIMemoryTest_7_6.class,
MIBreakpointsTest_7_6.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_6.class,
MIDisassemblyTest_7_6.class,
GDBProcessesTest_7_6.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_6;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -42,7 +43,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_6.class,
GDBPatternMatchingExpressionsTest_7_6.class,
MIMemoryTest_7_6.class,
MIBreakpointsTest_7_6.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_6.class,
MIDisassemblyTest_7_6.class,
GDBProcessesTest_7_6.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2014 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:
* Marc Khouzam (Ericsson) - Initial implementation of Test cases
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_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_7_6.MIBreakpointsTest_7_6;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_7 extends MIBreakpointsTest_7_6 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_7);
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_7;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -39,7 +40,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_7.class,
GDBPatternMatchingExpressionsTest_7_7.class,
MIMemoryTest_7_7.class,
MIBreakpointsTest_7_7.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_7.class,
MIDisassemblyTest_7_7.class,
GDBProcessesTest_7_7.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_7;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -42,7 +43,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_7.class,
GDBPatternMatchingExpressionsTest_7_7.class,
MIMemoryTest_7_7.class,
MIBreakpointsTest_7_7.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_7.class,
MIDisassemblyTest_7_7.class,
GDBProcessesTest_7_7.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2014 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:
* Marc Khouzam (Ericsson) - Initial implementation of Test cases
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_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_7_7.MIBreakpointsTest_7_7;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_8 extends MIBreakpointsTest_7_7 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_8);
}
}

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_8;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -39,7 +40,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_8.class,
GDBPatternMatchingExpressionsTest_7_8.class,
MIMemoryTest_7_8.class,
MIBreakpointsTest_7_8.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_8.class,
MIDisassemblyTest_7_8.class,
GDBProcessesTest_7_8.class,

View file

@ -16,6 +16,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_8;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -42,7 +43,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_8.class,
GDBPatternMatchingExpressionsTest_7_8.class,
MIMemoryTest_7_8.class,
MIBreakpointsTest_7_8.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_8.class,
MIDisassemblyTest_7_8.class,
GDBProcessesTest_7_8.class,

View file

@ -1,24 +0,0 @@
/*******************************************************************************
* Copyright (c) 2014 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:
* Marc Khouzam (Ericsson) - Initial implementation of Test cases
*******************************************************************************/
package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_9;
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_8.MIBreakpointsTest_7_8;
import org.junit.runner.RunWith;
@RunWith(BackgroundRunner.class)
public class MIBreakpointsTest_7_9 extends MIBreakpointsTest_7_8 {
@Override
protected void setGdbVersion() {
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_9);
}
}

View file

@ -14,6 +14,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_9;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -38,7 +39,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_9.class,
GDBPatternMatchingExpressionsTest_7_9.class,
MIMemoryTest_7_9.class,
MIBreakpointsTest_7_9.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_9.class,
MIDisassemblyTest_7_9.class,
GDBProcessesTest_7_9.class,

View file

@ -15,6 +15,7 @@ package org.eclipse.cdt.tests.dsf.gdb.tests.tests_7_9;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseTestCase;
import org.eclipse.cdt.tests.dsf.gdb.tests.ITestConstants;
import org.eclipse.cdt.tests.dsf.gdb.tests.MIBreakpointsTest;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@ -41,7 +42,7 @@ import org.junit.runners.Suite;
MIExpressionsNonStopTest_7_9.class,
GDBPatternMatchingExpressionsTest_7_9.class,
MIMemoryTest_7_9.class,
MIBreakpointsTest_7_9.class,
MIBreakpointsTest.class,
MICatchpointsTest_7_9.class,
MIDisassemblyTest_7_9.class,
GDBProcessesTest_7_9.class,