mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Merge remote-tracking branch 'cdt/master' into sd90
This commit is contained in:
commit
1de906c698
24 changed files with 725 additions and 5 deletions
|
@ -674,4 +674,13 @@ public class AST2KnRTests extends AST2BaseTest {
|
|||
fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
// void push_constant (in_char, conv_base)
|
||||
// char (*in_char)(void);
|
||||
// int conv_base;
|
||||
// {}
|
||||
public void testFunctionPtrParameter_378614() throws Exception {
|
||||
String code= getAboveComment();
|
||||
parseAndCheckBindings(code, ParserLanguage.C, true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1620,7 +1620,7 @@ public class GNUCSourceParser extends AbstractGNUSourceCodeParser {
|
|||
IASTDeclarator[] decltors = declaration.getDeclarators();
|
||||
for (IASTDeclarator decltor : decltors) {
|
||||
boolean decltorOk = false;
|
||||
final char[] nchars = decltor.getName().toCharArray();
|
||||
final char[] nchars = ASTQueries.findInnermostDeclarator(decltor).getName().toCharArray();
|
||||
for (IASTName parmName : parmNames) {
|
||||
if (CharArrayUtils.equals(nchars, parmName.toCharArray())) {
|
||||
decltorOk= true;
|
||||
|
|
|
@ -303,6 +303,44 @@ int testArrays() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
// For bug 376901 RTTI tests
|
||||
class VirtualBase {
|
||||
public:
|
||||
virtual ~VirtualBase() {} // Necessary to force RTTI generation for the base class
|
||||
int a;
|
||||
private:
|
||||
bool b;
|
||||
};
|
||||
|
||||
class Derived: public VirtualBase {
|
||||
public:
|
||||
int c;
|
||||
VirtualBase* ptr;
|
||||
private:
|
||||
bool d;
|
||||
int e[4];
|
||||
};
|
||||
|
||||
class OtherDerived: public VirtualBase {
|
||||
public:
|
||||
int d;
|
||||
private:
|
||||
bool c;
|
||||
int f[4];
|
||||
};
|
||||
int testRTTI() {
|
||||
Derived derived;
|
||||
Derived child1;
|
||||
OtherDerived child2;
|
||||
|
||||
derived.ptr = &child1; // here derived.b is of type bar
|
||||
|
||||
derived.ptr = &child2; // here derived.b is of type foo
|
||||
|
||||
return 1; // here derived.b is of type Derived
|
||||
}
|
||||
// End of bug 376901 RTTI tests
|
||||
|
||||
int main() {
|
||||
printf("Running ExpressionTest App\n");
|
||||
|
||||
|
@ -328,6 +366,7 @@ int main() {
|
|||
testUpdateOfPointer();
|
||||
testCanWrite();
|
||||
testArrays();
|
||||
testRTTI();
|
||||
|
||||
// For bug 320277
|
||||
BaseTest b; b.test();
|
||||
|
|
|
@ -21,4 +21,5 @@ public interface ITestConstants {
|
|||
public static final String SUFFIX_GDB_7_2 = "7.2";
|
||||
public static final String SUFFIX_GDB_7_3 = "7.3";
|
||||
public static final String SUFFIX_GDB_7_4 = "7.4";
|
||||
public static final String SUFFIX_GDB_7_5 = "7.5";
|
||||
}
|
||||
|
|
|
@ -11,14 +11,18 @@
|
|||
package org.eclipse.cdt.tests.dsf.gdb.tests;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.eclipse.cdt.core.IAddress;
|
||||
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
|
||||
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
|
||||
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
|
||||
import org.eclipse.cdt.dsf.concurrent.Query;
|
||||
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
|
||||
import org.eclipse.cdt.dsf.datamodel.IDMContext;
|
||||
import org.eclipse.cdt.dsf.debug.service.IExpressions;
|
||||
|
@ -3238,7 +3242,7 @@ public class MIExpressionsTest extends BaseTestCase {
|
|||
}
|
||||
|
||||
// This method tests IExspressions.getSubExpressions(IExpressionDMC, DRM);
|
||||
private IExpressionDMContext[] getChildren(
|
||||
protected IExpressionDMContext[] getChildren(
|
||||
final IExpressionDMContext parentDmc,
|
||||
String[] expectedValues) throws Throwable {
|
||||
|
||||
|
@ -3288,7 +3292,7 @@ public class MIExpressionsTest extends BaseTestCase {
|
|||
}
|
||||
|
||||
// This method tests IExpressions.getSubExpressions(IExpressionDMC, int, int, DRM);
|
||||
private IExpressionDMContext[] getChildren(
|
||||
protected IExpressionDMContext[] getChildren(
|
||||
final IExpressionDMContext parentDmc,
|
||||
final int startIndex,
|
||||
final int length,
|
||||
|
@ -3523,7 +3527,48 @@ public class MIExpressionsTest extends BaseTestCase {
|
|||
getChildren(arrayDoubleSmallChildExprDMC, 19, 3, new String[] { "array_double_small[3][19]","array_double_small[3][20]" });
|
||||
}
|
||||
|
||||
private int getChildrenCount(final IExpressionDMContext parentDmc, final int expectedCount) throws Throwable {
|
||||
/**
|
||||
* This test verifies that there is no RTTI support before GDB 7.5.
|
||||
*/
|
||||
@Test
|
||||
public void testRTTI() throws Throwable {
|
||||
SyncUtil.runToLocation("testRTTI");
|
||||
MIStoppedEvent stoppedEvent = SyncUtil.step(3, StepType.STEP_OVER);
|
||||
IFrameDMContext frameDmc = SyncUtil.getStackFrame(stoppedEvent.getDMContext(), 0);
|
||||
|
||||
// The expression we will follow as it changes types: derived.ptr
|
||||
IExpressionDMContext exprDmc = SyncUtil.createExpression(frameDmc, "derived.ptr");
|
||||
|
||||
// Now, the expression should be type VirtualBase
|
||||
getExpressionType(exprDmc, "VirtualBase *");
|
||||
getChildrenCount(exprDmc, 2);
|
||||
// get all children
|
||||
String[] expectedValues = new String[2];
|
||||
expectedValues[0] = "a";
|
||||
expectedValues[1] = "b";
|
||||
getChildren(exprDmc, expectedValues);
|
||||
|
||||
// Make the type of our expression change
|
||||
SyncUtil.step(1, StepType.STEP_OVER);
|
||||
// Now, the expression should be type Derived, but GDB < 7.5 does not tell us
|
||||
// so we should still get the base type.
|
||||
getExpressionType(exprDmc, "VirtualBase *");
|
||||
getChildrenCount(exprDmc, 2);
|
||||
// The children are also the same as before
|
||||
getChildren(exprDmc, expectedValues);
|
||||
|
||||
// Make the type of our expression change
|
||||
SyncUtil.step(1, StepType.STEP_OVER);
|
||||
// Now, the expression should be type OtherDerived, but GDB < 7.5 does not tell us
|
||||
// so we should still get the base type.
|
||||
getExpressionType(exprDmc, "VirtualBase *");
|
||||
getChildrenCount(exprDmc, 2);
|
||||
// The children are also the same as before
|
||||
getChildren(exprDmc, expectedValues);
|
||||
}
|
||||
|
||||
|
||||
protected int getChildrenCount(final IExpressionDMContext parentDmc, final int expectedCount) throws Throwable {
|
||||
|
||||
final AsyncCompletionWaitor wait = new AsyncCompletionWaitor();
|
||||
|
||||
|
@ -3569,4 +3614,31 @@ public class MIExpressionsTest extends BaseTestCase {
|
|||
|
||||
return count;
|
||||
}
|
||||
|
||||
protected String getExpressionType(final IExpressionDMContext exprDmc, final String expectedType) throws Throwable {
|
||||
|
||||
Query<String> query = new Query<String>() {
|
||||
@Override
|
||||
protected void execute(final DataRequestMonitor<String> rm) {
|
||||
fExpService.getExecutor().submit(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
fExpService.getExpressionData(
|
||||
exprDmc,
|
||||
new ImmediateDataRequestMonitor<IExpressionDMData>(rm) {
|
||||
@Override
|
||||
protected void handleCompleted() {
|
||||
rm.done(getData().getTypeName());
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
fSession.getExecutor().execute(query);
|
||||
String type = query.get(500, TimeUnit.MILLISECONDS);
|
||||
assertEquals(expectedType, type);
|
||||
return type;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* 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.CommandTimeoutTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class CommandTimeoutTest_7_5 extends CommandTimeoutTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
/*******************************************************************************
|
||||
* 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.GDBMultiNonStopRunControlTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
|
||||
/**
|
||||
* Tests IMultiRunControl class for Non-stop multi-threaded application.
|
||||
*/
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class GDBMultiNonStopRunControlTest_7_5 extends GDBMultiNonStopRunControlTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/*******************************************************************************
|
||||
* 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.GDBProcessesTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class GDBProcessesTest_7_5 extends GDBProcessesTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* 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.GDBRemoteTracepointsTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class GDBRemoteTracepointsTest_7_5 extends GDBRemoteTracepointsTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
/*******************************************************************************
|
||||
* 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.LaunchConfigurationAndRestartTest_7_4;
|
||||
import org.junit.Before;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class LaunchConfigurationAndRestartTest_7_5 extends LaunchConfigurationAndRestartTest_7_4 {
|
||||
// For the launch config test, we must set the attributes in the @Before method
|
||||
// instead of the @BeforeClass method. This is because the attributes are overwritten
|
||||
// by the tests themselves
|
||||
@Before
|
||||
public void beforeMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/*******************************************************************************
|
||||
* 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.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class MIBreakpointsTest_7_5 extends MIBreakpointsTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/*******************************************************************************
|
||||
* 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.MICatchpointsTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class MICatchpointsTest_7_5 extends MICatchpointsTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/*******************************************************************************
|
||||
* 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.MIDisassemblyTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class MIDisassemblyTest_7_5 extends MIDisassemblyTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,81 @@
|
|||
/*******************************************************************************
|
||||
* 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.dsf.debug.service.IExpressions.IExpressionDMContext;
|
||||
import org.eclipse.cdt.dsf.debug.service.IRunControl.StepType;
|
||||
import org.eclipse.cdt.dsf.debug.service.IStack.IFrameDMContext;
|
||||
import org.eclipse.cdt.dsf.mi.service.command.events.MIStoppedEvent;
|
||||
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_7_4.MIExpressionsTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class MIExpressionsTest_7_5 extends MIExpressionsTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
|
||||
/**
|
||||
* This test verifies that there is proper RTTI support starting with GDB 7.5.
|
||||
*/
|
||||
@Override
|
||||
@Test
|
||||
public void testRTTI() throws Throwable {
|
||||
SyncUtil.runToLocation("testRTTI");
|
||||
MIStoppedEvent stoppedEvent = SyncUtil.step(3, StepType.STEP_OVER);
|
||||
IFrameDMContext frameDmc = SyncUtil.getStackFrame(stoppedEvent.getDMContext(), 0);
|
||||
|
||||
// The expression we will follow as it changes types: derived.ptr
|
||||
IExpressionDMContext exprDmc = SyncUtil.createExpression(frameDmc, "derived.ptr");
|
||||
|
||||
// Now, the expression should be type VirtualBase
|
||||
getExpressionType(exprDmc, "VirtualBase *");
|
||||
getChildrenCount(exprDmc, 2);
|
||||
// get all children
|
||||
String[] expectedValues = new String[2];
|
||||
expectedValues[0] = "a";
|
||||
expectedValues[1] = "b";
|
||||
getChildren(exprDmc, expectedValues);
|
||||
|
||||
// Make the type of our expression change
|
||||
SyncUtil.step(1, StepType.STEP_OVER);
|
||||
// Now, the expression should be type Derived
|
||||
getExpressionType(exprDmc, "Derived *");
|
||||
getChildrenCount(exprDmc, 5);
|
||||
// get all children
|
||||
expectedValues = new String[5];
|
||||
expectedValues[0] = "VirtualBase";
|
||||
expectedValues[1] = "c";
|
||||
expectedValues[2] = "ptr";
|
||||
expectedValues[3] = "d";
|
||||
expectedValues[4] = "e";
|
||||
getChildren(exprDmc, expectedValues);
|
||||
|
||||
// Make the type of our expression change
|
||||
SyncUtil.step(1, StepType.STEP_OVER);
|
||||
// Now, the expression should be type OtherDerived
|
||||
getExpressionType(exprDmc, "OtherDerived *");
|
||||
getChildrenCount(exprDmc, 4);
|
||||
// get all children
|
||||
expectedValues = new String[4];
|
||||
expectedValues[0] = "VirtualBase";
|
||||
expectedValues[1] = "d";
|
||||
expectedValues[2] = "c";
|
||||
expectedValues[3] = "f";
|
||||
getChildren(exprDmc, expectedValues);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/*******************************************************************************
|
||||
* 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.MIMemoryTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class MIMemoryTest_7_5 extends MIMemoryTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/*******************************************************************************
|
||||
* 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.MIRegistersTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class MIRegistersTest_7_5 extends MIRegistersTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/*******************************************************************************
|
||||
* 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.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 MIRunControlNonStopTargetAvailableTest_7_5 extends MIRunControlTargetAvailableTest_7_5 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
setLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_NON_STOP, true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* 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.MIRunControlTargetAvailableTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class MIRunControlTargetAvailableTest_7_5 extends MIRunControlTargetAvailableTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* 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.MIRunControlTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class MIRunControlTest_7_5 extends MIRunControlTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
/*******************************************************************************
|
||||
* 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.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_5 extends OperationsWhileTargetIsRunningTest_7_5 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
setLaunchAttribute(IGDBLaunchConfigurationConstants.ATTR_DEBUGGER_NON_STOP, true);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
/*******************************************************************************
|
||||
* 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.OperationsWhileTargetIsRunningTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class OperationsWhileTargetIsRunningTest_7_5 extends OperationsWhileTargetIsRunningTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
/*******************************************************************************
|
||||
* 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.PostMortemCoreTest_7_4;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@RunWith(BackgroundRunner.class)
|
||||
public class PostMortemCoreTest_7_5 extends PostMortemCoreTest_7_4 {
|
||||
@BeforeClass
|
||||
public static void beforeClassMethod_7_5() {
|
||||
setGdbProgramNamesLaunchAttributes(ITestConstants.SUFFIX_GDB_7_5);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/*******************************************************************************
|
||||
* 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.dsf.mi.service.command.commands.Suite_Sessionless_Tests;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Suite;
|
||||
|
||||
/**
|
||||
* This class is meant to be empty. It enables us to define
|
||||
* the annotations which list all the different JUnit class we
|
||||
* want to run. When creating a new test class, it should be
|
||||
* added to the list below.
|
||||
*
|
||||
* This suite is for tests to be run with GDB 7.5.
|
||||
*/
|
||||
|
||||
@RunWith(Suite.class)
|
||||
@Suite.SuiteClasses({
|
||||
// We need specific name for the tests of this suite, because of bug https://bugs.eclipse.org/172256
|
||||
MIRegistersTest_7_5.class,
|
||||
MIRunControlTest_7_5.class,
|
||||
MIRunControlTargetAvailableTest_7_5.class,
|
||||
MIRunControlNonStopTargetAvailableTest_7_5.class,
|
||||
MIExpressionsTest_7_5.class,
|
||||
MIMemoryTest_7_5.class,
|
||||
MIBreakpointsTest_7_5.class,
|
||||
MICatchpointsTest_7_5.class,
|
||||
MIDisassemblyTest_7_5.class,
|
||||
GDBProcessesTest_7_5.class,
|
||||
LaunchConfigurationAndRestartTest_7_5.class,
|
||||
OperationsWhileTargetIsRunningTest_7_5.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_5.class,
|
||||
PostMortemCoreTest_7_5.class,
|
||||
CommandTimeoutTest_7_5.class,
|
||||
GDBMultiNonStopRunControlTest_7_5.class,
|
||||
Suite_Sessionless_Tests.class,
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
||||
public class Suite_7_5 {}
|
|
@ -0,0 +1,50 @@
|
|||
/*******************************************************************************
|
||||
* 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.dsf.mi.service.command.commands.Suite_Sessionless_Tests;
|
||||
import org.eclipse.cdt.tests.dsf.gdb.framework.BaseRemoteSuite;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.junit.runners.Suite;
|
||||
|
||||
/**
|
||||
* This class is meant to be empty. It enables us to define
|
||||
* the annotations which list all the different JUnit class we
|
||||
* want to run. When creating a new test class, it should be
|
||||
* added to the list below.
|
||||
*
|
||||
* This suite is for tests to be run with GDB 7.5
|
||||
*/
|
||||
|
||||
@RunWith(Suite.class)
|
||||
@Suite.SuiteClasses({
|
||||
// We need specific name for the tests of this suite, because of bug https://bugs.eclipse.org/172256
|
||||
GDBRemoteTracepointsTest_7_5.class,
|
||||
MIRegistersTest_7_5.class,
|
||||
MIRunControlTest_7_5.class,
|
||||
MIRunControlTargetAvailableTest_7_5.class,
|
||||
MIRunControlNonStopTargetAvailableTest_7_5.class,
|
||||
MIExpressionsTest_7_5.class,
|
||||
MIMemoryTest_7_5.class,
|
||||
MIBreakpointsTest_7_5.class,
|
||||
MICatchpointsTest_7_5.class,
|
||||
MIDisassemblyTest_7_5.class,
|
||||
GDBProcessesTest_7_5.class,
|
||||
OperationsWhileTargetIsRunningTest_7_5.class,
|
||||
OperationsWhileTargetIsRunningNonStopTest_7_5.class,
|
||||
CommandTimeoutTest_7_5.class,
|
||||
GDBMultiNonStopRunControlTest_7_5.class,
|
||||
Suite_Sessionless_Tests.class
|
||||
/* Add your test class here */
|
||||
})
|
||||
|
||||
public class Suite_Remote_7_5 extends BaseRemoteSuite {
|
||||
}
|
Loading…
Add table
Reference in a new issue