diff options
Diffstat (limited to 'dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java')
-rw-r--r-- | dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java | 58 |
1 files changed, 25 insertions, 33 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java index efb542135a7..38cbd2e6691 100644 --- a/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java +++ b/dsf-gdb/org.eclipse.cdt.tests.dsf.gdb/src/org/eclipse/cdt/tests/dsf/gdb/tests/GDBPatternMatchingExpressionsTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Ericsson and others. + * Copyright (c) 2012, 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 @@ -8,6 +8,7 @@ * Contributors: * Marc Khouzam (Ericsson) - Initial Implementation * Marc Khouzam (Ericsson) - Tests for Pattern Matching for variables (Bug 394408) + * Alvaro Sanchez-Leon (Ericsson AB) - Allow user to edit register groups (Bug 235747) *******************************************************************************/ package org.eclipse.cdt.tests.dsf.gdb.tests; @@ -24,9 +25,7 @@ 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.datamodel.CompositeDMContext; import org.eclipse.cdt.dsf.datamodel.DMContexts; -import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.debug.service.IExpressions; import org.eclipse.cdt.dsf.debug.service.IExpressions.IExpressionDMAddress; import org.eclipse.cdt.dsf.debug.service.IExpressions.IExpressionDMContext; @@ -36,9 +35,8 @@ import org.eclipse.cdt.dsf.debug.service.IExpressions3.IExpressionDMDataExtensio import org.eclipse.cdt.dsf.debug.service.IFormattedValues; import org.eclipse.cdt.dsf.debug.service.IFormattedValues.FormattedValueDMContext; import org.eclipse.cdt.dsf.debug.service.IFormattedValues.FormattedValueDMData; -import org.eclipse.cdt.dsf.debug.service.IRegisters; import org.eclipse.cdt.dsf.debug.service.IRegisters.IRegisterDMContext; -import org.eclipse.cdt.dsf.debug.service.IRegisters.IRegisterGroupDMContext; +import org.eclipse.cdt.dsf.debug.service.IRegisters2; import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext; import org.eclipse.cdt.dsf.debug.service.IRunControl.StepType; import org.eclipse.cdt.dsf.debug.service.IStack.IFrameDMContext; @@ -67,7 +65,7 @@ public class GDBPatternMatchingExpressionsTest extends BaseTestCase { private DsfServicesTracker fServicesTracker; protected IMIExpressions fExpService; - protected IRegisters fRegService; + protected IRegisters2 fRegService; @Override protected void setLaunchAttributes() { @@ -88,7 +86,7 @@ public class GDBPatternMatchingExpressionsTest extends BaseTestCase { fExpService = fServicesTracker.getService(IMIExpressions.class); - fRegService = fServicesTracker.getService(IRegisters.class); + fRegService = fServicesTracker.getService(IRegisters2.class); } }; fSession.getExecutor().submit(runnable).get(); @@ -173,33 +171,27 @@ public class GDBPatternMatchingExpressionsTest extends BaseTestCase { Query<String> query = new Query<String>() { @Override protected void execute(final DataRequestMonitor<String> rm) { - fRegService.getRegisterGroups(threadDmc, new ImmediateDataRequestMonitor<IRegisterGroupDMContext[]>(rm) { - @Override - protected void handleSuccess() { - fRegService.getRegisters( - new CompositeDMContext(new IDMContext[] { getData()[0], threadDmc } ), - new ImmediateDataRequestMonitor<IRegisterDMContext[]>(rm) { - @Override - protected void handleSuccess() { - assert getData() instanceof MIRegisterDMC[]; - for (MIRegisterDMC register : (MIRegisterDMC[])getData()) { - if (register.getName().equals(regName)) { - final FormattedValueDMContext valueDmc = fRegService.getFormattedValueContext(register, IFormattedValues.HEX_FORMAT); - fRegService.getFormattedExpressionValue(valueDmc, new ImmediateDataRequestMonitor<FormattedValueDMData>(rm) { - @Override - protected void handleSuccess() { - rm.done(getData().getFormattedValue()); - }; - }); - return; - } - } - // If we get here, we didn't find the register! - assertTrue("Invalid register: " + regName, false); + fRegService.getRegisters(threadDmc, + new ImmediateDataRequestMonitor<IRegisterDMContext[]>(rm) { + @Override + protected void handleSuccess() { + assert getData() instanceof MIRegisterDMC[]; + for (MIRegisterDMC register : (MIRegisterDMC[])getData()) { + if (register.getName().equals(regName)) { + final FormattedValueDMContext valueDmc = fRegService.getFormattedValueContext(register, IFormattedValues.HEX_FORMAT); + fRegService.getFormattedExpressionValue(valueDmc, new ImmediateDataRequestMonitor<FormattedValueDMData>(rm) { + @Override + protected void handleSuccess() { + rm.done(getData().getFormattedValue()); + }; + }); + return; } - }); - } - }); + } + // If we get here, we didn't find the register! + assertTrue("Invalid register: " + regName, false); + } + }); } }; |