|
Lines 65-77
Link Here
|
| 65 |
@RunWith(BackgroundRunner.class) |
65 |
@RunWith(BackgroundRunner.class) |
| 66 |
|
66 |
|
| 67 |
public class MIRegistersTest extends BaseTestCase { |
67 |
public class MIRegistersTest extends BaseTestCase { |
| 68 |
|
68 |
|
| 69 |
static final List<String> X86_REGS = new LinkedList<String>(Arrays.asList("eax","ecx","edx","ebx","esp","ebp","esi","edi","eip","eflags","cs","ss","ds","es","fs","gs","st0","st1","st2","st3","st4","st5","st6","st7","fctrl","fstat","ftag","fiseg","fioff","foseg","fooff","fop","xmm0","xmm1","xmm2","xmm3","xmm4","xmm5","xmm6","xmm7","mxcsr","orig_eax","mm0","mm1","mm2","mm3","mm4","mm5","mm6","mm7")); |
69 |
protected List<String> get_X86_REGS() { |
| 70 |
static { |
70 |
List<String> list = new LinkedList<String>(Arrays.asList("eax","ecx","edx","ebx","esp","ebp","esi","edi","eip","eflags", |
|
|
71 |
"cs","ss","ds","es","fs","gs","st0","st1","st2","st3", |
| 72 |
"st4","st5","st6","st7","fctrl","fstat","ftag","fiseg","fioff","foseg", |
| 73 |
"fooff","fop","xmm0","xmm1","xmm2","xmm3","xmm4","xmm5","xmm6","xmm7", |
| 74 |
"mxcsr","orig_eax","mm0","mm1","mm2","mm3","mm4","mm5","mm6","mm7")); |
| 71 |
// On Windows, gdb doesn't report "orig_eax" as a register. Apparently it does on Linux |
75 |
// On Windows, gdb doesn't report "orig_eax" as a register. Apparently it does on Linux |
| 72 |
if (Platform.getOS().equals(Platform.OS_WIN32)) { |
76 |
if (Platform.getOS().equals(Platform.OS_WIN32)) { |
| 73 |
X86_REGS.remove("orig_eax"); |
77 |
list.remove("orig_eax"); |
| 74 |
} |
78 |
} |
|
|
79 |
return list; |
| 75 |
} |
80 |
} |
| 76 |
|
81 |
|
| 77 |
/* |
82 |
/* |
|
Lines 195-201
Link Here
|
| 195 |
|
200 |
|
| 196 |
fWait.waitReset(); |
201 |
fWait.waitReset(); |
| 197 |
|
202 |
|
| 198 |
assertEquals("Wrong number of registers", X86_REGS.size(), regContexts.length); |
203 |
assertEquals("Wrong number of registers", get_X86_REGS().size(), regContexts.length); |
| 199 |
|
204 |
|
| 200 |
return(regContexts); |
205 |
return(regContexts); |
| 201 |
} |
206 |
} |
|
Lines 230-236
Link Here
|
| 230 |
MIStoppedEvent stoppedEvent = getInitialStoppedEvent(); |
235 |
MIStoppedEvent stoppedEvent = getInitialStoppedEvent(); |
| 231 |
IFrameDMContext frameDmc = SyncUtil.getStackFrame(stoppedEvent.getDMContext(), 0); |
236 |
IFrameDMContext frameDmc = SyncUtil.getStackFrame(stoppedEvent.getDMContext(), 0); |
| 232 |
final IRegisterDMContext[] regDMCs = getRegisters(frameDmc); |
237 |
final IRegisterDMContext[] regDMCs = getRegisters(frameDmc); |
| 233 |
assertEquals("Wrong number of registers", X86_REGS.size(), regDMCs.length); |
238 |
assertEquals("Wrong number of registers", get_X86_REGS().size(), regDMCs.length); |
| 234 |
} |
239 |
} |
| 235 |
|
240 |
|
| 236 |
@Test |
241 |
@Test |
|
Lines 238-244
Link Here
|
| 238 |
MIStoppedEvent stoppedEvent = getInitialStoppedEvent(); |
243 |
MIStoppedEvent stoppedEvent = getInitialStoppedEvent(); |
| 239 |
IFrameDMContext frameDmc = SyncUtil.getStackFrame(stoppedEvent.getDMContext(), 0); |
244 |
IFrameDMContext frameDmc = SyncUtil.getStackFrame(stoppedEvent.getDMContext(), 0); |
| 240 |
final IRegisterDMContext[] regDMCs = getRegisters(frameDmc); |
245 |
final IRegisterDMContext[] regDMCs = getRegisters(frameDmc); |
| 241 |
List<String> regNames = X86_REGS; |
246 |
List<String> regNames = get_X86_REGS(); |
| 242 |
|
247 |
|
| 243 |
Query<IRegisterDMData[]> query = new Query<IRegisterDMData[]>() { |
248 |
Query<IRegisterDMData[]> query = new Query<IRegisterDMData[]>() { |
| 244 |
@Override |
249 |
@Override |