mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00
MIRegistersTest fixes
- Fix getModelDataForRegisterDataValueInDifferentNumberFormats failure Nothing seems to set the register we use to do the test to a particular value. The value happened to be 0. This broke the octal test, because it assumes that the result starts with a 0, but has characters after that 0. This is not true when the result is 0. The fix is to set the register to a know value beforehand (0x1234). - Fix compareRegisterForMultipleExecutionContexts for slow targets by adding missing massageTimeout. Change-Id: I681acdeb08f8e3c2fdaf8dc9cf60801584da4423 Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
This commit is contained in:
parent
1386247a0e
commit
6ed3ce5fce
1 changed files with 11 additions and 6 deletions
|
@ -13,6 +13,8 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.cdt.tests.dsf.gdb.tests;
|
||||
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.hamcrest.core.IsEqual.equalTo;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
|
@ -337,22 +339,25 @@ public class MIRegistersTest extends BaseTestCase {
|
|||
MIStoppedEvent stoppedEvent = getInitialStoppedEvent();
|
||||
IFrameDMContext frameDmc = SyncUtil.getStackFrame(stoppedEvent.getDMContext(), 0);
|
||||
|
||||
// Make sure register #0 contains a known value.
|
||||
writeRegister(frameDmc, 0, "0x1234", IFormattedValues.HEX_FORMAT);
|
||||
|
||||
String val = getModelDataForRegisterDataValue(frameDmc, IFormattedValues.NATURAL_FORMAT, 0);
|
||||
Long.parseLong(val);
|
||||
assertThat(Long.parseLong(val), equalTo(0x1234L));
|
||||
|
||||
val = getModelDataForRegisterDataValue(frameDmc, IFormattedValues.HEX_FORMAT, 0);
|
||||
assertTrue("Register Value is not in HEX_FORMAT: " + val, val.startsWith("0x"));
|
||||
Long.parseLong(val.substring(2), 16);
|
||||
assertThat(Long.parseLong(val.substring(2), 16), equalTo(0x1234L));
|
||||
|
||||
val = getModelDataForRegisterDataValue(frameDmc, IFormattedValues.BINARY_FORMAT, 0);
|
||||
Long.parseLong(val, 2);
|
||||
assertThat(Long.parseLong(val, 2), equalTo(0x1234L));
|
||||
|
||||
val = getModelDataForRegisterDataValue(frameDmc, IFormattedValues.DECIMAL_FORMAT, 0);
|
||||
Long.parseLong(val);
|
||||
assertThat(Long.parseLong(val), equalTo(0x1234L));
|
||||
|
||||
val = getModelDataForRegisterDataValue(frameDmc, IFormattedValues.OCTAL_FORMAT, 0);
|
||||
assertTrue("Register Value is not in OCTAL_FORMAT: " + val, val.startsWith("0"));
|
||||
Long.parseLong(val.substring(1), 8);
|
||||
assertThat(Long.parseLong(val.substring(1), 8), equalTo(0x1234L));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -372,7 +377,7 @@ public class MIRegistersTest extends BaseTestCase {
|
|||
|
||||
fRegService.getExecutor().submit(queryExecutionContexts);
|
||||
|
||||
IExecutionDMContext[] ctxts = queryExecutionContexts.get(500, TimeUnit.MILLISECONDS);
|
||||
IExecutionDMContext[] ctxts = queryExecutionContexts.get(TestsPlugin.massageTimeout(500), TimeUnit.MILLISECONDS);
|
||||
|
||||
assertNotNull(ctxts);
|
||||
assertTrue(ctxts.length > 1);
|
||||
|
|
Loading…
Add table
Reference in a new issue